imapcmds.h File Reference

Enum TImap4Cmds

IMAP4-specific commands that can be issued through either CImap4ClientMtm::InvokeAsyncFunctionL() or, in a few cases, CImap4ClientMtm::InvokeSyncFunctionL().

These functions take an input message selection parameter (const CMsvEntrySelection& aSelection) and an input/output buffer parameter (TDes8& aParameter). The use of these parameters is command specific, and is described for each command below.

The commands fall into a number of categories:

Note that when iServiceSelection is referred to in code examples for some commands, this is assumed to be a CMsvEntrySelection that contain the entry ID of an IMAP service.

See also: CImap4ClientMtm::InvokeAsyncFunctionL() CImap4ClientMtm::InvokeSyncFunctionL()

EnumeratorValueDescription
KIMAP4MTMIsConnectedKMtmFirstFreeMtmFunctionId

Tests if a specified service is connected.

This command is synchronous, and used from InvokeSyncFunctionL().

aSelection: aSelection[0] should contain the entry ID of the service to test.

aParameter: a packaged TInt. On return, this is set to KErrNone if the service is connected or KErrDisconnected if not.

Example:
	TPckgBuf<TInt> parameter;
	iClientMtm->InvokeSyncFunctionL(KIMAP4MTMIsConnected, *iServiceSelection, parameter);
	if (parameter()==KErrNone)
		{
		_LIT(KConnStatus, "\n\n Connected to the service");
		iConsole->Printf(KConnStatus);
		}	
KIMAP4MTMConnect

Connects to the specified IMAP service.

This makes a network connection and logs on the IMAP server specified in the settings for the service.

aSelection: aSelection[0] should contain the entry ID of the service to connect to.

aParameter: packages a pointer to an implementation of the connection observer interface, MMsvImapConnectionObserver. Callbacks are made to this interface to notify the client of the stages of connection.

Completion: KErrBusy if the device is already connected to the specified server.

Example:
	TBuf8<1> parameter;
	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMConnect, *iServiceSelection, parameter, iStatus);    
KIMAP4MTMConnectAndSynchronise

Connects to the specified IMAP service, and starts a background synchronisation.

The call completes when the connection occurs and the synchronisation starts. See CImap4ClientMtm for a description of a background synchronisation.

aSelection: aSelection[0] should contain the entry ID of the service to connect to.

aParameter: packages a pointer to an implementation of the connection observer interface, MMsvImapConnectionObserver. Callbacks are made to this interface to notify the client of the stages of connection and synchronisation.

Completion: KErrBusy if the device is already connected to the specified server.

Example:
	TPckg<MMsvImapConnectionObserver*> parameter(this);	
  iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMConnectAndSynchronise, *iServiceSelection, parameter, iStatus);
KIMAP4MTMCancelBackgroundSynchronise

Cancels a background synchronisation in progress.

aSelection: aSelection[0] should contain the entry ID of the service being synchronised.

aParameter: unused.

Completion: KErrCancel if a synchronisation was cancelled; KErrNone if no synchronisation was taking place.

Example:
	TBuf8<1> parameter;
  iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMCancelBackgroundSynchronise, *iServiceSelection, parameter, iStatus);	
KIMAP4MTMStartBatch

Ensures that the IMAP server will remain loaded ready for more commands.

If this is not set, then the Message Server can unload the IMAP server MTM after a service is disconnected. It is more efficient if it stays loaded if further use of the MTM is expected.

aSelection: aSelection[0] should contain the entry ID of the service

aParameter: unused.

Completion: KErrNone.

KIMAP4MTMEndBatch

Ends the effect of KIMAP4MTMStartBatch.

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: unused.

Completion: KErrNone.

KIMAP4MTMBusy

Tests if the server is busy.

It can be used from either CImap4ClientMtm::InvokeAsyncFunctionL() or CImap4ClientMtm::InvokeSyncFunctionL().

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: if the command is called from InvokeSyncFunctionL(), then on return a packaged TInt holding the result.

Completion: This completes with either KErrNone (neither session is busy) or KErrServerBusy otherwise.

