VMime
IMAPMessagePartContentHandler Class Reference
Inheritance diagram for IMAPMessagePartContentHandler:
Collaboration diagram for IMAPMessagePartContentHandler:

Public Member Functions

 IMAPMessagePartContentHandler (shared_ptr< IMAPMessage > msg, shared_ptr< messagePart > part, const vmime::encoding &encoding)
 
shared_ptr< contentHandlerclone () const
 
void generate (utility::outputStream &os, const vmime::encoding &enc, const size_t maxLineLength=lineLengthLimits::infinite) const
 
void extract (utility::outputStream &os, utility::progressListener *progress=NULL) const
 
void extractRaw (utility::outputStream &os, utility::progressListener *progress=NULL) const
 
size_t getLength () const
 
bool isEncoded () const
 
const vmime::encodinggetEncoding () const
 
bool isEmpty () const
 
bool isBuffered () const
 
void setContentTypeHint (const mediaType &type)
 
const mediaType getContentTypeHint () const
 
- Public Member Functions inherited from contentHandler
virtual ~contentHandler ()
 

Additional Inherited Members

- Static Public Attributes inherited from contentHandler
static const vmime::encoding NO_ENCODING
 
- Protected Member Functions inherited from object
 object ()
 
 object (const object &)
 
objectoperator= (const object &)
 
virtual ~object ()
 

Constructor & Destructor Documentation

IMAPMessagePartContentHandler ( shared_ptr< IMAPMessage msg,
shared_ptr< messagePart part,
const vmime::encoding encoding 
)

Member Function Documentation

shared_ptr< contentHandler > clone ( ) const
virtual

Return a copy of this object.

Returns
copy of this object

Implements contentHandler.

void extract ( utility::outputStream os,
utility::progressListener progress = NULL 
) const
virtual

Extract the contents into the specified stream.

If needed, data will be decoded before being written into the stream.

Exceptions
exceptions::no_encoder_availableif the encoding is not supported
Parameters
osoutput stream
progressprogress listener, or NULL if you do not want to receive progress notifications

Implements contentHandler.

void extractRaw ( utility::outputStream os,
utility::progressListener progress = NULL 
) const
virtual

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.

Parameters
osoutput stream
progressprogress listener, or NULL if you do not want to receive progress notifications

Implements contentHandler.

void generate ( utility::outputStream os,
const vmime::encoding enc,
const size_t  maxLineLength = lineLengthLimits::infinite 
) const
virtual

Output the contents into the specified stream.

Data will be encoded before being written into the stream. This is used internally by the body object to generate the message, you may not need to use this (see contentHandler::extract() if you want to get the contents).

Parameters
osoutput stream
encencoding for output
maxLineLengthmaximum line length for output

Implements contentHandler.

References encoding::getEncoder(), and vmime::mediaTypes::TEXT.

const mediaType getContentTypeHint ( ) const
virtual

Returns a hint about the kind of data managed by this object.

Returns
type content media type

Implements contentHandler.

const vmime::encoding & getEncoding ( ) const
virtual

Returns the encoding used for data (or "binary" if not encoded).

Returns
encoding used for data

Implements contentHandler.

size_t getLength ( ) const
virtual

Returns the actual length of data.

WARNING: this can return 0 if no length was specified when setting data of this object, or if the length is not known).

Returns
length of data

Implements contentHandler.

Referenced by IMAPMessagePartContentHandler::isEmpty().

bool isBuffered ( ) const
virtual

Indicates whether the extract() method can be called multiple times.

Returns
true if the data can be extracted multiple times, or false if not (ie. streamed data from socket)

Implements contentHandler.

bool isEmpty ( ) const
virtual

Returns 'true' if there is no data set.

Returns
true if no data is managed by this object, false otherwise

Implements contentHandler.

References IMAPMessagePartContentHandler::getLength().

bool isEncoded ( ) const
virtual

Returns 'true' if data managed by this object is encoded.

Returns
true if data is encoded, false otherwise

Implements contentHandler.

References contentHandler::NO_ENCODING.

void setContentTypeHint ( const mediaType type)
virtual

Gives a hint about the kind of data managed by this object.

Parameters
typecontent media type

Implements contentHandler.


The documentation for this class was generated from the following files: