emailservices/emailframework/inc/CFSMailPlugin.h
changeset 4 e7aa27f58ae1
parent 0 8466d47a6819
child 8 e1b6206813b4
child 18 578830873419
--- a/emailservices/emailframework/inc/CFSMailPlugin.h	Tue Jan 26 11:45:42 2010 +0200
+++ b/emailservices/emailframework/inc/CFSMailPlugin.h	Tue Feb 02 00:02:40 2010 +0200
@@ -20,7 +20,7 @@
 
 #include <ecom/ecom.h>
 
-#include "mfsmailrequestobserver.h"
+#include "MFSMailRequestObserver.h"
 #include "mfsmaileventobserver.h"
 #include "cfsmailbox.h"
 #include "cfsmailplugin.hrh"
@@ -69,7 +69,7 @@
      */
      static void ListImplementationsL( RPointerArray<CImplementationInformation>& aInfo );
 
-	/** MAILBOX HANDLING API */
+    /** MAILBOX HANDLING API */
 
     /**
      * Enables synchronization of identified mailbox. This means
@@ -90,7 +90,7 @@
      * in offline state like network error or scheduling.
      *
      * @param aMailBoxId mailbox id request is accessed to
-	 */
+     */
      virtual void GoOnlineL( const TFSMailMsgId& aMailBoxId ) = 0;
 
     /**
@@ -102,7 +102,7 @@
      * mailboxes also.
      *
      * @param aMailBoxId mailbox id request is accessed to
-	 */
+     */
      virtual void GoOfflineL( const TFSMailMsgId& aMailBoxId ) = 0;
 
     /**
@@ -128,7 +128,7 @@
      *        will receive progress notifications during the operation.
      * @param aRequestId identifies asynchronous request if parallel
      * requests exist
-	 */
+     */
      virtual void RefreshNowL( const TFSMailMsgId& aMailBoxId,
                                MFSMailRequestObserver& aOperationObserver,
                                TInt aRequestId ) = 0;
@@ -177,8 +177,8 @@
      *
      * @return true/false
      */
-     virtual TBool MailboxHasCapabilityL( 	TFSMailBoxCapabilities aCapability,
-	 										TFSMailMsgId aMailBoxId ) = 0;
+     virtual TBool MailboxHasCapabilityL(   TFSMailBoxCapabilities aCapability,
+                                            TFSMailMsgId aMailBoxId ) = 0;
 
     /**
      * lists existing mailboxes contained by plugin
@@ -187,12 +187,12 @@
      *        table owned by user
      * to this table owned by framework
      */
-  	 virtual void ListMailBoxesL( RArray<TFSMailMsgId>& aMailboxes) = 0;
+     virtual void ListMailBoxesL( RArray<TFSMailMsgId>& aMailboxes) = 0;
 
     /**
      * returns email mailbox object related to given mailbox id
      * mailbox data set by plugin :
-     *				 - mailbox id
+     *               - mailbox id
      *               - mailbox name
      *               - branding id
      *               - mailbox capabilities
@@ -211,9 +211,9 @@
      * used to report progress notifications during the operation.
      * @param aRequestId asynchronous request id
      */
-     virtual void DeleteMailBoxByUidL(	const TFSMailMsgId& aMailBoxId,
-	                                    MFSMailRequestObserver& aOperationObserver,
-	                                    const TInt aRequestId ) = 0;
+     virtual void DeleteMailBoxByUidL(  const TFSMailMsgId& aMailBoxId,
+                                        MFSMailRequestObserver& aOperationObserver,
+                                        const TInt aRequestId ) = 0;
 
     /**
      * Returns branding id of this mailbox.
@@ -364,18 +364,18 @@
      virtual void SetMrusL( const TFSMailMsgId& aMailBoxId,
                             MDesCArray* aNewMruList ) = 0;
 
-	/** FOLDER HANDLING API */
+    /** FOLDER HANDLING API */
     /**
      * returns email folder object related to given folder id
      * folder data set by plugin :
-     *				 - folder id
+     *               - folder id
      *               - folder name
-     *				 - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
+     *               - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
      *               - message count
      *               - unread message count
      *               - mailbox id
-	 *				 - parent folder
-	 *
+     *               - parent folder
+     *
      * @param aMailBoxId id of mailbox containing folder
      * @param aFolderId folder id
      *
@@ -395,7 +395,7 @@
      *
      * @return new folder object CFSMailFolder to be owned by user
      */