KIMAP4MTMSelect

Issues an IMAP SELECT command on the specified mailbox.

This is used to select an mailbox for the KIMAP4MTMSynchronise command.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the folder to select.

aParameter: Unused.

Completion: KErrDisconnected if not connected.

KIMAP4MTMSynchronise

Synchronises the current folder that is selected on the remote server.

Note that after a connection is made, the Inbox folder is selected by default.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: unused.

Completion: KErrDisconnected if not connected.

KIMAP4MTMSyncTree

Synchronises the connected service's folder tree with the folders on the remote IMAP server.

This creates and deletes folder entries in the message store under the remote service as needed, to match the mailboxes that exist on the remote server. Note that this step is done as part of the normal service synchronisation operation.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: unused.

Completion: KErrDisconnected if not connected; KErrServerBusy if a background synchronisation is already in progress.

KIMAP4MTMReserved10

Not supported.

KIMAP4MTMFullSync

Synchronises the specified service.

This is a foreground synchronisation, and completes when the synchronisation is done.

aSelection: aSelection[0] should contain the entry ID of the service to synchronise.

aParameter: unused.

Pre-condition: a connected service.

Completion: KErrDisconnected if not connected; KErrServerBusy if a background synchronisation is already in progress.

KIMAP4MTMDisconnect

Cancels any operations in progress and sends logout messages to server.

If CImImap4Settings::SetDeleteEmailsWhenDisconnecting() is set, any messages marked as deleted while offline are deleted before logout.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: unused.

Completion: KErrDisconnected if not connected.

KIMAP4MTMLocalSubscribe

Sets the local subscription flag on a specified folder.

This sets the local subscription flag on the folder's index entry (see TMsvEmailEntry::SetLocalSubscription()), and saves the changed entry to the index.

aSelection: aSelection[0] should contain the entry ID of the folder to subscribe to.

aParameter: unused.

Completion: KErrNotSupported if the entry is not a folder; KErrNone on success.

KIMAP4MTMLocalUnsubscribe

Clears the local subscription flag on the specified folder.

aSelection: aSelection[0] should contain the entry ID of the folder to unsubscribe from.

aParameter: unused.

Completion: KErrNotSupported if the entry is not a folder; KErrNone on success.

KIMAP4MTMReserved15

Not supported.

KIMAP4MTMReserved16

Not supported.

KIMAP4MTMInboxNewSync

Synchronises any messages received by the remote server Inbox since the last synchronisation operation.

Messages that have been deleted from the remote Inbox are not deleted from the mirror.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the TMsvId of the IMAP4service.

aParameter: unused.

Completion: KErrDisconnected if not connected; KErrServerBusy if a background synchronisation is already in progress.

KIMAP4MTMFolderFullSync

Selects and synchronises the specified folder.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the folder to synchronise.

aParameter: unused.

Completion: KErrDisconnected if not connected.

KIMAP4MTMWaitForBackground

Completes only when a background synchronisation has finished.

This turns a background synchronisation into a foreground synchronisation.

aSelection: aSelection[0] should contain the entry ID of the service being synchronised.

aParameter: unused.

Completion: KErrNone when no background synchronisation is in progress.

Example:
	TBuf8<1> parameter;
	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMWaitForBackground, *iServiceSelection, parameter, iStatus);	
KIMAP4MTMRenameFolder

Renames a specified folder.

aSelection: aSelection[0] should contain the entry ID of the folder to rename.

aParameter: the new name for the folder. This should be a packaged TImap4RenameFolder object.

Pre-conditions: a connected service.

Completion: KErrDisconnected if there is no connected service.

Example:
	// rename folder, assumed to be identified in *selection[0], to "newname".
	_LIT(KNewName, "newname");
	TImap4RenameFolder newName;
	newName.iNewName = KNewName;	
	TPckg<TImap4RenameFolder> name(newName);
	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMRenameFolder, *selection, name, iStatus);	
KIMAP4MTMUndeleteAll

Undoes any offline delete operations pending on the specified entries.

aSelection: Entries on which to cancel offline delete operations.

aParameter: Unused.

Completion: KErrNone.

