VMime
message Class Referenceabstract
Inheritance diagram for message:
Collaboration diagram for message:

Classes

class  uid
 

Public Types

enum  Flags {
  FLAG_SEEN = (1 << 0), FLAG_RECENT = (1 << 1), FLAG_DELETED = (1 << 2), FLAG_REPLIED = (1 << 3),
  FLAG_MARKED = (1 << 4), FLAG_PASSED = (1 << 5), FLAG_DRAFT = (1 << 6)
}
 
enum  FlagsModes { FLAG_MODE_SET, FLAG_MODE_ADD, FLAG_MODE_REMOVE }
 

Public Member Functions

virtual ~message ()
 
virtual shared_ptr< const
messageStructure
getStructure () const =0
 
virtual shared_ptr
< messageStructure
getStructure ()=0
 
virtual shared_ptr< const headergetHeader () const =0
 
virtual int getNumber () const =0
 
virtual const uid getUID () const =0
 
virtual size_t getSize () const =0
 
virtual bool isExpunged () const =0
 
virtual int getFlags () const =0
 
virtual void setFlags (const int flags, const int mode=FLAG_MODE_SET)=0
 
virtual void extract (utility::outputStream &os, utility::progressListener *progress=NULL, const size_t start=0, const size_t length=-1, const bool peek=false) const =0
 
virtual void extractPart (shared_ptr< const messagePart > p, utility::outputStream &os, utility::progressListener *progress=NULL, const size_t start=0, const size_t length=-1, const bool peek=false) const =0
 
virtual void fetchPartHeader (shared_ptr< messagePart > p)=0
 
virtual shared_ptr
< vmime::message
getParsedMessage ()=0
 

Protected Types

enum  PrivateConstants { FLAG_UNDEFINED = 9999 }
 

Protected Member Functions

 message ()
 
 message (const message &)
 
- Protected Member Functions inherited from object
 object ()
 
 object (const object &)
 
objectoperator= (const object &)
 
virtual ~object ()
 

Detailed Description

Abstract representation of a message in a store/transport service.

Member Enumeration Documentation

enum Flags

Possible flags for a message.

Enumerator
FLAG_SEEN 

Message has been seen.

FLAG_RECENT 

Message has been recently received.

FLAG_DELETED 

Message is marked for deletion.

FLAG_REPLIED 

User replied to this message.

FLAG_MARKED 

Used-defined flag.

FLAG_PASSED 

Message has been resent/forwarded/bounced.

FLAG_DRAFT 

Message is marked as a 'draft'.

enum FlagsModes

Methods for setting the flags.

Enumerator
FLAG_MODE_SET 

Set (replace) the flags.

FLAG_MODE_ADD 

Add the flags.

FLAG_MODE_REMOVE 

Remove the flags.

enum PrivateConstants
protected
Enumerator
FLAG_UNDEFINED 

Used internally to indicate flags have not been initialized yet.

Constructor & Destructor Documentation

message ( )
protected
message ( const message )
protected
virtual ~message ( )
virtual

Member Function Documentation

virtual void extract ( utility::outputStream os,
utility::progressListener progress = NULL,
const size_t  start = 0,
const size_t  length = -1,
const bool  peek = false 
) const
pure virtual

Extract the whole message data (header + contents).

Warning
Partial fetch might not be supported by the underlying protocol.
Parameters
osoutput stream in which to write message data
progressprogress listener, or NULL if not used
startindex of the first byte to retrieve (used for partial fetch)
lengthnumber of bytes to retrieve (used for partial fetch)
peekif true, try not to mark the message as read. This may not be supported by the protocol (IMAP supports this), but it will NOT throw an exception if not supported.

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual void extractPart ( shared_ptr< const messagePart p,
utility::outputStream os,
utility::progressListener progress = NULL,
const size_t  start = 0,
const size_t  length = -1,
const bool  peek = false 
) const
pure virtual

Extract the specified MIME part of the message (header + contents).

Warning
Partial fetch might not be supported by the underlying protocol.
Parameters
ppart to extract
osoutput stream in which to write part data
progressprogress listener, or NULL if not used
startindex of the first byte to retrieve (used for partial fetch)
lengthnumber of bytes to retrieve (used for partial fetch)
peekif true, try not to mark the message as read. This may not be supported by the protocol (IMAP supports this), but it will NOT throw an exception if not supported.

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual void fetchPartHeader ( shared_ptr< messagePart p)
pure virtual

Fetch the MIME header for the specified part.

Parameters
pthe part for which to fetch the header

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual int getFlags ( ) const
pure virtual

Return the flags of this message.

Returns
flags of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual shared_ptr<const header> getHeader ( ) const
pure virtual

Return a reference to the header fields of the message (must fetch before).

Returns
header section of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual int getNumber ( ) const
pure virtual

Return the sequence number of this message.

This number is used to reference the message in the folder.

Returns
sequence number of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual shared_ptr<vmime::message> getParsedMessage ( )
pure virtual

Get the RFC-822 message for this abstract message.

Warning: This may require getting some data (ie: structure and headers) from the server, which is done automatically. Actual message contents (ie: body) will not be fetched if possible (IMAP allows it, whereas POP3 will require to fetch the whole message).

Returns
a RFC-822-parsed message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual size_t getSize ( ) const
pure virtual

Return the size of the message (must fetch before).

Returns
size of the message (in bytes)

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual shared_ptr<const messageStructure> getStructure ( ) const
pure virtual

Return the MIME structure of the message (must fetch before).

Returns
MIME structure of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual shared_ptr<messageStructure> getStructure ( )
pure virtual

Return the MIME structure of the message (must fetch before).

Returns
MIME structure of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual const uid getUID ( ) const
pure virtual

Return the unique identifier (UID) of this message in its folder (must fetch before).

Returns
UID of the message

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual bool isExpunged ( ) const
pure virtual

Check whether this message has been expunged (ie: definitively deleted) and does not exist in the folder anymore.

Returns
true if the message is expunged, false otherwise

Implemented in IMAPMessage, POP3Message, and maildirMessage.

virtual void setFlags ( const int  flags,
const int  mode = FLAG_MODE_SET 
)
pure virtual

Set the flags of this message.

Parameters
flagsset of flags (see Flags)
modeindicate how to treat old and new flags (see FlagsModes)

Implemented in IMAPMessage, POP3Message, and maildirMessage.


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