-     virtual CFSMailFolder* CreateFolderL( 	const TFSMailMsgId& aMailBoxId,
+     virtual CFSMailFolder* CreateFolderL(  const TFSMailMsgId& aMailBoxId,
                                             const TFSMailMsgId& aParentFolderId,
                                             const TDesC& aFolderName,
                                             const TBool aSync ) = 0;
@@ -409,26 +409,26 @@
      virtual void DeleteFolderByUidL( const TFSMailMsgId& aMailBoxId,
                                       const TFSMailMsgId& aFolderId) = 0;
 
-	/**
-	 * Lists subfolders of given folder.
-	 * Only direct subfolders of given folder are returned.
-	 * Folder data :
-	 * - folder id
-	 * - folder name
-	 * - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
-	 * - message count
-	 * - unread message count
-	 * - mailbox id
-	 * - parent folder
-	 * - subfolder count
-	 *
-	 * @param aMailBoxId id of the mailbox where parent folder is located
-	 * @param aFolderId parent folder id. TFSMailId::NullId() for root level list.
-	 * @param aFolderList plugin writes results in this array owned by user
-	 */
-	 virtual void ListFoldersL(	const TFSMailMsgId& aMailBoxId,
-	                            const TFSMailMsgId& aParentFolderId,
-	                            RPointerArray<CFSMailFolder>& aFolderList) = 0;
+    /**
+     * Lists subfolders of given folder.
+     * Only direct subfolders of given folder are returned.
+     * Folder data :
+     * - folder id
+     * - folder name
+     * - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
+     * - message count
+     * - unread message count
+     * - mailbox id
+     * - parent folder
+     * - subfolder count
+     *
+     * @param aMailBoxId id of the mailbox where parent folder is located
+     * @param aFolderId parent folder id. TFSMailId::NullId() for root level list.
+     * @param aFolderList plugin writes results in this array owned by user
+     */
+     virtual void ListFoldersL( const TFSMailMsgId& aMailBoxId,
+                                const TFSMailMsgId& aParentFolderId,
+                                RPointerArray<CFSMailFolder>& aFolderList) = 0;
 
    /**
      * List all subfolders of given mailbox.
@@ -444,10 +444,10 @@
      *
      * @param aMailBoxId mailbox id
      * @param aFolderList plugin writes results in this array owned by user.
-	 * Caller must determine tree structure by examining parent id of each
+     * Caller must determine tree structure by examining parent id of each
      * returned folder.
      */
-     virtual void ListFoldersL(	const TFSMailMsgId& aMailBoxId,
+     virtual void ListFoldersL( const TFSMailMsgId& aMailBoxId,
                                 RPointerArray<CFSMailFolder>& aFolderList) = 0;
 
     /**
@@ -459,9 +459,9 @@
      * return folder id
      */
      virtual TFSMailMsgId GetStandardFolderIdL( const TFSMailMsgId& aMailBoxId,
-	 											const TFSFolderType aFolderType ) = 0;
+                                                const TFSFolderType aFolderType ) = 0;
 
-	/** MESSAGE FETCH AND STORE */
+    /** MESSAGE FETCH AND STORE */
     /**
      * List messages contained by given folder.
      * Returns email list iterator to user.
@@ -469,47 +469,47 @@
      * @param aMailBoxId id of the mailbox where parent folder is located
      * @param aFolderId folder id of given folder
      * @param aDetails defines which message details are included in messages
-	 * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
-	 * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
+     * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
+     * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
      *                      The rest would be retreived when needed but date is needed to build the list.
-	 * EFSMsgDataSubject -> Like above but when sorting by subject
-	 * EFSMsgDataSender  -> Likewise for sender address.
-	 * EFSMsgDataEnvelope, EFSMsgDataStructure -> email content type is returned by plugin
+     * EFSMsgDataSubject -> Like above but when sorting by subject
+     * EFSMsgDataSender  -> Likewise for sender address.
+     * EFSMsgDataEnvelope, EFSMsgDataStructure -> email content type is returned by plugin
      * @param aSorting describes requested sort criteria (owned by user).
      *        First item in array is primary sort criteria.
      *
      * @return Email list iterator, ownership is transferred to user.
-	 */
-	 virtual MFSMailIterator* ListMessagesL( const TFSMailMsgId& aMailBoxId,
-	                                         const TFSMailMsgId& aFolderId,
-	                                         const TFSMailDetails aDetails,
-	                                         const RArray<TFSMailSortCriteria>& aSorting ) = 0;
+     */
+     virtual MFSMailIterator* ListMessagesL( const TFSMailMsgId& aMailBoxId,
+                                             const TFSMailMsgId& aFolderId,
+                                             const TFSMailDetails aDetails,
+                                             const RArray<TFSMailSortCriteria>& aSorting ) = 0;
 
     /**
      * returns email object related to given message id
      *
      * message info set by plugin :
-     *				  - message id
+     *                - message id
      *                - mailbox
-     *				  - parent folder
+     *                - parent folder
      *                - message size
-	 *                - the rest is defined by message attributes ;
+     *                - the rest is defined by message attributes ;
      * @param aMailBoxId id of the mailbox containing email
      * @param aFolderId parent folder id containing email
      * @param aMessageId email message id
      *
      * @param aDetails defines which message parts are included in message
-	 * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
-	 * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
+     * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
+     * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
      *                      The rest would be retreived when needed but date is needed to build the list.
-	 * EFSMsgDataSubject -> Like above but when sorting by subject
-	 * EFSMsgDataSender  -> Likewise for sender address.
-	 * EFSMsgDataEnvelope, EFSMsgDataStructure ->
-	 * email content type is evaluated and returned by plugin
+     * EFSMsgDataSubject -> Like above but when sorting by subject
+     * EFSMsgDataSender  -> Likewise for sender address.
+     * EFSMsgDataEnvelope, EFSMsgDataStructure ->
+     * email content type is evaluated and returned by plugin
      *
      * @return email object (CFSMailMessage), ownership is transferred to user
      */
-     virtual CFSMailMessage* GetMessageByUidL( 	const TFSMailMsgId& aMailBoxId,
+     virtual CFSMailMessage* GetMessageByUidL(  const TFSMailMsgId& aMailBoxId,
                                                 const TFSMailMsgId& aParentFolderId,
                                                 const TFSMailMsgId& aMessageId,
                                                 const TFSMailDetails aDetails) = 0;
@@ -571,19 +571,19 @@
 
     /**
      * starts email fetching from email server
-	 *
+     *
      * @param aMailBoxId id of the mailbox where email is located
      * @param aFolderId id of the parent folder containing email
      * @param aMessageIds ids of email to be fetched
      * @param aDetails defines which details are included in email
-	 * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
-	 * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
+     * EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
+     * EFSMsgDataDate    -> Get received date only. To be used when showing messages sorted by date.
      *                      The rest would be retreived when needed but date is needed to build the list.
-	 * EFSMsgDataSubject -> Like above but when sorting by subject
-	 * EFSMsgDataSender  -> Likewise for sender address.
-	 * EFSMsgDataEnvelope -> Date, subject, Sender, To, Cc at least.
-	 * EFSMsgDataStructure -> the part structure including mime type, size and name headers.
-	 *
+     * EFSMsgDataSubject -> Like above but when sorting by subject
+     * EFSMsgDataSender  -> Likewise for sender address.
+     * EFSMsgDataEnvelope -> Date, subject, Sender, To, Cc at least.
+     * EFSMsgDataStructure -> the part structure including mime type, size and name headers.
+     *
      * @param aObserver observer (callback medhod), which plugin calls to pass progress
      *        events to user (like fetching has completed)
      * @param aRequestId asynchronous request id
@@ -597,7 +597,7 @@
 
     /**
      * starts email parts fetching from email server
-	 *
+     *
      * @param aMailBoxId id of the mailbox where email is located
      * @param aFolderId id of the parent folder containing email
      * @param aMessagePartIds part ids of email parts, which are to be fetched
@@ -619,27 +619,27 @@
 
 
     /* reads email objects from plugin store
-	 *
+     *
      * @param aMailBoxId id of the mailbox where email are located
      * @param aParentFolderId parent folder id containing emails
      * @param aMessageIds ids of emails to be read from plugin store
- 	 * @param aMessageList plugin writes results into this table owned by user
+     * @param aMessageList plugin writes results into this table owned by user
      * @param aDetails defines which email details are included in each email object
-	 *        EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
-	 *        EFSMsgDataDate    -> Get received date only. To be used when showing
-	 *        messages sorted by date. The rest would be retreived when needed but
-	 *        date is needed to build the list.
-	 *        EFSMsgDataSubject -> Like above but when sorting by subject
-	 *        EFSMsgDataSender  -> Likewise for sender address.
-	 *        EFSMsgDataEnvelope -> Date, subject, Sender, To, Cc at least.
-	 *        EFSMsgDataStructure -> the part structure including mime type,
-	 *        size and name headers.
-	 */
-	 virtual void GetMessagesL(	const TFSMailMsgId& aMailBoxId,
-	                            const TFSMailMsgId& aParentFolderId,
-	                            const RArray<TFSMailMsgId>& aMessageIds,
-	                            RPointerArray<CFSMailMessage>& aMessageList,
-	                            const TFSMailDetails aDetails ) = 0;
+     *        EFSMsgDataIdOnly  -> Doesn't get any data. The object just contains the ID.
+     *        EFSMsgDataDate    -> Get received date only. To be used when showing
+     *        messages sorted by date. The rest would be retreived when needed but
+     *        date is needed to build the list.
+     *        EFSMsgDataSubject -> Like above but when sorting by subject
+     *        EFSMsgDataSender  -> Likewise for sender address.
+     *        EFSMsgDataEnvelope -> Date, subject, Sender, To, Cc at least.
+     *        EFSMsgDataStructure -> the part structure including mime type,
+     *        size and name headers.
+     */
+     virtual void GetMessagesL( const TFSMailMsgId& aMailBoxId,
+                                const TFSMailMsgId& aParentFolderId,
+                                const RArray<TFSMailMsgId>& aMessageIds,
+                                RPointerArray<CFSMailMessage>& aMessageList,
+                                const TFSMailDetails aDetails ) = 0;
 
     /**
      * Returns child part objects for given email part. Ownership of objects
@@ -691,35 +691,35 @@
      *
      * return new child part object, ownership is transferred to user
      */
-	 virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId,
-	                                                    const TFSMailMsgId& aParentFolderId,
-	                                                    const TFSMailMsgId& aMessageId,
-	                                                    const TFSMailMsgId& aParentPartId,
-	                                                    const TDesC& aContentType,
-	                                                    const TDesC& aFilePath) = 0;
+     virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId,
+                                                        const TFSMailMsgId& aParentFolderId,
+                                                        const TFSMailMsgId& aMessageId,
+                                                        const TFSMailMsgId& aParentPartId,
+                                                        const TDesC& aContentType,
+                                                        const TDesC& aFilePath) = 0;
 
 
-	 /**
-	  * Creates and adds a new child part from file to given email part.
-	  *
-	  * @param aMailBoxId id of the mailbox where parent part is located
-	  * @param aParentFolderId id of the parent folder where email is located
-	  * @param aMessageId id of the email parent part belongs to
-	  * @param aParentPartId id of the parent part of the new part
-	  * @param aInsertBefore id of existing part that new part should precede.
-	  * If aInsertBefore is NULL id then new part is added as last.
-	  * @param aContentType content type of the new message part
-	  * @param aFile access to file containing new child part contents,
-	  *  ownership is transferred
-	  *
-	  * return new child part object, ownership is transferred to user
-	  */
-	  virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId,
-	                                                     const TFSMailMsgId& aParentFolderId,
-	                                                     const TFSMailMsgId& aMessageId,
-	                                                     const TFSMailMsgId& aParentPartId,
-	                                                     const TDesC& aContentType,
-	                                                     RFile& aFile ) = 0;
+     /**
+      * Creates and adds a new child part from file to given email part.
+      *
+      * @param aMailBoxId id of the mailbox where parent part is located
+      * @param aParentFolderId id of the parent folder where email is located
+      * @param aMessageId id of the email parent part belongs to
+      * @param aParentPartId id of the parent part of the new part
+      * @param aInsertBefore id of existing part that new part should precede.
+      * If aInsertBefore is NULL id then new part is added as last.
+      * @param aContentType content type of the new message part
+      * @param aFile access to file containing new child part contents,
+      *  ownership is transferred
+      *
+      * return new child part object, ownership is transferred to user
+      */
+      virtual CFSMailMessagePart* NewChildPartFromFileL( const TFSMailMsgId& aMailBoxId,
+                                                         const TFSMailMsgId& aParentFolderId,
+                                                         const TFSMailMsgId& aMessageId,
+                                                         const TFSMailMsgId& aParentPartId,
+                                                         const TDesC& aContentType,
+                                                         RFile& aFile ) = 0;
 
 
     /**
@@ -751,7 +751,7 @@
      * @param aParentPartId id of the parent of the part
      * @param aPartId id of the part to removed
      */
