Dacons LLP Mailit for C/C++ Version 1.0.8

MessagePartEnumerator Class Reference

MessagePartEnumerator class. More...

#include <MessagePartEnumerator.hpp>

Inheritance diagram for MessagePartEnumerator:

Emai::MessagePartEnumerator List of all members.

Public Member Functions

 MessagePartEnumerator (const Emai::Message &inMessage)
const Emai::UniStringGetSubject ()
 Return the pointer to the message subject.
Emai::ContactListGetContacts (EmaiOptions inOptions)
 Return list of the message contacts.
void GetText (Emai::String &outText)
 Return the message plain text data and its length.
void GetUnicodeText (Emai::UniString &outText)
 Return the message Unicode text data and its length.
void GetHtml (Emai::String &outHtml)
 Return the message HTML data and its length.
EmaiUint32 GetAttachmentsCount ()
 Return the number of elements in the attachments list.
void GetAttachmentAtIndex (const EmaiUint32 inIndex, Emai::UniString &outFileName, EmaiCharPtr outBuffer, EmaiUint32 &ioLength)
 Return the message attachment data and its length.
bool SaveAttachmentAtIndex (const bool inIsInline, const EmaiUint32 inIndex, EmaiConstUniCharPtr inPath, EmaiConstUniCharPtr inNewName)
 Saves attachment to the file system.
EmaiUint32 GetInlinesCount ()
 Return the number of elements in the inline attachments list.
void GetInlineAtIndex (const EmaiUint32 inIndex, Emai::UniString &outName, Emai::UniString &outContentID, EmaiCharPtr outBuffer, EmaiUint32 &ioLength)
 Returns the message inline attachment data and its length.
EmaiUint32 GetTextPartsCount ()
 Return the number of elements in the text parts list.
void GetUnicodeTextAtIndex (const EmaiUint32 inIndex, Emai::UniString &outText)
 Return the message Unicode text data and its length.
void GetTextAtIndex (const EmaiUint32 inIndex, Emai::String &outText)
 Return the message plain text data and its length.

Protected Types

typedef std::vector< Emai::MessagePartMessagePartArray

Protected Member Functions

virtual void OnContacts (Emai::ContactList inContactList, EmaiOptions inOptions)
 Handle the contact fields receiving.
virtual void OnSubject (EmaiConstUniCharPtr inSubject)
 Handle the message subject field receiving.
