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