-     virtual void RemoveChildPartL(	const TFSMailMsgId& aMailBoxId,
+     virtual void RemoveChildPartL( const TFSMailMsgId& aMailBoxId,
                                     const TFSMailMsgId& aParentFolderId,
                                     const TFSMailMsgId& aMessageId,
                                     const TFSMailMsgId& aParentPartId,
@@ -837,11 +837,11 @@
      * @param aMessageId id of the email part belongs to
      * @param aMessagePartId id of the message part
      */
-	 virtual void SetContentL(	const TDesC& aBuffer,
-	 						  	const TFSMailMsgId& aMailBoxId,
-     							const TFSMailMsgId& aParentFolderId,
-								const TFSMailMsgId& aMessageId,
-	 							const TFSMailMsgId& aMessagePartId) = 0;
+     virtual void SetContentL(  const TDesC& aBuffer,
+                                const TFSMailMsgId& aMailBoxId,
+                                const TFSMailMsgId& aParentFolderId,
+                                const TFSMailMsgId& aMessageId,
+                                const TFSMailMsgId& aMessagePartId) = 0;
 
     /**
      * Removes fetched contents of these parts.
@@ -851,10 +851,10 @@
      * @param aMessageId gives the id of the message that message part belongs to
      * @param aPartIds message part ids to be removed
      */
-     virtual void RemovePartContentL( 	const TFSMailMsgId& aMailBoxId,
-     	     							const TFSMailMsgId& aParentFolderId,
-									  	const TFSMailMsgId& aMessageId,
-     								  	const RArray<TFSMailMsgId>& aPartIds) = 0;
+     virtual void RemovePartContentL(   const TFSMailMsgId& aMailBoxId,
+                                        const TFSMailMsgId& aParentFolderId,
+                                        const TFSMailMsgId& aMessageId,
+                                        const RArray<TFSMailMsgId>& aPartIds) = 0;
 
     /**
      * Sets email part contents from given file.
@@ -881,9 +881,9 @@
      * @param aMessagePart email part data to be stored
      */
      virtual void StoreMessagePartL( const TFSMailMsgId& aMailBoxId,
-   	     							 const TFSMailMsgId& aParentFolderId,
-									 const TFSMailMsgId& aMessageId,
-         							 CFSMailMessagePart& aMessagePart) = 0;
+                                     const TFSMailMsgId& aParentFolderId,
+                                     const TFSMailMsgId& aMessageId,
+                                     CFSMailMessagePart& aMessagePart) = 0;
 
     /**
      * unregisters request observer to cancel pending events
@@ -902,8 +902,8 @@
 
     /**
      * Returns pending asynchronous request status, request is identified
-	 * by request id if parallel requests exists
-	 *
+     * by request id if parallel requests exists
+     *
      * @param aRequestId request id
      *
      * @return pending request status
@@ -914,10 +914,10 @@
      * cancels pending request
      *
      * @param aRequestId identifies request if parallel requests exists
-	 */
+     */
      virtual void CancelL( const TInt aRequestId ) = 0;
 
-	/** Search API */
+    /** Search API */
 
     /**
      * Asyncronous call for starting search for given string. Only one search can be
@@ -934,15 +934,15 @@
      * results generated by the same search string.
      *
      * The function will leave with KErrInUse if a search is already in progress.
-	 *
+     *
      * /note Only works if the store is in an authenticated state,
      *  otherwise this function leaves with KErrNotReady
      *
      * @paran aMailBoxId id of the mailbox where messages are to be searched
      * @param aFolderIds list of folders where messages are to be searched
-	 * 	      global or folder specific search depends on the size of array is 0 or not.
+     *        global or folder specific search depends on the size of array is 0 or not.
      * @param aSearchStrings text strings that will be searched from different message fields.
-	 * @param aSortCriteria sort criteria for the results
+     * @param aSortCriteria sort criteria for the results
      * @param aSearchObserver client observer that will be notified about search status.
      *
      */
@@ -956,12 +956,12 @@
     /**
      * Cancels current search. Does nothing if there is not any search.
      * The search client will not be called back after this function is called.
-	 *
+     *
      * \note CancelSearch() method does NOT clear the search result cached in the store.
      *       A different sort order can be used for the same search string, and the
      *       cache will be utilized.  Only by using a different search string can the
      *       cache be cleaned.
-	 *
+     *
      * @paran aMailBoxId id of the mailbox where the search should be cancelled
      */
      virtual void CancelSearch( const TFSMailMsgId& aMailBoxId ) = 0;
@@ -972,9 +972,9 @@
      * This method cancels the the ongoing search (if exists), and then clean ups store's cache.
      *
      * This function should be called when search results are no longer in display.
-	 *
+     *
      * @paran aMailBoxId id of the mailbox where the search cache should be cleared
-	 */
+     */
      virtual void ClearSearchResultCache( const TFSMailMsgId& aMailBoxId ) = 0;
 
     /**
@@ -1003,7 +1003,7 @@
      virtual void AuthenticateL(MFSMailRequestObserver& aOperationObserver, TInt aRequestId) = 0;
 
     /**
-	 * sets authentication popup data
+     * sets authentication popup data
      * @param aMailBoxId id of the mailbox
      * @param aUsername email account user name
      * @param aPassword email account password
@@ -1029,7 +1029,7 @@
 
 private:
 
-  	/**
+    /**
      * Two-phased constructor
      */
      void ConstructL();
@@ -1039,7 +1039,7 @@
     /**
      * instance identifier key for destructor
      */
-    TUid		iDtor_ID_Key;
+    TUid        iDtor_ID_Key;
 
     };