CImEmailMessage Class Reference

#include <mw/miutmsg.h>

class CImEmailMessage : public CMsgActive, public MImURITranslator
Public Member Enumerations
enumTImAttachmentType { EAllAttachments, EVCards, EVCalendars, EVEntries, ..., EICalendars }
enumTImEmailEntryType { EThisMessageOnly, EThisMessageAndEmbeddedMessages }
Public Member Functions
~CImEmailMessage()
voidAddAttachmentL(const TDesC &, CMsvAttachment *, TRequestStatus &)
voidAddAttachmentL(RFile &, CMsvAttachment *, TRequestStatus &)
voidAddEntryAsAttachmentL(TMsvId, CMsvAttachment *, TRequestStatus &)
voidAddLinkedAttachmentL(const TDesC &, CMsvAttachment *, TRequestStatus &)
IMPORT_C voidAddRelatedPartL(TMsvId, const TDesC &, TRequestStatus &, TMsvId, const TDesC8 &)
voidAppendEntryAttachmentInfoL()
const RPointerArray< CMsvAttachment > &AttachmentInfoSelection()
IMPORT_C MMsvAttachmentManager &AttachmentManager()
voidCheckEntryAndResetRemoveMessageL(TMsvId)
voidCheckEntryAndResetStoreMessageL(TMsvId)
CImMimeHeader *ConvertToImMimeHeadersL(CMsvMimeHeaders *)
CMsvMimeHeaders *ConvertToMsvMimeHeadersL(CImMimeHeader *)
voidCreateAttachmentL(const TDesC &, RFile &, CMsvAttachment *, TRequestStatus &)
voidDoGetAttachmentsListL(TMsvId, TImAttachmentType, TImEmailEntryType)
voidDoGetBodyTextInitL(TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer &)
voidDoSetActive(TRequestStatus &)
TMsvId EmailEntryId()
IMPORT_C voidFindFirstHTMLPageFileHandleL(TMsvId, TRequestStatus &)
IMPORT_C voidFindFirstHTMLPageL(TMsvId, TRequestStatus &)
virtual IMPORT_C voidFindUniversalResourceIdentifierFileHandleL(TMsvId, const TDesC &, const TDesC &, TRequestStatus &)
virtual IMPORT_C voidFindUniversalResourceIdentifierL(TMsvId, const TDesC &, const TDesC &, TRequestStatus &)
IMPORT_C voidGetAttachmentsListL(TRequestStatus &, TMsvId, TImAttachmentType, TImEmailEntryType)
IMPORT_C voidGetAttachmentsListL(TMsvId, TImAttachmentType, TImEmailEntryType)
IMPORT_C voidGetBodyTextEntryIdL(TRequestStatus &, TMsvId, TImEmailEntryType)
IMPORT_C voidGetBodyTextEntryIdL(TMsvId, TImEmailEntryType)
IMPORT_C voidGetBodyTextL(TRequestStatus &, TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer &)
IMPORT_C voidGetBodyTextL(TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer &)
IMPORT_C voidGetCharacterSetL(TMsvId, TUint &, TBool &)
IMPORT_C voidGetMessageDigestEntriesL(TRequestStatus &, TMsvId)
virtual IMPORT_C TIntGetUniversalResourceIdentifierFileHandle(TMsvId &, RFile &)
virtual IMPORT_C HBufC *GetUniversalResourceIdentifierL(TMsvId &, TBool &)
IMPORT_C CImEmailMessage *NewL(CMsvEntry &)
IMPORT_C CImEmailMessage *NewLC(CMsvEntry &)
IMPORT_C CImPlainBodyText *OpenPlainBodyTextForReadL(TImEmailEntryType, TInt)
IMPORT_C CImPlainBodyText *OpenPlainBodyTextForWriteL()
IMPORT_C const TDesC8 &ProgressL()
voidRemoveAttachedMessageL(TMsvAttachmentId, TRequestStatus &)
voidRemoveAttachmentL(TMsvAttachmentId, TRequestStatus &)
IMPORT_C const CMsvEntrySelection &Selection()
IMPORT_C voidSetCharacterSetL(TMsvId, TUint)
IMPORT_C voidStoreBodyTextL(TMsvId, CRichText &, TRequestStatus &)
IMPORT_C voidStoreBodyTextL(TMsvId, CRichText &, TRequestStatus &, TBool)
IMPORT_C voidStoreBodyTextWithMimeHeaderL(TMsvId, CRichText &, const CImMimeHeader &, TRequestStatus &)
Inherited Attributes
CActive::iStatus
Inherited Enumerations
CActive:TPriority
Inherited Functions
CActive::CActive(TInt)
CActive::Cancel()
CActive::Deque()
CActive::Extension_(TUint,TAny *&,TAny *)
CActive::IsActive()const
CActive::IsAdded()const
CActive::Priority()const
CActive::RunError(TInt)
CActive::SetActive()
CActive::SetPriority(TInt)
CActive::~CActive()
CBase::CBase()
CBase::Delete(CBase *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CMsgActive::CMsgActive(TInt)
CMsgActive::Complete(TInt)
CMsgActive::Queue(TRequestStatus &)
CMsgActive::~CMsgActive()

Detailed Description

This class can be used to manipulate new emails that have been created using CImEmailOperation when composing a message.

Use an instance of this class to add attachments, MHTML parts, body text, and existing messages to a new message before it is to be sent.

This class can also be used to retrieve the body text, list of attachments, and embedded messages from emails that have been downloaded and stored within the message store.

If the store_8bit_body_text flag in imcm.rss is enabled, an instance of this class can be used to retrieve the original body text character set for a particular message. It can also be used to override the original body text character set so it will be decoded in a new character set next time it is viewed.

See also: CImEmailOperation

Member Enumeration Documentation

Enum TImAttachmentType

Flags to specify types of attachment.

EnumeratorValueDescription
EAllAttachments0

All attachments.

EVCards

VCards.

EVCalendars

VCalendars.

EVEntries

VCards, VCalendars and ICalendars.

EEncrypted

Encrypted.

ESigned

Signed.

ESecure

Secure.

EICalendars

ICalendars.

Enum TImEmailEntryType

Flags that specify to process on any messages embedded in this message.

EnumeratorValueDescription
EThisMessageOnly

Do not process embedded messages.

EThisMessageAndEmbeddedMessages

Process embedded messages.

Constructor & Destructor Documentation

~CImEmailMessage ( )

IMPORT_C~CImEmailMessage()

Destructor.

Member Function Documentation

AddAttachmentL ( const TDesC &, CMsvAttachment *, TRequestStatus & )

voidAddAttachmentL(const TDesC &aFilePath,
CMsvAttachment *aAttachmentInfo,
TRequestStatus &aStatus
)

AddAttachmentL ( RFile &, CMsvAttachment *, TRequestStatus & )

voidAddAttachmentL(RFile &aFileHandle,
CMsvAttachment *aAttachmentInfo,
TRequestStatus &aStatus
)

AddEntryAsAttachmentL ( TMsvId, CMsvAttachment *, TRequestStatus & )

voidAddEntryAsAttachmentL(TMsvIdaAttachmentEntryId,
CMsvAttachment *aAttachmentInfo,
TRequestStatus &aStatus
)

AddLinkedAttachmentL ( const TDesC &, CMsvAttachment *, TRequestStatus & )

voidAddLinkedAttachmentL(const TDesC &aFilePath,
CMsvAttachment *aAttachmentInfo,
TRequestStatus &aStatus
)

AddRelatedPartL ( TMsvId, const TDesC &, TRequestStatus &, TMsvId, const TDesC8 & )

IMPORT_C voidAddRelatedPartL(TMsvIdaMessageId,
const TDesC &aAttachmentFullName,
TRequestStatus &aStatus,
TMsvIdaRelatedPartId,
const TDesC8 &aContentId
)

Adds a file to a specified message as a MIME multipart/related part. After the call has completed, calling ProgressL() will return the Id of the newly created related part entry.

Used when adding specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

Pre-condition
This function should only be used on messages created using CImEmailOperation.
Parameters
aMessageIdThe entry Id of the email message that the related part will be added to. The entry must be of type KUidMsvMessageEntry.
aAttachmentFullNameThe full path and file name of the related part file to be copied to the message store. If the file cannot be located, this call completes with KErrNotFound.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
aRelatedPartIdThe entry Id of the MHTML message part that the file being added is referenced from.
aContentIdThe Content-Id of the related part.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

AppendEntryAttachmentInfoL ( )

voidAppendEntryAttachmentInfoL()

AttachmentInfoSelection ( )

const RPointerArray< CMsvAttachment > &AttachmentInfoSelection()const

Returns a list of attachment information pointers (CMsvAttachment) populated by a call to GetAttachmentsListL().

Pre-condition
The attachment information list must first be populated by calling GetAttachmentsListL().
Return Value
An array of attachment information objects (CMsvAttachment) representing the attachments contained within a particular message specified in the call to GetAttachmentsListL().

AttachmentManager ( )

IMPORT_C MMsvAttachmentManager &AttachmentManager()const

CheckEntryAndResetRemoveMessageL ( TMsvId )

voidCheckEntryAndResetRemoveMessageL(TMsvIdaMessageId)

CheckEntryAndResetStoreMessageL ( TMsvId )

voidCheckEntryAndResetStoreMessageL(TMsvIdaMessageId)

ConvertToImMimeHeadersL ( CMsvMimeHeaders * )

CImMimeHeader *ConvertToImMimeHeadersL(CMsvMimeHeaders *aMimeHeaders)

ConvertToMsvMimeHeadersL ( CImMimeHeader * )

CMsvMimeHeaders *ConvertToMsvMimeHeadersL(CImMimeHeader *aMimeHeader)

CreateAttachmentL ( const TDesC &, RFile &, CMsvAttachment *, TRequestStatus & )

voidCreateAttachmentL(const TDesC &aFileName,
RFile &aAttachmentFile,
CMsvAttachment *aAttachmentInfo,
TRequestStatus &aStatus
)

DoGetAttachmentsListL ( TMsvId, TImAttachmentType, TImEmailEntryType )

voidDoGetAttachmentsListL(TMsvIdaMessageId,
TImAttachmentTypeaAttachmentType,
TImEmailEntryTypeaEntryType
)

DoGetBodyTextInitL ( TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer & )

voidDoGetBodyTextInitL(TMsvIdaMessageId,
TImEmailEntryTypeaEntryType,
CRichText &aRichText,
CParaFormatLayer &aParaLayer,
CCharFormatLayer &aCharLayer
)

DoSetActive ( TRequestStatus & )

voidDoSetActive(TRequestStatus &aStatus)

EmailEntryId ( )

TMsvId EmailEntryId()

FindFirstHTMLPageFileHandleL ( TMsvId, TRequestStatus & )

IMPORT_C voidFindFirstHTMLPageFileHandleL(TMsvIdaMessageId,
TRequestStatus &aStatus
)

Asynchronously searches for the starting MHTML part embedded in a multipart/related email message.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

If the starting MHTML part cannot be located, then the first HTML part that occurs within the multipart/related message is located.

The result of the search is retrieved by calling GetUniversalResourceIdentifierFileHandle() after this methods has completed.

Parameters
aMessageIdThe entry Id of the email message that will be searched.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

FindFirstHTMLPageL ( TMsvId, TRequestStatus & )

IMPORT_C voidFindFirstHTMLPageL(TMsvIdaMessageId,
TRequestStatus &aStatus
)

Asynchronously searches for the starting MHTML part embedded in a multipart/related email message.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

If the starting MHTML part cannot be located, then the first HTML part that occurs within the multipart/related message is located.

The result of the search is retrieved by calling GetUniversalResourceIdentifierL() after this methods has completed.

Parameters
aMessageIdThe entry Id of the email message that will be searched.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

FindUniversalResourceIdentifierFileHandleL ( TMsvId, const TDesC &, const TDesC &, TRequestStatus & )

IMPORT_C voidFindUniversalResourceIdentifierFileHandleL(TMsvIdaMessageId,
const TDesC &aBase,
const TDesC &aURI,
TRequestStatus &aStatus
)[virtual]

Asynchronously searches a message entry for an MHTML URI, and resolves it to the message entry that contains the message part specified by the URI.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

The result of the search is retrieved by calling GetUniversalResourceIdentifierFileHandle() after this method has completed.

Parameters
aMessageIdThe message Id of the body part that is to be searched for the URI. In the first instance, this value should be the starting MHTML entry Id that was located by calling FindFirstHTMLPageFileHandleL().
aBaseThe base URI to use when searching for aURI if aURI is relative. If aBase is empty, and aURI is relative, then the Content-location MIME header contained within the HTML part specified by aMessageId is used as a base. If the Content-location header does not exist or is not absolute, then just the relative aURI is searched for.
aURIThe absolute or relative URI to resolve. If aURI is absolute, then aBase is ignored and this method completes faster. If aURI is relative, then aBase is used as a base to resolve the relative URI. If aBase is empty and aURI is relative, then the Content-location MIME header contained within the HTML part specified by aMessageId is used as the base. If the Content-location header does not exist or is not absolute, then just the relative aURI is searched for.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

FindUniversalResourceIdentifierL ( TMsvId, const TDesC &, const TDesC &, TRequestStatus & )

IMPORT_C voidFindUniversalResourceIdentifierL(TMsvIdaMessageId,
const TDesC &aBase,
const TDesC &aURI,
TRequestStatus &aStatus
)[virtual]

Asynchronously searches a message entry for an MHTML URI, and resolves it to the message entry that contains the message part specified by the URI.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

The result of the search is retrieved by calling GetUniversalResourceIdentifierL() after this method has completed.

Parameters
aMessageIdThe message Id of the body part that is to be searched for the URI. In the first instance, this value should be the starting MHTML entry Id that was located by calling FindFirstHTMLPageL().
aBaseThe base URI to use when searching for aURI if aURI is relative. If aBase is empty, and aURI is relative, then the Content-location MIME header contained within the HTML part specified by aMessageId is used as a base. If the Content-location header does not exist or is not absolute, then just the relative aURI is searched for.
aURIThe absolute or relative URI to resolve. If aURI is absolute, then aBase is ignored and this method completes faster. If aURI is relative, then aBase is used as a base to resolve the relative URI. If aBase is empty and aURI is relative, then the Content-location MIME header contained within the HTML part specified by aMessageId is used as the base. If the Content-location header does not exist or is not absolute, then just the relative aURI is searched for.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetAttachmentsListL ( TRequestStatus &, TMsvId, TImAttachmentType, TImEmailEntryType )

IMPORT_C voidGetAttachmentsListL(TRequestStatus &aStatus,
TMsvIdaMessageId,
TImAttachmentTypeaAttachmentType,
TImEmailEntryTypeaEntryType
)

Asynchronously populates a list containing all the attachment entry Ids found that are of a specified type belonging to the specified message. After this function has completed, call AttachmentSelection() to get the list of found attachments.

If the email's character set has been overridden by a prior call to SetCharacterSetL(), the attachment names are decoded with the new character set.

Parameters
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
aMessageIdThe entry Id of the email message that the body text is to be retrieved from. The entry must be of type KUidMsvMessageEntry.
aAttachmentTypeThe type of attachment to find. Supported attachment types are EAllAttachments, which would get all attachments for the message, EVCards that would get all attachments that are VCards, EVCalendars that would get VCalenders, EICalendar that would get ICalendars, and EVEntries which would get attachments that are either VCards, VCalendars or ICalendars. EEncrypted, ESigned and ESecure are currently not supported.
aEntryTypeSpecifies whether to search just the email message (EThisMessageOnly), or to search within any embedded messages it may contain (EThisMessageAndEmbeddedMessages).
Leave Codes
KErrNotFoundaMessageId entry could not be located.
KErrNotSupportedaEntryType is not EThisMessageOnly or EThisMessageAndEmbeddedMessages.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetAttachmentsListL ( TMsvId, TImAttachmentType, TImEmailEntryType )

IMPORT_C voidGetAttachmentsListL(TMsvIdaMessageId,
TImAttachmentTypeaAttachmentType,
TImEmailEntryTypeaEntryType
)

Populates a list containing all the attachment entry Ids found that are of a specified type belonging to the specified message. After this function has completed, call AttachmentSelection() to get the list of found attachments.

If the email's character set has been overridden by a prior call to SetCharacterSetL(), the attachment names are decoded with the new character set.

Parameters
aMessageIdThe entry Id of the email message that the attachment list is to be populated. The entry must be of type KUidMsvMessageEntry.
aAttachmentTypeThe type of attachment to find. Supported attachment types are EAllAttachments, which would get all attachments for the message, EVCards that would get all attachments that are VCards, EVCalendars that would get VCalenders, EICalendar that would get ICalendars, and EVEntries which would get attachments that are either VCards, VCalendars or ICalendars. EEncrypted, ESigned and ESecure are currently not supported.
aEntryTypeSpecifies whether to search just the email message (EThisMessageOnly), or to search within any embedded messages it may contain (EThisMessageAndEmbeddedMessages).
Leave Codes
KErrNotFoundaMessageId entry could not be located.
KErrNotSupportedaEntryType is not EThisMessageOnly or EThisMessageAndEmbeddedMessages.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetBodyTextEntryIdL ( TRequestStatus &, TMsvId, TImEmailEntryType )

IMPORT_C voidGetBodyTextEntryIdL(TRequestStatus &aStatus,
TMsvIdaMessageId,
TImEmailEntryTypeaEntryType
)

GetBodyTextEntryIdL ( TMsvId, TImEmailEntryType )

IMPORT_C voidGetBodyTextEntryIdL(TMsvIdaMessageId,
TImEmailEntryTypeaEntryType
)

GetBodyTextL ( TRequestStatus &, TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer & )

IMPORT_C voidGetBodyTextL(TRequestStatus &aStatus,
TMsvIdaMessageId,
TImEmailEntryTypeaEntryType,
CRichText &aRichText,
CParaFormatLayer &aParaLayer,
CCharFormatLayer &aCharLayer
)

Asynchronously retrieves the body text for a specified message. If the email's character set has been overridden by a prior call to SetCharacterSetL(), the body text is decoded with the new character set before it is inserted into the rich text object. A list containing the entry Ids for each body text part within the specified message is created during this call. The list can be retrieved after this call has completed by calling Selection().

Parameters
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
aMessageIdThe entry Id of the email message that the body text is to be retrieved from. The entry must be of type KUidMsvMessageEntry.
aEntryTypeSpecifies whether to search just the email message (EThisMessageOnly), or to search within any embedded messages it may contain (EThisMessageAndEmbeddedMessages).
aRichTextUpon completion, returns the aRichText object that contains the message body text of all text parts found for the message entry specified by aMessageId. If the body text was not found, then aRichText will be unchanged.
aParaLayerParagraph format layer for the rich text object specified by aRichText.
aCharLayerCharacter format layer for the rich text object specified by aRichText.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetBodyTextL ( TMsvId, TImEmailEntryType, CRichText &, CParaFormatLayer &, CCharFormatLayer & )

IMPORT_C voidGetBodyTextL(TMsvIdaMessageId,
TImEmailEntryTypeaEntryType,
CRichText &aRichText,
CParaFormatLayer &aParaLayer,
CCharFormatLayer &aCharLayer
)

Retrieves the body text for a specified message. If the email's character set has been overridden by a prior call to SetCharacterSetL(), the body text is decoded with the new character set before it is inserted into the rich text object. A list containing the entry Ids for each body text part within the specified message is created during this call. The list can be retrieved by calling Selection().

Parameters
aMessageIdThe entry Id of the email message that the body text is to be retrieved from. The entry must be of type KUidMsvMessageEntry.
aEntryTypeSpecifies whether to search just the email message (EThisMessageOnly), or to search within any embedded messages it may contain (EThisMessageAndEmbeddedMessages).
aRichTextReturns the aRichText object that contains the message body text of all text parts found for the message entry specified by aMessageId. If the body text was not found, then aRichText will be unchanged.
aParaLayerParagraph format layer for the rich text object specified by aRichText.
aCharLayerCharacter format layer for the rich text object specified by aRichText.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetCharacterSetL ( TMsvId, TUint &, TBool & )

IMPORT_C voidGetCharacterSetL(TMsvIdaMessageId,
TUint &aCharacterSetId,
TBool &aOverride
)

Returns the character set Id that the body text will be decoded in when it is returned in the call to GetBodyTextL(). It also indicates whether the original character set has been overridden by calling SetCharacterSetL().

Pre-condition
The store_8bit_body_text flag in imcm.rss should be enabled. This is done at build time by the manufacturer.
Parameters
aMessageIdThe entry Id of the email message that the character set Id is to be retrieved from. The entry must be of type KUidMsvMessageEntry.
aCharacterSetIdReturns the character set Id that the message will be displayed when it is viewed. If aCharacterSetId is zero and aOverride is EFalse, the store_8bit_body_text flag in imcm.rss has not been enabled.
aOverrideReturns ETrue if the message's original character set has been overridden (changed) via the call to SetCharacterSetL(). If aCharacterSetId is zero and aOverride is EFalse, the store_8bit_body_text flag in imcm.rss has not been enabled.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetMessageDigestEntriesL ( TRequestStatus &, TMsvId )

IMPORT_C voidGetMessageDigestEntriesL(TRequestStatus &aStatus,
TMsvIdaMessageId
)

Asynchronously populates a list of embedded message entries contained within the specified message. Note that any embedded messages within embedded messages are not included in the list. Call Selection() to get the results of the search after it has completed.

Parameters
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
aMessageIdThe entry Id of the email message that will be searched for embedded messages. The entry must be of type KUidMsvMessageEntry.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

GetUniversalResourceIdentifierFileHandle ( TMsvId &, RFile & )

IMPORT_C TIntGetUniversalResourceIdentifierFileHandle(TMsvId &aLinkedEntryId,
RFile &aFile
)const [virtual]

Gets the results from FindUniversalResourceIdentifierFileHandleL() or FindFirstHTMLPageFileHandleL() method calls when they have completed.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

Pre-condition
FindUniversalResourceIdentifierFileHandleL() or FindFirstHTMLPageFileHandleL() must have been called prior and completed successfully.
Parameters
aLinkedEntryIdReturns the message Id of the message entry that contains the resolved body part, providing one is found. Note that you should keep a record of the returned message Id as it is required for resolving any URI's that may be found in the resolved body part.
aFileReturns the file handle of the file containing the HTML,image, or other such content stored in the message store if the URI has been resolved. If not then this argument is not valid. Ownership is transferred. The caller must close the file handle.
Return Value
If the URI is resolved, returns KErrNone. The output argument aFile is the file handle to the content. If no file is located the KErrNotFound is returned and aFile is not valid.

GetUniversalResourceIdentifierL ( TMsvId &, TBool & )

IMPORT_C HBufC *GetUniversalResourceIdentifierL(TMsvId &aLinkedEntryId,
TBool &aFileFound
)const [virtual]

Gets the results from FindUniversalResourceIdentifierL() or FindFirstHTMLPageL() method calls when they have completed.

Used when retrieving specific parts of an MHTML message, such as inline images that are referenced as MHTML anchors within the HTML part of a message. Refer to RFC 2557 - "MIME Encapsulation of Aggregate Documents, such as HTML (MHTML)" for information about MHTML email messages.

Pre-condition
FindUniversalResourceIdentifierL() or FindFirstHTMLPageL() must have been called prior and completed successfully.
Parameters
aLinkedEntryIdReturns the message Id of the message entry that contains the resolved body part, providing one is found. Note that you should keep a record of the returned message Id as it is required for resolving any URI's that may be found in the resolved body part.
aFileFoundReturns ETrue if the URI has been resolved and the message entry containing the MHTML part has been located. Returns EFalse otherwise.
Return Value
If the URI is resolved, returns the full path specification and file name of the file containing the HTML, image, or other such content stored in the message store. If no file can be located, the absolute URI is returned instead.

NewL ( CMsvEntry & )

IMPORT_C CImEmailMessage *NewL(CMsvEntry &aEntry)[static]

Allocates and creates a new CImEmailMessage object.

See also: CMsvEntry

Parameters
aEntryA CMsvEntry object that relates to a message server entry. This object is used by CImEmailMessage to perform operations on particular message server entries. It does not matter what context aEntry happens to be focused on.
Return Value
A CImEmailMessage message object.

NewLC ( CMsvEntry & )

IMPORT_C CImEmailMessage *NewLC(CMsvEntry &aEntry)[static]

Allocates and creates a new CImEmailMessage object, leaving the object on the cleanup stack.

See also: CMsvEntry

Parameters
aEntryA CMsvEntry object that relates to a message server entry. This object is used by CImEmailMessage to perform operations on particular message server entries. It does not matter what context aEntry happens to be focused on.
Return Value
A CImEmailMessage object.

OpenPlainBodyTextForReadL ( TImEmailEntryType, TInt )

IMPORT_C CImPlainBodyText *OpenPlainBodyTextForReadL(TImEmailEntryTypeaEntryType,
TIntaChunkLength
)

This returns a object of CImPlainBodyText.This needs to be called when bodytext needs to be restored in chunks for Read operation.

Parameters
aEntryTypeThe TImEmailEntryType for this message.
Return Value
CMsvPlainBodyText

OpenPlainBodyTextForWriteL ( )

IMPORT_C CImPlainBodyText *OpenPlainBodyTextForWriteL()

This returns a object of CImPlainBodyText.This needs to be called when bodytext needs to be created in chunks.

Return Value
CImPlainBodyText

ProgressL ( )

IMPORT_C const TDesC8 &ProgressL()const

Returns a message entry Id as a type-safe package buffer (TPckg<TMsvId>). The meaning of the Id depends on the request as follows:

AddAttachmentL(), AddMessageAsAttachmentL(), and AddRelatedPartL(): While the attachment, message, or related part is being added, a null Id (KMsvNullIndexEntryId); Once the attachment, message, or related part has been added, the entry Id of the newly created attachment, message, or related part.

DeleteAttachmentL() and DeleteAttachedMessageL(): While the attachment or attached message is being removed, a null Id (KMsvNullIndexEntryId); Once the attachment or attached message has been removed, the Id of the message from which the attachment or attached message was removed.

StoreBodyTextL(): While the body text is being stored, a null Id (KMsvNullIndexEntryId); Once the text has been stored, the Id of the message for which the body text was stored.

Pre-condition
Call this method after the following asynchronous calls have completed to check progress. AddAttachmentL() AddMessageAsAttachmentL() AddRelatedPartL() DeleteAttachmentL() DeleteAttachedMessageL() StoreBodyTextL()
// Example code demonstrating how to retrieve the progress.

// Create and initialise a temporary TPckg object that can hold a message Id.
TMsvId msgId;
TPckg<TMsvId> param(msgId);

// Copy the message Id returned from the ProgressL() call into the
// temporary TPckg object.
param.Copy(emailMsg->ProgressL());  // where emailMsg is of type CImEmailMessage.

// Check the value of the returned message Id in the TPckg object.
if (msgId != KMsvNullIndexEntryId)
	{
	// More code...
	} 

Return Value
The entry Id as a type-safe packaged buffer (TPckg<TMsvId>).

RemoveAttachedMessageL ( TMsvAttachmentId, TRequestStatus & )

voidRemoveAttachedMessageL(TMsvAttachmentIdaAttachmentId,
TRequestStatus &aStatus
)

RemoveAttachmentL ( TMsvAttachmentId, TRequestStatus & )

voidRemoveAttachmentL(TMsvAttachmentIdaAttachmentId,
TRequestStatus &aStatus
)

Selection ( )

IMPORT_C const CMsvEntrySelection &Selection()const

Returns a selection of entries. The entries are either the results of GetMessageDigestEntriesL(), or of GetBodyTextL().

Pre-condition
GetMessageDigestEntriesL() or GetBodyTextL() must be called prior and successfully completed.
Return Value
Selection of entries populated by GetMessageDigestEntriesL() or GetBodyTextL().

SetCharacterSetL ( TMsvId, TUint )

IMPORT_C voidSetCharacterSetL(TMsvIdaMessageId,
TUintaCharacterSetId
)

Stores the new character set that the message will be displayed as next time it is viewed.

Pre-condition
The store_8bit_body_text flag in imcm.rss should be enabled. This is done at build time by the manufacturer.
Parameters
aMessageIdThe entry Id of the email message that the character set will be returned from. The entry must be of type KUidMsvMessageEntry.
aCharacterSetIdThe character set Id to be stored in the message store. Setting this value to zero will cause the message to be displayed in its original character set when it was viewed for the first time after it was downloaded.
Leave Codes
KErrNotFoundaMessageId entry can not be located in the message store, or the character set information can not be located. If the character set information cannot be located, it could be because it was not stored when downloaded. To enable this functionality set the store_8bit_body_text flag in imcm.rss. It is also possible that a call to
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

StoreBodyTextL ( TMsvId, CRichText &, TRequestStatus & )

IMPORT_C voidStoreBodyTextL(TMsvIdaMessageId,
CRichText &aRichText,
TRequestStatus &aStatus
)

Asynchronously stores a body text part for the specified message. After the call has completed, calling ProgressL() will return the Id of the message entry for which the body text was stored.

Pre-condition
This function should only be used on messages created using CImEmailOperation.
Parameters
aMessageIdThe entry Id of the email message that the body text will be stored in. The entry must be of type KUidMsvMessageEntry.
aRichTextA rich text object (CRichText) that contains the message body text.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

StoreBodyTextL ( TMsvId, CRichText &, TRequestStatus &, TBool )

IMPORT_C voidStoreBodyTextL(TMsvIdaMessageId,
CRichText &aRichText,
TRequestStatus &aStatus,
TBoolaUsePlainTextStorage
)

Asynchronously stores a body text part for the specified message. After the call has completed, calling ProgressL() will return the Id of the message entry for which the body text was stored.

Pre-condition
This function should only be used on messages created using CImEmailOperation.
Parameters
aMessageIdThe entry Id of the email message that the body text will be stored in. The entry must be of type KUidMsvMessageEntry.
aRichTextA rich text object (CRichText) that contains the message body text.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
aUsePlainTextStorageif set to ETrue inidcates that the new message entry needs to be created as plain text if set to EFalse indicates that message will be created as richtext entry.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.

StoreBodyTextWithMimeHeaderL ( TMsvId, CRichText &, const CImMimeHeader &, TRequestStatus & )

IMPORT_C voidStoreBodyTextWithMimeHeaderL(TMsvIdaMessageId,
CRichText &aRichText,
const CImMimeHeader &aMimeHeader,
TRequestStatus &aStatus
)

Asynchronously stores a body text part for the specified message. A Mime header is created with the passed in the CImMimeHeader object passed. After the call has completed, calling ProgressL() will return the Id of the message entry for which the body text was stored.

Pre-condition
This function should only be used on messages created using CImEmailOperation.
Parameters
aMessageIdThe entry Id of the email message that the body text will be stored in. The entry must be of type KUidMsvMessageEntry.
aRichTextA rich text object (CRichText) that contains the message body text.
aMimeHeaderA MIME header object (CImMimeHeader) that contains the content-type etc.
aStatusAsynchronous status object (TRequestStatus) that is signalled when the operation completes. aStatus should be checked by the caller to ensure that the operation was successful.
Leave Codes
KErrNotFoundaMessageId entry could not be located.
Panic Codes
imcm10 aMessageId is not of type KUidMsvMessageEntry.