diff options
Diffstat (limited to '')
-rw-r--r-- | vmime/contentHandler.hpp | 10 | ||||
-rw-r--r-- | vmime/emptyContentHandler.hpp | 1 | ||||
-rw-r--r-- | vmime/streamContentHandler.hpp | 1 | ||||
-rw-r--r-- | vmime/stringContentHandler.hpp | 1 |
4 files changed, 13 insertions, 0 deletions
diff --git a/vmime/contentHandler.hpp b/vmime/contentHandler.hpp index 7f491f2e..45cbb48e 100644 --- a/vmime/contentHandler.hpp +++ b/vmime/contentHandler.hpp @@ -63,10 +63,20 @@ public: /** Extract the contents into the specified stream. If needed, data * will be decoded before being written into the stream. * + * @throw exceptions::no_encoder_available if the encoding is + * not supported * @param os output stream */ 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 * length was specified when setting data of this object. * diff --git a/vmime/emptyContentHandler.hpp b/vmime/emptyContentHandler.hpp index ca44a12c..cee2fcbb 100644 --- a/vmime/emptyContentHandler.hpp +++ b/vmime/emptyContentHandler.hpp @@ -39,6 +39,7 @@ public: void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const; void extract(utility::outputStream& os) const; + void extractRaw(utility::outputStream& os) const; const string::size_type getLength() const; diff --git a/vmime/streamContentHandler.hpp b/vmime/streamContentHandler.hpp index 15ae280f..1dfa4071 100644 --- a/vmime/streamContentHandler.hpp +++ b/vmime/streamContentHandler.hpp @@ -48,6 +48,7 @@ public: void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const; void extract(utility::outputStream& os) const; + void extractRaw(utility::outputStream& os) const; const string::size_type getLength() const; diff --git a/vmime/stringContentHandler.hpp b/vmime/stringContentHandler.hpp index 1d75ceba..f3e905fa 100644 --- a/vmime/stringContentHandler.hpp +++ b/vmime/stringContentHandler.hpp @@ -66,6 +66,7 @@ public: void generate(utility::outputStream& os, const vmime::encoding& enc, const string::size_type maxLineLength = lineLengthLimits::infinite) const; void extract(utility::outputStream& os) const; + void extractRaw(utility::outputStream& os) const; const string::size_type getLength() const; |