virtual void OnPlainTextPart (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the message plain text part receiving.
virtual void OnUnicodePlainTextPart (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the message unicode text part receiving.
virtual void OnHtmlTextPart (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the message HTML text part receiving.
virtual void OnDataPart (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the message data receiving event.
virtual void OnCompositePartStart (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the composite message part receive beginning.
virtual void OnCompositePartEnd (Emai::MessagePart &inPart, const EmaiPartData &inPartData)
 Handle the composite message part receive ending.
virtual void OnPart (const EmaiPartData &inPartData)
 Handle the message part receiving event.
Emai::ContactListGetContactStorage (EmaiOptions inOptions)
 Return contact storage object.
EmaiConstUniCharPtr GetFileName (const EmaiPartData &inPartData)
 Return attachment file name for current part data.
void GenerateFileName (Emai::MessagePart &inPart, Emai::UniString &outFileName)
 Generate filename for part which does't have filename specified in header. Generated filename is based on internal counter saved as user data in the message part.
void AppendPathDelimiter (Emai::UniString &ioPath)
 Return string with backslash at the end.
FILE * OpenAttachmentFile (const Emai::UniString &inFilePath)
 Opens file with "w+b" mode.
virtual void PreProcessMessageParts ()
 Called whenever message parts are about to be enumerated. Initializes counter for attachments without filename.
virtual void PostProcessMessageParts ()
 Called whenever message parts are enumerated. Removes unused user data from mMessage.

Protected Attributes

Emai::UniString mSubject
Emai::ContactList mContactFrom
Emai::ContactList mContactTo
Emai::ContactList mContactSender
Emai::ContactList mContactReplyTo
Emai::ContactList mContactBCC
Emai::ContactList mContactCC
Emai::MessagePart mHtmlPart
MessagePartArray mAttachments
MessagePartArray mInlines
MessagePartArray mTextParts

Detailed Description

MessagePartEnumerator class.

Definition at line 25 of file MessagePartEnumerator.hpp.


Member Function Documentation

virtual void MessagePartEnumerator::OnContacts ( Emai::ContactList  inContactList,
EmaiOptions  inOptions 
) [protected, virtual]

Handle the contact fields receiving.

Parameters:
inContacts - pointer to the array of the EmaiContact elements
inContactsCount - size of the array of the EmaiContact elements
inOptions - type of the contact field

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessContacts().

virtual void MessagePartEnumerator::OnSubject ( EmaiConstUniCharPtr  inSubject  )  [protected, virtual]

Handle the message subject field receiving.

Parameters:
inSubject - pointer to the subject data of the messaage

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessHeaderFields().

virtual void MessagePartEnumerator::OnPlainTextPart ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the message plain text part receiving.

Parameters:
inPart - reference to the message text part
inPartData - not used

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnUnicodePlainTextPart ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the message unicode text part receiving.

Parameters:
inPart - reference to the message unicode text part
inPartData - not used

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnHtmlTextPart ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the message HTML text part receiving.

Parameters:
inPart - reference to the meesage HTML part
inPartData - not used

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnDataPart ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the message data receiving event.

Parameters:
inPart - reference to the message data
inPartData - reference to the message part data

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnCompositePartStart ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the composite message part receive beginning.

Parameters:
inPartData - reference to the message part data
inPartData - not used

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnCompositePartEnd ( Emai::MessagePart inPart,
const EmaiPartData inPartData 
) [protected, virtual]

Handle the composite message part receive ending.

Parameters:
inPart - not used
inPartData - reference to the message part data

Implements Emai::MessagePartEnumerator.

Referenced by Emai::MessagePartEnumerator::ProcessMessagePart().

virtual void MessagePartEnumerator::OnPart ( const EmaiPartData inPartData  )  [protected, virtual]

Handle the message part receiving event.

Parameters:
inPartData - not used

Emai::ContactList& MessagePartEnumerator::GetContactStorage ( EmaiOptions  inOptions  )  [protected]

Return contact storage object.

Parameters:
inOptions - contact type (EmaiFrom, EmaiTo etc)
Returns:
ContactList object

EmaiConstUniCharPtr MessagePartEnumerator::GetFileName ( const EmaiPartData inPartData  )  [protected]

Return attachment file name for current part data.

Parameters:
inPartData - part data struct
Returns:
file name pointer, or NULL if filename is not specified in part header

void MessagePartEnumerator::GenerateFileName ( Emai::MessagePart inPart,
Emai::UniString outFileName 
) [protected]

Generate filename for part which does't have filename specified in header. Generated filename is based on internal counter saved as user data in the message part.

Parameters:
inPart - message part filename to be generated to.
Returns:

void MessagePartEnumerator::AppendPathDelimiter ( Emai::UniString ioPath  )  [protected]

Return string with backslash at the end.

Parameters:
ioPath - string with or without path delimiter at the end
Returns:

FILE* MessagePartEnumerator::OpenAttachmentFile ( const Emai::UniString inFilePath  )  [protected]

Opens file with "w+b" mode.

Parameters:
inFilePath - path of the file to be opened
Returns:
FILE pointer or NULL if file cannot be opened

const Emai::UniString& MessagePartEnumerator::GetSubject (  ) 

Return the pointer to the message subject.

Returns:
pointer to the message subject

Emai::ContactList& MessagePartEnumerator::GetContacts ( EmaiOptions  inOptions  ) 

Return list of the message contacts.

Parameters:
inOptions - type of the message contact
Returns:
ContactList object

void MessagePartEnumerator::GetText ( Emai::String outText  ) 

Return the message plain text data and its length.

Parameters:
outText - on output contains message plain text

void MessagePartEnumerator::GetUnicodeText ( Emai::UniString outText  ) 

Return the message Unicode text data and its length.

Parameters:
outText - on output contains message Unicode plain text

void MessagePartEnumerator::GetHtml ( Emai::String outHtml  ) 

Return the message HTML data and its length.

Parameters:
outHtml - on output contains message HTML text

EmaiUint32 MessagePartEnumerator::GetAttachmentsCount (  ) 

Return the number of elements in the attachments list.

Returns:
the number of elements in the attachments list

void MessagePartEnumerator::GetAttachmentAtIndex ( const EmaiUint32  inIndex,
Emai::UniString outFileName,
EmaiCharPtr  outBuffer,
EmaiUint32 &  ioLength 
)

Return the message attachment data and its length.

Parameters:
inIndex - index of the attachment to be returned
outFileName - attachment name
outBuffer - buffer to store the data
ioLength - the size of the outBuffer; on exit contains the data length

bool MessagePartEnumerator::SaveAttachmentAtIndex ( const bool  inIsInline,
const EmaiUint32  inIndex,
EmaiConstUniCharPtr  inPath,
EmaiConstUniCharPtr  inNewName 
)

Saves attachment to the file system.

Parameters:
inIsInline - chose inline or ordinary attachment
inIndex - index of the attachment to be saved
inPath - file system path for saving
inNewName - user defined name for attachment (can be NULL)
Returns:
true if successfully saved, otherwise false

EmaiUint32 MessagePartEnumerator::GetInlinesCount (  ) 

Return the number of elements in the inline attachments list.

Returns:
the number of elements in the inline attachments list

void MessagePartEnumerator::GetInlineAtIndex ( const EmaiUint32  inIndex,
Emai::UniString outName,
Emai::UniString outContentID,
EmaiCharPtr  outBuffer,
EmaiUint32 &  ioLength 
)

Returns the message inline attachment data and its length.

Parameters:
inIndex - index of the inline to be returned
outName - inline name
outContentID - inline Content ID
outBuffer - buffer to store the data
ioLength - the size of the outBuffer; on exit contains the data length

EmaiUint32 MessagePartEnumerator::GetTextPartsCount (  ) 

Return the number of elements in the text parts list.

Returns:
the number of elements in the text parts list

void MessagePartEnumerator::GetUnicodeTextAtIndex ( const EmaiUint32  inIndex,
Emai::UniString outText 
)

Return the message Unicode text data and its length.

Parameters:
inIndex - index of the text part to be returned
outText - string to store text

void MessagePartEnumerator::GetTextAtIndex ( const EmaiUint32  inIndex,
Emai::String outText 
)

Return the message plain text data and its length.

Parameters:
inIndex - index of the text part to be returned
outText - string to store text


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