KIMAP4MTMCancelOffLineOperations

Cancels any offline operations pending on the specified entries.

If any item is a folder, then it cancels all operations queued on any item in that folder. If an IMAP4 service ID is given, then it cancels any Copy() or MoveFromLocal() operations that are queued. A message can not have its pending operations cancelled individually.

aSelection: Entries on which to cancel offline operations.

aParameter: Unused.

Completion: KErrNone.

KIMAP4MTMPopulate

Fetches the specified messages from the remote server to the mirror.

aSelection: Messages to fetch.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

KIMAP4MTMSyncSubscription

Not supported.

KIMAP4MTMConnectAndSyncCompleteAfterConnect

Connect and synchronise the specified service, and complete after connection.

The operation completes when the connection part completes. The synchronisation is done in the background.

The command has the same functionality as KIMAP4MTMConnectAndSynchronise.

aSelection: aSelection[0] should contain the entry ID of the service to connect to.

aParameter: packages a pointer to an implementation of the connection observer interface, MMsvImapConnectionObserver. Callbacks are made to this interface to notify the client of the stages of connection and synchronisation.

Completion: KErrBusy if a connected session already exists.

KIMAP4MTMConnectAndSyncCompleteAfterFullSync

Connect and synchronise the specified service, and complete after synchronisation.

This is similar to KIMAP4MTMConnectAndSynchronise, except that the operation does not complete until synchronisation is complete.

aSelection: aSelection[0] should contain the entry ID of the service to connect to.

aParameter: packages a pointer to an implementation of the connection observer interface, MMsvImapConnectionObserver. Callbacks are made to this interface to notify the client of the stages of connection and synchronisation.

Completion: KErrBusy if a connected session already exists.

KIMAP4MTMConnectAndSyncCompleteAfterDisconnect

Connect and synchronise the specified service, and complete after disconnection.

Unlike the other synchronisation commands, this command does not complete after either connection or synchronisation. Instead, after the initial synchronisation is complete, it periodically resynchronises the Inbox until the service is disconnected. CImImap4Settings::SyncRate() sets the refresh period.

Disconnection can occur because the network connection is closed, either through user action, or because a networking timeout occurs on the socket.

aSelection: aSelection[0] should contain the entry ID of the service to connect to.

aParameter: packages a pointer to an implementation of the connection observer interface, MMsvImapConnectionObserver. Callbacks are made to this interface to notify the client of the stages of connection and synchronisation.

Completion: KErrBusy if a connected session already exists.

KIMAP4MTMCancelSendOnNextConnection

Not supported.

KIMAP4MTMCopyNewMailWhenAlreadyConnected

Copy any new messages from a specified folder to another folder, assuming a new connection does not need to be made.

This is used after message headers have been synchronised. Any messages marked as new are populated in the mirror, and then copied to the specified destination folder.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to copy the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyNewMailAndStayOnline

Connect to a specified service, copy any new messages from a specified folder into another folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to copy.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyNewMailAndDisconnect

Connect to a specified service, copy any new messages from a specified folder into another folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to copy.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMMoveNewMailWhenAlreadyConnected

Move any new messages from a specified folder to another folder, assuming a new connection does not need to be made.

This is used after message headers have been synchronised. Any messages marked as new are populated in the mirror, and then moved to the specified destination folder.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to move the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveNewMailAndStayOnline

Connect to a specified service, move any new messages from a specified folder into another folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveNewMailAndDisconnect

Connect to a specified service, move any new messages from a specified folder into another folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMCopyMailSelectionWhenAlreadyConnected

Copy the specified messages to another folder, assuming a new connection does not need to be made.

The specified messages are populated in the mirror, and then copied to the specified destination folder.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to copy.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyMailSelectionAndStayOnline

Connect to a specified service, copy the specified messages to another folder, and stay connected.

The specified messages are populated in the mirror, and then copied to the specified destination folder.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to copy.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyMailSelectionAndDisconnect

Connect to a specified service, copy the specified messages to another folder, and disconnect afterwards.

