Added contentHandler::extractRaw().
This commit is contained in:
parent
919a64a803
commit
53f96cdb75
@ -2,6 +2,11 @@
|
|||||||
VERSION 0.7.2cvs
|
VERSION 0.7.2cvs
|
||||||
================
|
================
|
||||||
|
|
||||||
|
2005-07-06 Vincent Richard <vincent@vincent-richard.net>
|
||||||
|
|
||||||
|
* *contentHandler.{hpp|cpp}: added extractRaw() method to allow extracting
|
||||||
|
data without performing any decoding.
|
||||||
|
|
||||||
2005-06-22 Vincent Richard <vincent@vincent-richard.net>
|
2005-06-22 Vincent Richard <vincent@vincent-richard.net>
|
||||||
|
|
||||||
* Started version 0.7.2.
|
* Started version 0.7.2.
|
||||||
|
@ -48,6 +48,12 @@ void emptyContentHandler::extract(utility::outputStream& /* os */) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void emptyContentHandler::extractRaw(utility::outputStream& /* os */) const
|
||||||
|
{
|
||||||
|
// Nothing to do.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const string::size_type emptyContentHandler::getLength() const
|
const string::size_type emptyContentHandler::getLength() const
|
||||||
{
|
{
|
||||||
return (0);
|
return (0);
|
||||||
|
@ -179,6 +179,20 @@ void streamContentHandler::extract(utility::outputStream& os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void streamContentHandler::extractRaw(utility::outputStream& os) const
|
||||||
|
{
|
||||||
|
if (m_stream == NULL && m_ownedStream.ptr() == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
utility::inputStream& in = const_cast <utility::inputStream&>
|
||||||
|
(*(m_stream ? m_stream : m_ownedStream.ptr()));
|
||||||
|
|
||||||
|
in.reset(); // may not work...
|
||||||
|
|
||||||
|
utility::bufferedStreamCopy(in, os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const string::size_type streamContentHandler::getLength() const
|
const string::size_type streamContentHandler::getLength() const
|
||||||
{
|
{
|
||||||
return (m_length);
|
return (m_length);
|
||||||
|
@ -165,6 +165,12 @@ void stringContentHandler::extract(utility::outputStream& os) const
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void stringContentHandler::extractRaw(utility::outputStream& os) const
|
||||||
|
{
|
||||||
|
m_string.extract(os);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const string::size_type stringContentHandler::getLength() const
|
const string::size_type stringContentHandler::getLength() const
|
||||||
{
|
{
|
||||||
return (m_string.length());
|
return (m_string.length());
|
||||||
|
@ -63,10 +63,20 @@ public:
|
|||||||
/** Extract the contents into the specified stream. If needed, data
|
/** Extract the contents into the specified stream. If needed, data
|
||||||
* will be decoded before being written into the stream.
|
* will be decoded before being written into the stream.
|
||||||
*
|
*
|
||||||
|
* @throw exceptions::no_encoder_available if the encoding is
|
||||||
|
* not supported
|
||||||
* @param os output stream
|
* @param os output stream
|
||||||
*/
|
*/
|
||||||
virtual void extract(utility::outputStream& os) const = 0;
|
virtual void extract(utility::outputStream& os) const = 0;
|
||||||
|
|
||||||
|
/** Extract the contents into the specified stream, without
|
||||||
|
* decoding it. It may be useful in case the encoding is not
|
||||||
|
* supported and you want to extract raw data.
|
||||||
|
*
|
||||||
|
* @param os output stream
|
||||||
|
*/
|
||||||
|
virtual void extractRaw(utility::outputStream& os) const = 0;
|
||||||
|
|
||||||
/** Returns the actual length of data. WARNING: this can return 0 if no
|
/** Returns the actual length of data. WARNING: this can return 0 if no
|
||||||
* length was specified when setting data of this object.
|
* length was specified when setting data of this object.
|
||||||
*
|
*
|
||||||
|
@ -39,6 +39,7 @@ public:
|
|||||||
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
||||||
|
|
||||||
void extract(utility::outputStream& os) const;
|
void extract(utility::outputStream& os) const;
|
||||||
|
void extractRaw(utility::outputStream& os) const;
|
||||||
|
|
||||||
const string::size_type getLength() const;
|
const string::size_type getLength() const;
|
||||||
|
|
||||||
|
@ -48,6 +48,7 @@ public:
|
|||||||
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
||||||
|
|
||||||
void extract(utility::outputStream& os) const;
|
void extract(utility::outputStream& os) const;
|
||||||
|
void extractRaw(utility::outputStream& os) const;
|
||||||
|
|
||||||
const string::size_type getLength() const;
|
const string::size_type getLength() const;
|
||||||
|
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const;
|
||||||
|
|
||||||
void extract(utility::outputStream& os) const;
|
void extract(utility::outputStream& os) const;
|
||||||
|
void extractRaw(utility::outputStream& os) const;
|
||||||
|
|
||||||
const string::size_type getLength() const;
|
const string::size_type getLength() const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user