epoc32/include/imapcmds.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     1 imapcmds.h
     1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     2 // All rights reserved.
       
     3 // This component and the accompanying materials are made available
       
     4 // under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
       
     5 // which accompanies this distribution, and is available
       
     6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
       
     7 //
       
     8 // Initial Contributors:
       
     9 // Nokia Corporation - initial contribution.
       
    10 //
       
    11 // Contributors:
       
    12 //
       
    13 // Description:
       
    14 //
       
    15 
       
    16 #if !defined (__IMAPCMDS_H__)
       
    17 #define __IMAPCMDS_H__
       
    18 
       
    19 #if !defined (__MSVSTD_HRH__)
       
    20 #include <msvstd.hrh>
       
    21 #endif
       
    22 
       
    23 class TImap4RenameFolder
       
    24 /** Buffer for an IMAP folder name. 
       
    25 
       
    26 @see KIMAP4MTMRenameFolder
       
    27 
       
    28 @publishedAll
       
    29 @released
       
    30 */
       
    31 	{
       
    32 public:
       
    33 	/** IMAP folder name. */
       
    34 	TBuf<128> iNewName;
       
    35 	};
       
    36 
       
    37 /** IMAP4-specific commands that can be issued through either 
       
    38 CImap4ClientMtm::InvokeAsyncFunctionL() or, in a few cases, 
       
    39 CImap4ClientMtm::InvokeSyncFunctionL().
       
    40  
       
    41 These functions take an input message selection parameter 
       
    42 (@c const CMsvEntrySelection& @c aSelection) and an input/output buffer parameter 
       
    43 (TDes8& @c aParameter). The use of these parameters is command specific, and is 
       
    44 described for each command below.
       
    45 
       
    46 The commands fall into a number of categories: 
       
    47 
       
    48 - Connect and logon to remote server:
       
    49   - #KIMAP4MTMConnect
       
    50   - #KIMAP4MTMDisconnect
       
    51 - Synchronise headers:
       
    52   - #KIMAP4MTMCancelBackgroundSynchronise
       
    53   - #KIMAP4MTMConnectAndSyncCompleteAfterConnect
       
    54   - #KIMAP4MTMConnectAndSyncCompleteAfterDisconnect
       
    55   - #KIMAP4MTMConnectAndSyncCompleteAfterFullSync
       
    56   - #KIMAP4MTMConnectAndSynchronise
       
    57   - #KIMAP4MTMFolderFullSync
       
    58   - #KIMAP4MTMFullSync
       
    59   - #KIMAP4MTMInboxNewSync
       
    60   - #KIMAP4MTMSynchronise
       
    61   - #KIMAP4MTMWaitForBackground
       
    62 - Subscribe to mailboxes:
       
    63   - #KIMAP4MTMLocalSubscribe
       
    64   - #KIMAP4MTMLocalUnsubscribe
       
    65 - Populate messages:
       
    66   - #KIMAP4MTMPopulate
       
    67   - #KIMAP4MTMPopulateAllMailWhenAlreadyConnected
       
    68   - #KIMAP4MTMPopulateMailSelectionWhenAlreadyConnected
       
    69   - #KIMAP4MTMPopulateNewMailWhenAlreadyConnected
       
    70   - #KIMAP4MTMConnectAndPopulateAllMailAndDisconnect
       
    71   - #KIMAP4MTMConnectAndPopulateAllMailAndStayOnline
       
    72   - #KIMAP4MTMConnectAndPopulateMailSelectionAndDisconnect
       
    73   - #KIMAP4MTMConnectAndPopulateMailSelectionAndStayOnline
       
    74   - #KIMAP4MTMConnectAndPopulateNewMailAndDisconnect
       
    75   - #KIMAP4MTMConnectAndPopulateNewMailAndStayOnline
       
    76 - Copy messages:
       
    77   - #KIMAP4MTMCopyAllMailWhenAlreadyConnected
       
    78   - #KIMAP4MTMCopyMailSelectionWhenAlreadyConnected
       
    79   - #KIMAP4MTMCopyNewMailWhenAlreadyConnected
       
    80   - #KIMAP4MTMConnectAndCopyAllMailAndDisconnect
       
    81   - #KIMAP4MTMConnectAndCopyAllMailAndStayOnline
       
    82   - #KIMAP4MTMConnectAndCopyMailSelectionAndDisconnect
       
    83   - #KIMAP4MTMConnectAndCopyMailSelectionAndStayOnline
       
    84   - #KIMAP4MTMConnectAndCopyNewMailAndDisconnect
       
    85   - #KIMAP4MTMConnectAndCopyNewMailAndStayOnline
       
    86 - Move messages:
       
    87   - #KIMAP4MTMMoveAllMailWhenAlreadyConnected
       
    88   - #KIMAP4MTMMoveMailSelectionWhenAlreadyConnected
       
    89   - #KIMAP4MTMMoveNewMailWhenAlreadyConnected
       
    90   - #KIMAP4MTMConnectAndMoveAllMailAndDisconnect
       
    91   - #KIMAP4MTMConnectAndMoveAllMailAndStayOnline
       
    92   - #KIMAP4MTMConnectAndMoveMailSelectionAndDisconnect
       
    93   - #KIMAP4MTMConnectAndMoveMailSelectionAndStayOnline
       
    94   - #KIMAP4MTMConnectAndMoveNewMailAndDisconnect
       
    95   - #KIMAP4MTMConnectAndMoveNewMailAndStayOnline
       
    96 - Create messages:
       
    97   - #KIMAP4MTMCreateForwardAsAttachmentEmailMessage
       
    98   - #KIMAP4MTMCreateForwardEmailMessage
       
    99   - #KIMAP4MTMCreateNewEmailMessage
       
   100   - #KIMAP4MTMCreateReceiptEmailMessage
       
   101   - #KIMAP4MTMCreateReplyEmailMessage
       
   102   .
       
   103   Note that CImEmailOperation is usually a more convenient way
       
   104   to create messages.
       
   105 - Query state:
       
   106   - #KIMAP4MTMBusy
       
   107   - #KIMAP4MTMIsConnected
       
   108 - Offline operations:
       
   109   - #KIMAP4MTMCancelOffLineOperations
       
   110   - #KIMAP4MTMUndeleteAll
       
   111 - Miscellaneous:
       
   112   - #KIMAP4MTMEndBatch
       
   113   - #KIMAP4MTMRenameFolder
       
   114   - #KIMAP4MTMSelect
       
   115   - #KIMAP4MTMStartBatch
       
   116 
       
   117 Note that when @c iServiceSelection is referred to in code examples for some
       
   118 commands, this is assumed to be a CMsvEntrySelection that  
       
   119 contain the entry ID of an IMAP service. 
       
   120 
       
   121 @see CImap4ClientMtm::InvokeAsyncFunctionL() 
       
   122 @see CImap4ClientMtm::InvokeSyncFunctionL()
       
   123 
       
   124 @publishedAll
       
   125 @released
       
   126 */	
       
   127 enum TImap4Cmds {
       
   128 	/** Tests if a specified service is connected.
       
   129 	
       
   130 	This command is synchronous, and used from @c InvokeSyncFunctionL().
       
   131 	
       
   132 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   133 	to test.
       
   134 	 
       
   135 	@c aParameter: a packaged TInt. On return, this is set to  
       
   136 	KErrNone if the service is connected or KErrDisconnected if not. 
       
   137 	
       
   138 	Example:
       
   139 	@code
       
   140 	TPckgBuf<TInt> parameter;
       
   141 	iClientMtm->InvokeSyncFunctionL(KIMAP4MTMIsConnected, *iServiceSelection, parameter);
       
   142 	if (parameter()==KErrNone)
       
   143 		{
       
   144 		_LIT(KConnStatus, "\n\n Connected to the service");
       
   145 		iConsole->Printf(KConnStatus);
       
   146 		}	
       
   147 	@endcode
       
   148 	*/
       
   149 	KIMAP4MTMIsConnected = KMtmFirstFreeMtmFunctionId,
       
   150 	
       
   151 	/** Connects to the specified IMAP service.
       
   152 
       
   153 	This makes a network connection and logs on the IMAP server specified 
       
   154 	in the settings for the service. 
       
   155 	
       
   156 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   157 	to connect to.
       
   158 	 
       
   159 	@c aParameter: packages a pointer to an implementation of the connection observer 
       
   160 	interface, MMsvImapConnectionObserver. Callbacks are made to this interface
       
   161 	to notify the client of the stages of connection.
       
   162 	
       
   163 	Completion: KErrBusy if the device is already connected to the specified server.
       
   164 
       
   165 	Example:
       
   166 	@code
       
   167 	TBuf8<1> parameter;
       
   168 	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMConnect, *iServiceSelection, parameter, iStatus);    
       
   169 	@endcode	
       
   170 	*/
       
   171 	KIMAP4MTMConnect,
       
   172 	
       
   173 	/** Connects to the specified IMAP service, and starts a background synchronisation.
       
   174 
       
   175 	The call completes when the connection occurs and the synchronisation starts. See
       
   176 	CImap4ClientMtm for a description of a background synchronisation.
       
   177 	
       
   178 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   179 	to connect to.
       
   180 	 
       
   181 	@c aParameter: packages a pointer to an implementation of the connection observer 
       
   182 	interface, MMsvImapConnectionObserver. Callbacks are made to this interface
       
   183 	to notify the client of the stages of connection and synchronisation.
       
   184 	
       
   185 	Completion: KErrBusy if the device is already connected to the specified server. 
       
   186 	
       
   187 	Example:
       
   188 	@code
       
   189 	TPckg<MMsvImapConnectionObserver*> parameter(this);	
       
   190   iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMConnectAndSynchronise, *iServiceSelection, parameter, iStatus);
       
   191 	@endcode
       
   192 	*/
       
   193 	KIMAP4MTMConnectAndSynchronise,
       
   194 	
       
   195 	/** Cancels a background synchronisation in progress.
       
   196 		
       
   197 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   198 	being synchronised.
       
   199 	 
       
   200 	@c aParameter: unused.
       
   201 	
       
   202 	Completion: KErrCancel if a synchronisation was cancelled; KErrNone if no
       
   203 	synchronisation was taking place.   
       
   204 
       
   205 	Example:
       
   206 	@code
       
   207 	TBuf8<1> parameter;
       
   208   iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMCancelBackgroundSynchronise, *iServiceSelection, parameter, iStatus);	
       
   209 	@endcode			
       
   210 	*/
       
   211 	KIMAP4MTMCancelBackgroundSynchronise,
       
   212 	
       
   213 	/** Ensures that the IMAP server will remain loaded ready for more commands. 
       
   214 	
       
   215 	If this is not set, then the Message Server can unload the IMAP server MTM
       
   216 	after a service is disconnected. It is more efficient if it stays loaded
       
   217 	if further use of the MTM is expected.
       
   218 	
       
   219 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   220 	 
       
   221 	@c aParameter: unused.
       
   222 	
       
   223 	Completion: KErrNone.
       
   224 	*/
       
   225 	KIMAP4MTMStartBatch,
       
   226 	
       
   227 	/** Ends the effect of KIMAP4MTMStartBatch. 
       
   228 
       
   229 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   230 	 
       
   231 	@c aParameter: unused.
       
   232 	
       
   233 	Completion: KErrNone.	
       
   234 	*/
       
   235 	KIMAP4MTMEndBatch,
       
   236 	
       
   237 	/** Tests if the server is busy.
       
   238 
       
   239 	It can be used from either CImap4ClientMtm::InvokeAsyncFunctionL() or 
       
   240 	CImap4ClientMtm::InvokeSyncFunctionL().
       
   241 	
       
   242 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   243 	 
       
   244 	@c aParameter: if the command is called from InvokeSyncFunctionL(), then on return a packaged
       
   245 	TInt holding the result.
       
   246 		
       
   247 	Completion: This completes with either KErrNone (neither session is busy) or KErrServerBusy 
       
   248 	otherwise. 
       
   249 	*/
       
   250 	KIMAP4MTMBusy,
       
   251 	
       
   252 	/** Issues an IMAP SELECT command on the specified mailbox. 
       
   253 
       
   254 	This is used to select an mailbox for the KIMAP4MTMSynchronise command.	
       
   255 	
       
   256 	Pre-condition: a connected service.
       
   257 	
       
   258 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder 
       
   259 	to select.
       
   260 	 
       
   261 	@c aParameter: Unused.
       
   262 		
       
   263 	Completion: KErrDisconnected if not connected. 
       
   264 	*/
       
   265 	KIMAP4MTMSelect,
       
   266 	
       
   267 	/** Synchronises the current folder that is selected on the remote server.
       
   268 
       
   269 	Note that after a connection is made, the Inbox folder is selected by default.
       
   270 	
       
   271 	Pre-condition: a connected service.
       
   272 
       
   273 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   274 	 
       
   275 	@c aParameter: unused.
       
   276 	
       
   277 	Completion: KErrDisconnected if not connected. 	
       
   278 	*/
       
   279 	KIMAP4MTMSynchronise,
       
   280 	
       
   281 	/** Synchronises the connected service's folder tree with the folders on the remote IMAP server.
       
   282 
       
   283 	This creates and deletes folder entries in the message store under the remote service as needed,
       
   284 	to match the mailboxes that exist on the remote server. Note that this step is done as part of 
       
   285 	the normal service synchronisation operation.
       
   286 		
       
   287 	Pre-condition: a connected service.
       
   288 
       
   289 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   290 	 
       
   291 	@c aParameter: unused.
       
   292 
       
   293 	Completion: KErrDisconnected if not connected; KErrServerBusy if a 
       
   294 	background synchronisation is already in progress. 	
       
   295 	*/
       
   296 	KIMAP4MTMSyncTree,
       
   297 	
       
   298 	/** Not supported. */
       
   299 	KIMAP4MTMReserved10,						// SyncSubscription
       
   300 	
       
   301 	/** Synchronises the specified service. 
       
   302 
       
   303 	This is a foreground synchronisation, and completes when the synchronisation is done.
       
   304 	
       
   305 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   306 	to synchronise.
       
   307 	
       
   308 	@c aParameter: unused.
       
   309 	
       
   310 	Pre-condition: a connected service.
       
   311 	
       
   312 	Completion: KErrDisconnected if not connected; KErrServerBusy if a 
       
   313 	background synchronisation is already in progress.
       
   314 	*/
       
   315 	KIMAP4MTMFullSync,
       
   316 	
       
   317 	/** Cancels any operations in progress and sends logout messages to server.
       
   318 
       
   319 	If CImImap4Settings::SetDeleteEmailsWhenDisconnecting() is set,
       
   320 	any messages marked as deleted while offline are deleted before logout.
       
   321 
       
   322 	Pre-condition: a connected service.
       
   323 
       
   324 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   325 	 
       
   326 	@c aParameter: unused.
       
   327 
       
   328 	Completion: KErrDisconnected if not connected.
       
   329 	*/
       
   330 	KIMAP4MTMDisconnect,
       
   331 
       
   332 	/** Sets the local subscription flag on a specified folder. 
       
   333 
       
   334 	This sets the local subscription flag on the folder's index entry 
       
   335 	(see TMsvEmailEntry::SetLocalSubscription()), and saves the changed entry 
       
   336 	to the index.
       
   337 	
       
   338 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder 
       
   339 	to subscribe to.
       
   340 	 
       
   341 	@c aParameter: unused.
       
   342 	
       
   343 	Completion: KErrNotSupported if the entry is not a folder; KErrNone on success.   
       
   344 	*/
       
   345 	KIMAP4MTMLocalSubscribe,
       
   346 
       
   347 	/** Clears the local subscription flag on the specified folder.
       
   348 	
       
   349 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder 
       
   350 	to unsubscribe from.
       
   351 	 
       
   352 	@c aParameter: unused.
       
   353 
       
   354 	Completion: KErrNotSupported if the entry is not a folder; KErrNone on success.   
       
   355 	*/
       
   356 	KIMAP4MTMLocalUnsubscribe,
       
   357     
       
   358 	/** Not supported. */
       
   359 	KIMAP4MTMReserved15,						// MakeRemoteMailboxesInvisible
       
   360 	/** Not supported. */
       
   361 	KIMAP4MTMReserved16,						// MakeRemoteMailboxesVisible
       
   362 	
       
   363 	/** Synchronises any messages received by the remote server Inbox since the
       
   364 	last synchronisation operation.
       
   365 
       
   366 	Messages that have been deleted from the remote Inbox are not deleted from
       
   367 	the mirror.
       
   368 
       
   369 	Pre-condition: a connected service.
       
   370 
       
   371 	@c aSelection: @c aSelection[0] should contain the TMsvId of the IMAP4service.
       
   372 	 
       
   373 	@c aParameter: unused.
       
   374 
       
   375 	Completion: KErrDisconnected if not connected; KErrServerBusy if a 
       
   376 	background synchronisation is already in progress.
       
   377 	*/
       
   378 	KIMAP4MTMInboxNewSync,
       
   379 	
       
   380 	/** Selects and synchronises the specified folder. 
       
   381 	
       
   382 	Pre-condition: a connected service.
       
   383 
       
   384 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder to synchronise.
       
   385 	 
       
   386 	@c aParameter: unused.
       
   387 
       
   388 	Completion: KErrDisconnected if not connected.
       
   389 	*/
       
   390 	KIMAP4MTMFolderFullSync,
       
   391 	
       
   392 	/** Completes only when a background synchronisation has finished. 
       
   393 		
       
   394 	This turns a background synchronisation into a foreground synchronisation.
       
   395 
       
   396 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   397 	being synchronised.
       
   398 	 
       
   399 	@c aParameter: unused.
       
   400 	
       
   401 	Completion: KErrNone when no background synchronisation is in progress.   
       
   402 	
       
   403 	Example:
       
   404 	@code
       
   405 	TBuf8<1> parameter;
       
   406 	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMWaitForBackground, *iServiceSelection, parameter, iStatus);	
       
   407 	@endcode
       
   408 	*/
       
   409 	KIMAP4MTMWaitForBackground,
       
   410 	
       
   411 	/** Renames a specified folder.
       
   412 	
       
   413 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder to rename. 
       
   414 	 
       
   415 	@c aParameter: the new name for the folder. This should be a packaged TImap4RenameFolder object.
       
   416 
       
   417 	Pre-conditions: a connected service.
       
   418 			
       
   419 	Completion: KErrDisconnected if there is no connected service. 
       
   420 	
       
   421 	Example:
       
   422 	@code
       
   423 	// rename folder, assumed to be identified in *selection[0], to "newname".
       
   424 	_LIT(KNewName, "newname");
       
   425 	TImap4RenameFolder newName;
       
   426 	newName.iNewName = KNewName;	
       
   427 	TPckg<TImap4RenameFolder> name(newName);
       
   428 	iOperation = iClientMtm->InvokeAsyncFunctionL(KIMAP4MTMRenameFolder, *selection, name, iStatus);	
       
   429 	@endcode
       
   430 	 */
       
   431 	KIMAP4MTMRenameFolder,
       
   432 		
       
   433 	/** Undoes any offline delete operations pending on the specified entries.
       
   434 		
       
   435 	@c aSelection: Entries on which to cancel offline delete operations. 
       
   436 	 
       
   437 	@c aParameter: Unused.
       
   438 
       
   439 	Completion: KErrNone.
       
   440 	*/
       
   441 	KIMAP4MTMUndeleteAll,
       
   442 	
       
   443 	/** Cancels any offline operations pending on the specified entries.
       
   444 	
       
   445 	If any item is a folder, then it cancels all operations queued on any item 
       
   446 	in that folder. If an IMAP4 service ID is given, then it cancels any Copy() 
       
   447 	or MoveFromLocal() operations that are queued. A message can not have its 
       
   448 	pending operations cancelled individually. 
       
   449 	
       
   450 	@c aSelection: Entries on which to cancel offline operations. 
       
   451 	 
       
   452 	@c aParameter: Unused.
       
   453 
       
   454 	Completion: KErrNone.	
       
   455 	*/
       
   456 	KIMAP4MTMCancelOffLineOperations,
       
   457 
       
   458 	/** Fetches the specified messages from the remote server to the mirror. 
       
   459 		
       
   460 	@c aSelection: Messages to fetch.
       
   461 
       
   462 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   463 	specifying the message parts to fetch and size limits on what is fetched.
       
   464 
       
   465 	*/
       
   466 	KIMAP4MTMPopulate,
       
   467 
       
   468 	/** Not supported. */
       
   469 	KIMAP4MTMSyncSubscription,
       
   470 
       
   471 	/** Connect and synchronise the specified service, and complete after connection. 
       
   472 	
       
   473 	The operation completes when the connection part completes. The synchronisation
       
   474 	is done in the background. 
       
   475 	
       
   476 	The command	has the same functionality as KIMAP4MTMConnectAndSynchronise.  
       
   477 
       
   478 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   479 	to connect to.
       
   480 	 
       
   481 	@c aParameter: packages a pointer to an implementation of the connection observer 
       
   482 	interface, MMsvImapConnectionObserver. Callbacks are made to this interface
       
   483 	to notify the client of the stages of connection and synchronisation.
       
   484 	
       
   485 	Completion: KErrBusy if a connected session already exists. 	
       
   486 	*/
       
   487 	KIMAP4MTMConnectAndSyncCompleteAfterConnect,
       
   488 	
       
   489 	/** Connect and synchronise the specified service, and complete after synchronisation. 
       
   490 	
       
   491 	This is similar to KIMAP4MTMConnectAndSynchronise, except that the operation
       
   492 	does not complete until synchronisation is complete.  
       
   493 	
       
   494 	@c aSelection: @c aSelection[0] should contain the entry ID of the service 
       
   495 	to connect to.
       
   496 	 
       
   497 	@c aParameter: packages a pointer to an implementation of the connection observer 
       
   498 	interface, MMsvImapConnectionObserver. Callbacks are made to this interface
       
   499 	to notify the client of the stages of connection and synchronisation.
       
   500 	
       
   501 	Completion: KErrBusy if a connected session already exists. 	
       
   502 	*/
       
   503 	KIMAP4MTMConnectAndSyncCompleteAfterFullSync,
       
   504 	
       
   505 	/** Connect and synchronise the specified service, and complete after disconnection.
       
   506 	
       
   507 	Unlike the other synchronisation commands, this command does not complete
       
   508 	after either connection or synchronisation. Instead, after the initial synchronisation
       
   509 	is complete, it periodically resynchronises the Inbox until the service is disconnected.
       
   510 	CImImap4Settings::SyncRate() sets the refresh period. 
       
   511 	
       
   512 	Disconnection can occur because the network connection is closed, either through 
       
   513 	user action, or because a networking timeout occurs on the socket. 
       
   514 	
       
   515 	@c aSelection: @c aSelection[0] should contain the entry ID of the service
       
   516 	to connect to.
       
   517 
       
   518 	@c aParameter: packages a pointer to an implementation of the connection
       
   519 	observer interface, MMsvImapConnectionObserver. Callbacks are made to this
       
   520 	interface to notify the client of the stages of connection and
       
   521 	synchronisation.
       
   522 
       
   523 	Completion: KErrBusy if a connected session already exists.
       
   524 	*/
       
   525 	KIMAP4MTMConnectAndSyncCompleteAfterDisconnect,
       
   526 	
       
   527 	/** Not supported. */
       
   528 	KIMAP4MTMCancelSendOnNextConnection,
       
   529 	
       
   530 	/** Copy any new messages from a specified folder to another folder,
       
   531 	assuming a new connection does not need to be made.
       
   532 
       
   533 	This is used after message headers have been synchronised. Any messages marked
       
   534 	as new are populated in the mirror, and then copied to the specified destination folder.
       
   535 
       
   536 	Pre-condition: a connected service.
       
   537 
       
   538 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   539 	@c aSelection[1] should contain the entry ID of the folder from which
       
   540 	to copy the entries.
       
   541 
       
   542 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   543 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   544 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   545 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   546 	the entire message is always fetched.
       
   547 
       
   548 	Completion: note if there are no new entries, then KErrNone, and progress
       
   549 	information is a null descriptor.	
       
   550 	*/
       
   551 	KIMAP4MTMCopyNewMailWhenAlreadyConnected,
       
   552 	
       
   553 	/** Connect to a specified service, copy any new messages from 
       
   554 	a specified folder into another folder, and stay connected. 
       
   555 	
       
   556 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   557 	@c aSelection[1] should contain the entry ID of the folder containing
       
   558 	the messages to copy.
       
   559 
       
   560 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   561 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   562 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   563 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   564 	the entire message is always fetched.
       
   565 
       
   566 	Completion: note if there are no new entries, then KErrNone, and progress
       
   567 	information is a null descriptor.			
       
   568 	*/
       
   569 	KIMAP4MTMConnectAndCopyNewMailAndStayOnline,
       
   570 	
       
   571 	/** Connect to a specified service, copy any new messages from 
       
   572 	a specified folder into another folder, and disconnect afterwards. 
       
   573 	
       
   574 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   575 	@c aSelection[1] should contain the entry ID of the folder containing
       
   576 	the messages to copy.
       
   577 
       
   578 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   579 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   580 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   581 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   582 	the entire message is always fetched.
       
   583 
       
   584 	Completion: note if there are no new entries, then KErrNone, and progress
       
   585 	information is a null descriptor.			
       
   586 	*/
       
   587 	KIMAP4MTMConnectAndCopyNewMailAndDisconnect,
       
   588 		
       
   589 	/** Move any new messages from a specified folder to another folder,
       
   590 	assuming a new connection does not need to be made.
       
   591 
       
   592 	This is used after message headers have been synchronised. Any messages marked
       
   593 	as new are populated in the mirror, and then moved to the specified destination folder.
       
   594 
       
   595 	Pre-condition: a connected service.
       
   596 
       
   597 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   598 	@c aSelection[1] should contain the entry ID of the folder from which
       
   599 	to move the entries.
       
   600 
       
   601 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   602 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   603 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   604 	are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   605 	the entire message is always fetched.
       
   606 
       
   607 	Completion: note if there are no new entries, then KErrNone, and progress
       
   608 	information is a null descriptor.	
       
   609 	*/
       
   610 	KIMAP4MTMMoveNewMailWhenAlreadyConnected,
       
   611 
       
   612 	/** Connect to a specified service, move any new messages from 
       
   613 	a specified folder into another folder, and stay connected. 
       
   614 	
       
   615 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   616 	@c aSelection[1] should contain the entry ID of the folder containing
       
   617 	the messages to move.
       
   618 
       
   619 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   620 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   621 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   622 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   623 	the entire message is always fetched.
       
   624 
       
   625 	Completion: note if there are no new entries, then KErrNone, and progress
       
   626 	information is a null descriptor.			
       
   627 	*/
       
   628 	KIMAP4MTMConnectAndMoveNewMailAndStayOnline,
       
   629 	
       
   630 	/** Connect to a specified service, move any new messages from 
       
   631 	a specified folder into another folder, and disconnect afterwards. 
       
   632 	
       
   633 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   634 	@c aSelection[1] should contain the entry ID of the folder containing
       
   635 	the messages to move.
       
   636 
       
   637 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   638 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   639 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   640 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   641 	the entire message is always fetched.
       
   642 
       
   643 	Completion: note if there are no new entries, then KErrNone, and progress
       
   644 	information is a null descriptor.			
       
   645 	*/
       
   646 	KIMAP4MTMConnectAndMoveNewMailAndDisconnect,
       
   647 
       
   648 	/** Copy the specified messages to another folder, assuming a new connection
       
   649 	does not need to be made.
       
   650 
       
   651 	The specified messages are populated in the mirror, and then copied to
       
   652 	the specified destination folder.
       
   653 
       
   654 	Pre-condition: a connected service.
       
   655 
       
   656 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   657 	followed by the IDs of the messages to copy.	
       
   658 
       
   659 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   660 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   661 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   662 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   663 	the entire message is always fetched.
       
   664 
       
   665 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   666 	information is a null descriptor.
       
   667 	*/
       
   668 	KIMAP4MTMCopyMailSelectionWhenAlreadyConnected,
       
   669 
       
   670 	/** Connect to a specified service, copy the specified messages to another 
       
   671 	folder, and stay connected.
       
   672 
       
   673 	The specified messages are populated in the mirror, and then copied to
       
   674 	the specified destination folder.
       
   675 
       
   676 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   677 	followed by the IDs of the messages to copy.	
       
   678 
       
   679 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   680 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   681 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   682 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   683 	the entire message is always fetched.
       
   684 
       
   685 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   686 	information is a null descriptor.
       
   687 	*/
       
   688 	KIMAP4MTMConnectAndCopyMailSelectionAndStayOnline,
       
   689 
       
   690 	/** Connect to a specified service, copy the specified messages to another 
       
   691 	folder, and disconnect afterwards.
       
   692 
       
   693 	The specified messages are populated in the mirror, and then copied to
       
   694 	the specified destination folder.
       
   695 
       
   696 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   697 	followed by the IDs of the messages to copy.	
       
   698 
       
   699 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   700 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   701 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   702 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   703 	the entire message is always fetched.
       
   704 
       
   705 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   706 	information is a null descriptor.
       
   707 	*/
       
   708 	KIMAP4MTMConnectAndCopyMailSelectionAndDisconnect,
       
   709 
       
   710 	/** Move the specified messages to another folder, assuming a new connection 
       
   711 	does not need to be made. 
       
   712 
       
   713 	Pre-condition: a connected service.
       
   714 
       
   715 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   716 	followed by the IDs of the messages to move.	
       
   717 
       
   718 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   719 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   720 	move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   721 	are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   722 	the entire message is always fetched.
       
   723 
       
   724 	Completion: note if there are no entries to move, then KErrNone, and progress
       
   725 	information is a null descriptor.	
       
   726 	*/
       
   727 	KIMAP4MTMMoveMailSelectionWhenAlreadyConnected,
       
   728 	
       
   729 	/** Connect to a specified service, move the specified messages to another 
       
   730 	folder, and stay connected.
       
   731 
       
   732 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   733 	followed by the IDs of the messages to move.	
       
   734 
       
   735 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   736 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   737 	move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   738 	are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   739 	the entire message is always fetched.
       
   740 
       
   741 	Completion: note if there are no entries to move, then KErrNone, and progress
       
   742 	information is a null descriptor.	
       
   743 	*/
       
   744 	KIMAP4MTMConnectAndMoveMailSelectionAndStayOnline,
       
   745 
       
   746 	/** Connect to a specified service, move the specified messages to another 
       
   747 	folder, and disconnect afterwards.
       
   748 
       
   749 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   750 	followed by the IDs of the messages to move.	
       
   751 
       
   752 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   753 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   754 	move the messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   755 	are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   756 	the entire message is always fetched.
       
   757 
       
   758 	Completion: note if there are no entries to move, then KErrNone, and progress
       
   759 	information is a null descriptor.	
       
   760 	*/
       
   761 	KIMAP4MTMConnectAndMoveMailSelectionAndDisconnect,
       
   762 
       
   763 	/** Copy all messages from the current service, assuming a new connection does 
       
   764 	not need to be made. 
       
   765 
       
   766 	Pre-condition: a connected service.
       
   767 
       
   768 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   769 	@c aSelection[1] should contain the entry ID of the folder from which
       
   770 	to copy the entries.
       
   771 
       
   772 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   773 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   774 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   775 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   776 	the entire message is always fetched.
       
   777 
       
   778 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   779 	information is a null descriptor.	
       
   780 	*/
       
   781 	KIMAP4MTMCopyAllMailWhenAlreadyConnected,
       
   782 
       
   783 	/** Connect to a specified service, copy all messages from the current service, 
       
   784 	and stay connected. 
       
   785 
       
   786 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   787 	@c aSelection[1] should contain the entry ID of the folder from which
       
   788 	to copy the entries.
       
   789 
       
   790 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   791 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   792 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   793 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   794 	the entire message is always fetched.
       
   795 
       
   796 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   797 	information is a null descriptor.	
       
   798 	*/
       
   799 	KIMAP4MTMConnectAndCopyAllMailAndStayOnline,
       
   800 
       
   801 	/** Connect to a specified service, copy all messages from the current service, 
       
   802 	and disconnect afterwards. 
       
   803 
       
   804 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   805 	@c aSelection[1] should contain the entry ID of the folder from which
       
   806 	to copy the entries.
       
   807 
       
   808 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   809 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   810 	copy the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   811 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   812 	the entire message is always fetched.
       
   813 
       
   814 	Completion: note if there are no entries to copy, then KErrNone, and progress
       
   815 	information is a null descriptor.	
       
   816 	*/
       
   817 	KIMAP4MTMConnectAndCopyAllMailAndDisconnect,
       
   818 
       
   819 	/** Move all messages from the specified folder, assuming a new connection does 
       
   820 	not need to be made. 
       
   821 
       
   822 	Pre-condition: a connected service.
       
   823 
       
   824 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   825 	@c aSelection[1] should contain the entry ID of the folder from which
       
   826 	to move the entries.
       
   827 
       
   828 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   829 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   830 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   831 	are not moved. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   832 	the entire message is always fetched.
       
   833 
       
   834 	Completion: note if there are no entries to move, then KErrNone, and progress
       
   835 	information is a null descriptor.	
       
   836 	*/
       
   837 	KIMAP4MTMMoveAllMailWhenAlreadyConnected,
       
   838 
       
   839 	/** Connect to a specified service, move all messages from 
       
   840 	a specified folder into another folder, and stay connected. 
       
   841 	
       
   842 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   843 	@c aSelection[1] should contain the entry ID of the folder containing
       
   844 	the messages to move.
       
   845 
       
   846 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   847 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   848 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   849 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   850 	the entire message is always fetched.
       
   851 
       
   852 	Completion: note if there are no new entries, then KErrNone, and progress
       
   853 	information is a null descriptor.			
       
   854 	*/	
       
   855 	KIMAP4MTMConnectAndMoveAllMailAndStayOnline,
       
   856 	
       
   857 	/** Connect to a specified service, move all messages from 
       
   858 	a specified folder into another folder, and disconnect afterwards. 
       
   859 	
       
   860 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   861 	@c aSelection[1] should contain the entry ID of the folder containing
       
   862 	the messages to move.
       
   863 
       
   864 	@c aParameter: packaged TImImap4GetMailInfo object.
       
   865 	TImImap4GetMailInfo::iDestinationFolder specifies the folder into which to
       
   866 	move the new messages. Messages with a size greater than TImImap4GetMailInfo::iMaxEmailSize 
       
   867 	are not copied. TImImap4GetMailInfo::iGetMailBodyParts is ignored:
       
   868 	the entire message is always fetched.
       
   869 
       
   870 	Completion: note if there are no new entries, then KErrNone, and progress
       
   871 	information is a null descriptor.			
       
   872 	*/	
       
   873 	KIMAP4MTMConnectAndMoveAllMailAndDisconnect,
       
   874 
       
   875 	/** Populate the specified messages, assuming a new connection does not need to be made. 
       
   876 
       
   877 	Pre-condition: a connected service.
       
   878 
       
   879 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   880 	followed by the IDs of the messages to populate.
       
   881 	
       
   882 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   883 	specifying the message parts to fetch and size limits on what is fetched.
       
   884 
       
   885 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   886 	information is a null descriptor.		
       
   887 	*/
       
   888 	KIMAP4MTMPopulateMailSelectionWhenAlreadyConnected,
       
   889 
       
   890 	/** Connect to a specified service, populate the specified messages, 
       
   891 	and stay connected.
       
   892 
       
   893 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   894 	followed by the IDs of the messages to populate.
       
   895 	
       
   896 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   897 	specifying the message parts to fetch and size limits on what is fetched.
       
   898 
       
   899 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   900 	information is a null descriptor.		
       
   901 	*/
       
   902 	KIMAP4MTMConnectAndPopulateMailSelectionAndStayOnline,
       
   903 	
       
   904 	/** Connect to a specified service, populate the specified messages, 
       
   905 	and disconnect afterwards.
       
   906 
       
   907 	@c aSelection: @c aSelection[0] should contain the entry ID of the service,
       
   908 	followed by the IDs of the messages to populate.
       
   909 	
       
   910 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   911 	specifying the message parts to fetch and size limits on what is fetched.
       
   912 
       
   913 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   914 	information is a null descriptor.		
       
   915 	*/
       
   916 	KIMAP4MTMConnectAndPopulateMailSelectionAndDisconnect,
       
   917 
       
   918 	/** Populate the new messages in a specified folder, assuming a new connection does 
       
   919 	not need to be made. 
       
   920 	
       
   921 	Pre-condition: a connected service.
       
   922 
       
   923 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   924 	@c aSelection[1] should contain the entry ID of the folder containing
       
   925 	the messages to populate.
       
   926 
       
   927 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   928 	specifying the message parts to fetch and size limits on what is fetched.
       
   929 
       
   930 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   931 	information is a null descriptor.			
       
   932 	*/
       
   933 	KIMAP4MTMPopulateNewMailWhenAlreadyConnected,
       
   934 
       
   935 	/** Populate all messages in a specified folder, assuming a new connection does 
       
   936 	not need to be made. 
       
   937 
       
   938 	Pre-condition: a connected service.
       
   939 
       
   940 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   941 	@c aSelection[1] should contain the entry ID of the folder containing
       
   942 	the messages to populate.
       
   943 	
       
   944 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   945 	specifying the message parts to fetch and size limits on what is fetched.
       
   946 
       
   947 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   948 	information is a null descriptor.		
       
   949 	*/
       
   950 	KIMAP4MTMPopulateAllMailWhenAlreadyConnected,
       
   951 
       
   952 	/** Connect to a specified service, populate the new messages in a specified 
       
   953 	folder, and stay connected. 
       
   954 	
       
   955 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   956 	@c aSelection[1] should contain the entry ID of the folder containing
       
   957 	the messages to populate.
       
   958 
       
   959 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   960 	specifying the message parts to fetch and size limits on what is fetched.
       
   961 
       
   962 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   963 	information is a null descriptor.			
       
   964 	*/
       
   965 	KIMAP4MTMConnectAndPopulateNewMailAndStayOnline,
       
   966 	
       
   967 	/** Connect to a specified service, populate the new messages in a specified 
       
   968 	folder, and disconnect afterwards. 
       
   969 	
       
   970 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   971 	@c aSelection[1] should contain the entry ID of the folder containing
       
   972 	the messages to populate.
       
   973 
       
   974 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   975 	specifying the message parts to fetch and size limits on what is fetched.
       
   976 
       
   977 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   978 	information is a null descriptor.			
       
   979 	*/
       
   980 	KIMAP4MTMConnectAndPopulateNewMailAndDisconnect,
       
   981 
       
   982 	/** Connect to a specified service, populate all messages in a specified 
       
   983 	folder, and stay connected. 
       
   984 
       
   985 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
   986 	@c aSelection[1] should contain the entry ID of the folder containing
       
   987 	the messages to populate.
       
   988 	
       
   989 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
   990 	specifying the message parts to fetch and size limits on what is fetched.
       
   991 
       
   992 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
   993 	information is a null descriptor.	
       
   994 	*/
       
   995 	KIMAP4MTMConnectAndPopulateAllMailAndStayOnline,
       
   996 	
       
   997 	/** Connect to a specified service, populate all messages in a specified 
       
   998 	folder, and disconnect afterwards. 
       
   999 
       
  1000 	@c aSelection: @c aSelection[0] should contain the entry ID of the service;
       
  1001 	@c aSelection[1] should contain the entry ID of the folder containing
       
  1002 	the messages to populate.
       
  1003 	
       
  1004 	@c aParameter: A packaged TImImap4GetPartialMailInfo or TImImap4GetMailInfo
       
  1005 	specifying the message parts to fetch and size limits on what is fetched.
       
  1006 
       
  1007 	Completion: note if there are no entries to populate, then KErrNone, and progress
       
  1008 	information is a null descriptor.	
       
  1009 	*/
       
  1010 	KIMAP4MTMConnectAndPopulateAllMailAndDisconnect,
       
  1011 
       
  1012 	/** Creates a new email message. 
       
  1013 
       
  1014 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder in 
       
  1015 	which to create the message.
       
  1016 	 
       
  1017 	@c aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying
       
  1018 	message creation flags and message type.
       
  1019 	
       
  1020 	The operation object returned is a CImEmailOperation. Final progress information 
       
  1021 	from this contains the ID of the newly created message.
       
  1022 	*/
       
  1023 	KIMAP4MTMCreateNewEmailMessage,
       
  1024 	
       
  1025 	/** Creates a new reply message. 
       
  1026 
       
  1027 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder in 
       
  1028 	which to create the message; @c aSelection[1] should contain the entry ID 
       
  1029 	of the message to which to create a reply.
       
  1030 	 
       
  1031 	@c aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying
       
  1032 	message creation flags and message type.
       
  1033 	
       
  1034 	The operation object returned is a CImEmailOperation. Final progress information 
       
  1035 	from this contains the ID of the newly created message.
       
  1036 	*/
       
  1037 	KIMAP4MTMCreateReplyEmailMessage,
       
  1038 		
       
  1039 	/** Creates a new forwarded message.
       
  1040 	
       
  1041 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder in 
       
  1042 	which to create the message; @c aSelection[1] should contain the entry ID 
       
  1043 	of the message to forward.
       
  1044 	 
       
  1045 	@c aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying
       
  1046 	message creation flags and message type.
       
  1047 	
       
  1048 	The operation object returned is a CImEmailOperation. Final progress information 
       
  1049 	from this contains the ID of the newly created message.
       
  1050 	*/
       
  1051 	KIMAP4MTMCreateForwardEmailMessage,
       
  1052 
       
  1053 	/** Creates a new forwarded message, with the original message as an attachment.
       
  1054 	
       
  1055 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder in 
       
  1056 	which to create the message; @c aSelection[1] should contain the entry ID 
       
  1057 	of the message to forward.
       
  1058 	 
       
  1059 	@c aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying
       
  1060 	message creation flags and message type.
       
  1061 	
       
  1062 	The operation object returned is a CImEmailOperation. Final progress information 
       
  1063 	from this contains the ID of the newly created message.
       
  1064 	*/
       
  1065 	KIMAP4MTMCreateForwardAsAttachmentEmailMessage,
       
  1066 
       
  1067 	/** Creates a new message-receipt message.
       
  1068 	
       
  1069 	@c aSelection: @c aSelection[0] should contain the entry ID of the folder in 
       
  1070 	which to create the message; @c aSelection[1] should contain the entry ID 
       
  1071 	of the original message for which the receipt is required.
       
  1072 	 
       
  1073 	@c aParameter: a packaged TImCreateMessageOptions (see miutmsg.h) object, specifying
       
  1074 	message creation flags and message type.
       
  1075 	
       
  1076 	The operation object returned is a CImEmailOperation. Final progress information 
       
  1077 	from this contains the ID of the newly created message.
       
  1078 	*/
       
  1079 	KIMAP4MTMCreateReceiptEmailMessage
       
  1080 };
       
  1081 
       
  1082 #endif