The specified messages are populated in the mirror, and then copied to the specified destination folder.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to copy.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMMoveMailSelectionWhenAlreadyConnected

Move the specified messages to another folder, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to move, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveMailSelectionAndStayOnline

Connect to a specified service, move the specified messages to another folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to move, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveMailSelectionAndDisconnect

Connect to a specified service, move the specified messages to another folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to move, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMCopyAllMailWhenAlreadyConnected

Copy all messages from the current service, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to copy the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyAllMailAndStayOnline

Connect to a specified service, copy all messages from the current service, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to copy the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndCopyAllMailAndDisconnect

Connect to a specified service, copy all messages from the current service, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to copy the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to copy, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMMoveAllMailWhenAlreadyConnected

Move all messages from the specified folder, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder from which to move the entries.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no entries to move, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveAllMailAndStayOnline

Connect to a specified service, move all messages from a specified folder into another folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndMoveAllMailAndDisconnect

Connect to a specified service, move all messages from a specified folder into another folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to move.

aParameter: packaged TImImap4GetMailInfo object. TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored: the entire message is always fetched.

Completion: note if there are no new entries, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMPopulateMailSelectionWhenAlreadyConnected

Populate the specified messages, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateMailSelectionAndStayOnline

Connect to a specified service, populate the specified messages, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateMailSelectionAndDisconnect

Connect to a specified service, populate the specified messages, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service, followed by the IDs of the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMPopulateNewMailWhenAlreadyConnected

Populate the new messages in a specified folder, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMPopulateAllMailWhenAlreadyConnected

Populate all messages in a specified folder, assuming a new connection does not need to be made.

Pre-condition: a connected service.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateNewMailAndStayOnline

Connect to a specified service, populate the new messages in a specified folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateNewMailAndDisconnect

Connect to a specified service, populate the new messages in a specified folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateAllMailAndStayOnline

Connect to a specified service, populate all messages in a specified folder, and stay connected.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMConnectAndPopulateAllMailAndDisconnect

Connect to a specified service, populate all messages in a specified folder, and disconnect afterwards.

aSelection: aSelection[0] should contain the entry ID of the service; aSelection[1] should contain the entry ID of the folder containing the messages to populate.

aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo specifying the message parts to fetch and size limits on what is fetched.

Completion: note if there are no entries to populate, then KErrNone, and progress information is a null descriptor.

KIMAP4MTMCreateNewEmailMessage

Creates a new email message.

aSelection: aSelection[0] should contain the entry ID of the folder in which to create the message.

aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying message creation flags and message type.

The operation object returned is a CImEmailOperation. Final progress information from this contains the ID of the newly created message.

KIMAP4MTMCreateReplyEmailMessage

Creates a new reply message.

aSelection: aSelection[0] should contain the entry ID of the folder in which to create the message; aSelection[1] should contain the entry ID of the message to which to create a reply.

aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying message creation flags and message type.

The operation object returned is a CImEmailOperation. Final progress information from this contains the ID of the newly created message.

KIMAP4MTMCreateForwardEmailMessage

Creates a new forwarded message.

aSelection: aSelection[0] should contain the entry ID of the folder in which to create the message; aSelection[1] should contain the entry ID of the message to forward.

aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying message creation flags and message type.

The operation object returned is a CImEmailOperation. Final progress information from this contains the ID of the newly created message.

KIMAP4MTMCreateForwardAsAttachmentEmailMessage

Creates a new forwarded message, with the original message as an attachment.

aSelection: aSelection[0] should contain the entry ID of the folder in which to create the message; aSelection[1] should contain the entry ID of the message to forward.

aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying message creation flags and message type.

The operation object returned is a CImEmailOperation. Final progress information from this contains the ID of the newly created message.

KIMAP4MTMCreateReceiptEmailMessage

Creates a new message-receipt message.

aSelection: aSelection[0] should contain the entry ID of the folder in which to create the message; aSelection[1] should contain the entry ID of the original message for which the receipt is required.

aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying message creation flags and message type.

The operation object returned is a CImEmailOperation. Final progress information from this contains the ID of the newly created message.