emailservices/emailcommon/inc/CFSMailBox.h
changeset 20 ecc8def7944a
parent 18 578830873419
child 30 759dc5235cdb
equal deleted inserted replaced
18:578830873419 20:ecc8def7944a
     1 /*
     1 /*
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). 
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    39 
    39 
    40 /**
    40 /**
    41  *  mailbox data handling
    41  *  mailbox data handling
    42  *
    42  *
    43  *  @lib FSFWCommonLib
    43  *  @lib FSFWCommonLib
    44  *  @since S60 v3.1
       
    45  */
    44  */
    46 NONSHARABLE_CLASS ( CFSMailBox ) : public CFSMailBoxBase
    45 NONSHARABLE_CLASS ( CFSMailBox ) : public CFSMailBoxBase
    47 {
    46 {
    48  public:
    47  public:
    49   
    48   
    55     /**
    54     /**
    56      * two based constructor
    55      * two based constructor
    57      *
    56      *
    58      * @param aMailBoxId mailbox id in plugin containing mailbox
    57      * @param aMailBoxId mailbox id in plugin containing mailbox
    59      */
    58      */
    60     IMPORT_C static CFSMailBox* NewL( TFSMailMsgId aMailBoxId );
    59   	 IMPORT_C static CFSMailBox* NewL( TFSMailMsgId aMailBoxId	);
    61     
    60   	
    62     /**
    61     /**
    63      * two based constructor
    62      * two based constructor
    64      *
    63      *
    65      * @param aMailBoxId mailbox id in plugin containing mailbox
    64      * @param aMailBoxId mailbox id in plugin containing mailbox
    66      */
    65      */
    67      IMPORT_C static CFSMailBox* NewLC( TFSMailMsgId aMailBoxId );
    66   	 IMPORT_C static CFSMailBox* NewLC( TFSMailMsgId aMailBoxId );
    68     
    67   	
    69     /**
    68     /**
    70      * Enables synchronization of the mailbox. This means
    69      * Enables synchronization of the mailbox. This means
    71      * that the framework can connect to server to do synchronization
    70      * that the framework can connect to server to do synchronization
    72      * of the mailbox when necessary or stay connected all the time.
    71      * of the mailbox when necessary or stay connected all the time.
    73      * The actual functionality depends on user settings and
    72      * The actual functionality depends on user settings and
    82      *
    81      *
    83      * Connection is set offline normally by using specific function
    82      * Connection is set offline normally by using specific function
    84      * for this purpose. There are also other reasons for ending up
    83      * for this purpose. There are also other reasons for ending up
    85      * in offline state like network error or scheduling.
    84      * in offline state like network error or scheduling.
    86      * 
    85      * 
    87      */
    86 	 */
    88     IMPORT_C void GoOnlineL();
    87      IMPORT_C void GoOnlineL();
    89 
    88 
    90     /**
    89     /**
    91      * Disables mailbox synchronization. Connection to server
    90      * Disables mailbox synchronization. Connection to server
    92      * in order to synchronize the mailbox is not allowed
    91      * in order to synchronize the mailbox is not allowed
    93      * after this.
    92      * after this.
    94      *
    93      *
    95      * If GoOnlineL has effect on other mailboxes using the
    94      * If GoOnlineL has effect on other mailboxes using the
    96      * same connection then this function has effect on those
    95      * same connection then this function has effect on those
    97      * mailboxes also.
    96      * mailboxes also.
    98      * 
    97      * 
    99      */
    98 	 */
   100     IMPORT_C void GoOfflineL();
    99      IMPORT_C void GoOfflineL();
   101 
   100 
   102     /**
   101     /**
   103      * Returns last synchronizing operation progress status.
   102      * Returns last synchronizing operation progress status.
   104      *
   103      *
   105      * @return last sync operation progress status
   104      * @return last sync operation progress status
   106      * 
   105      * 
   107      */
   106 	 */
   108     IMPORT_C TFSProgress GetLastSyncStatusL();
   107      IMPORT_C TFSProgress GetLastSyncStatusL();
   109 
   108 
   110     /**
   109     /**
   111      * Forces synchronization of mailbox. This can be called
   110      * Forces synchronization of mailbox. This can be called
   112      * whether the mailbox is currently offline or online. In the
   111      * whether the mailbox is currently offline or online. In the
   113      * case the mailbox is offline in the beginning, connection
   112      * case the mailbox is offline in the beginning, connection
   129      * as comprehensive as the observing using dedicated observer.
   128      * as comprehensive as the observing using dedicated observer.
   130      *
   129      *
   131      * @param aOperationObserver optional observer given by user
   130      * @param aOperationObserver optional observer given by user
   132      *
   131      *
   133      * @return asynchronous request id
   132      * @return asynchronous request id
   134      */
   133 	 */
   135     IMPORT_C TInt RefreshNowL( MFSMailRequestObserver& aOperationObserver );
   134      IMPORT_C TInt RefreshNowL( MFSMailRequestObserver& aOperationObserver );
   136 
   135 
   137     IMPORT_C TInt RefreshNowL();
   136      IMPORT_C TInt RefreshNowL( );
   138     
   137   	
   139     /**
   138     /**
   140      * cancels all ongoing synchronizations in this mailbox regardless
   139      * cancels all ongoing synchronizations in this mailbox regardless
   141      * of initiator, by user or by plugin itself
   140      * of initiator, by user or by plugin itself
   142      *
   141      *
   143      */
   142 	 */
   144     IMPORT_C void CancelSyncL();
   143      IMPORT_C void CancelSyncL();
   145 
   144 
   146     /**
   145     /**
   147      * creates into this mailbox new draft email 
   146      * creates into this mailbox new draft email 
   148      *
   147      *
   149      * @return new draft email object, ownership is transferred to user
   148      * @return new draft email object, ownership is transferred to user
   150      */
   149      */
   151     IMPORT_C CFSMailMessage* CreateMessageToSend();
   150   	 IMPORT_C CFSMailMessage* CreateMessageToSend( );
   152 
   151 
   153 // <qmail>  	 
   152 // <qmail>  	 
   154     /**
   153     /**
   155      * Creates a new draft email into this mailbox asynchronously. When the operation
   154      * Creates a new draft email into this mailbox asynchronously. When the operation
   156      * finishes, RequestResponseL is called on the observer and the created message is 
   155      * finishes, RequestResponseL is called on the observer and the created message is 
   176         const TFSMailMsgId aMailboxId,
   175         const TFSMailMsgId aMailboxId,
   177         RPointerArray<CFSMailMessage> &messages,
   176         RPointerArray<CFSMailMessage> &messages,
   178         MFSMailRequestObserver& aOperationObserver );
   177         MFSMailRequestObserver& aOperationObserver );
   179 // </qmail> 
   178 // </qmail> 
   180     
   179     
   181      /**
   180     /**
   182      * creates into this mailbox new draft email to be forwarded 
   181      * creates into this mailbox new draft email to be forwarded 
   183      *
   182      *
   184      * @param aOriginalMessageId message id of the original message to be forwarded
   183      * @param aOriginalMessageId message id of the original message to be forwarded
   185      * @param aHeaderDescriptor user can give quote headers data to plugin as
   184      * @param aHeaderDescriptor user can give quote headers data to plugin as
   186      *  parameter if needed
   185      *  parameter if needed
   187      *
   186      *
   188      * @return new draft email object, ownership is transferred to user
   187      * @return new draft email object, ownership is transferred to user
   189      */
   188      */
   190     IMPORT_C CFSMailMessage* CreateForwardMessage( const TFSMailMsgId aOriginalMessageId,
   189   	 IMPORT_C CFSMailMessage* CreateForwardMessage( const TFSMailMsgId aOriginalMessageId,
   191                             const TDesC& aHeaderDescriptor = KNullDesC );
   190   	 												const TDesC& aHeaderDescriptor = KNullDesC  );
   192 
   191 
   193 // <qmail>       
   192 // <qmail>       
   194     /**
   193     /**
   195      * creates into this mailbox new draft email to be forwarded asynchronously
   194      * creates into this mailbox new draft email to be forwarded asynchronously
   196      * When the operation finishes, RequestResponseL is called on the observer and 
   195      * When the operation finishes, RequestResponseL is called on the observer and 
   216      * @param aHeaderDescriptor user can give quote headers data to plugin as
   215      * @param aHeaderDescriptor user can give quote headers data to plugin as
   217      *  parameter if needed
   216      *  parameter if needed
   218      *
   217      *
   219      * @return new draft email object, ownership is transferred to user
   218      * @return new draft email object, ownership is transferred to user
   220      */
   219      */
   221     IMPORT_C CFSMailMessage* CreateReplyMessage( const TFSMailMsgId aOriginalMessageId,
   220   	 IMPORT_C CFSMailMessage* CreateReplyMessage(	const TFSMailMsgId aOriginalMessageId,
   222                             const TBool aReplyToAll,
   221   	 							 					const TBool aReplyToAll,
   223                             const TDesC& aHeaderDescriptor = KNullDesC );
   222   	 							 					const TDesC& aHeaderDescriptor = KNullDesC  );
   224 
   223 
   225 // <qmail>       
   224 // <qmail>       
   226     /**
   225     /**
   227      * creates into this mailbox new email for reply
   226      * creates into this mailbox new email for reply
   228      *
   227      *
   243     /**
   242     /**
   244      * sends email
   243      * sends email
   245      *
   244      *
   246      * @param aMessage message to be sent
   245      * @param aMessage message to be sent
   247      */
   246      */
   248     IMPORT_C void SendMessageL( CFSMailMessage& aMessage );
   247 	 IMPORT_C void SendMessageL(CFSMailMessage& aMessage);
   249 
   248 
   250 // <qmail>
   249 // <qmail>
   251     /**
   250     /**
   252      * sends email
   251      * sends email
   253      *
   252      *
   257                                 MFSMailRequestObserver& aOperationObserver );
   256                                 MFSMailRequestObserver& aOperationObserver );
   258 
   257 
   259 // </qmail>
   258 // </qmail>
   260 
   259 
   261     /**
   260     /**
   262      * List subfolders of given folder.
   261 	 * List subfolders of given folder.
   263      * Only direct subfolders of given folder are returned.
   262 	 * Only direct subfolders of given folder are returned.
   264        *
   263 	 *
   265        * folder data : 
   264 	 * folder data : 
   266        * - folder id
   265 	 * - folder id
   267        * - folder name
   266 	 * - folder name
   268        * - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
   267 	 * - folder type ; Inbox, Outbox, Sent, Drafts, Deleted, Other
   269        * - message count
   268 	 * - message count
   270        * - unread message count
   269 	 * - unread message count
   271        * - mailbox id 
   270 	 * - mailbox id 
   272        * - parent folder
   271 	 * - parent folder
   273        * - subfolder count
   272 	 * - subfolder count
   274        *
   273 	 *
   275        * @param aFolderId defines parent folder id. TFSMailId::NullId() for root level list.
   274 	 * @param aFolderId defines parent folder id. TFSMailId::NullId() for root level list.
   276        * @param aFolderList plugin writes results in this array owned by user
   275 	 * @param aFolderList plugin writes results in this array owned by user
   277        */
   276 	 */
   278     IMPORT_C void ListFolders( const TFSMailMsgId aFolderId, RPointerArray<CFSMailFolder>& aFolderList ); 
   277 	 IMPORT_C void ListFolders( const TFSMailMsgId aFolderId, RPointerArray<CFSMailFolder>& aFolderList); 
   279 
   278 
   280       /**
   279 	/**
   281        * List all subfolders of mailbox.
   280 	 * List all subfolders of mailbox.
   282        *
   281 	 *
   283        * folder data : 
   282 	 * folder data : 
   284        * - folder id
   283 	 * - folder id
   285        * - folder name
   284 	 * - folder name
   286        * - folder type ; Inbox, Outbox, Sent Items, Drafts, Deleted Items, Other
   285 	 * - folder type ; Inbox, Outbox, Sent Items, Drafts, Deleted Items, Other
   287        * - message count
   286 	 * - message count
   288        * - unread message count
   287 	 * - unread message count
   289        * - mailbox id 
   288 	 * - mailbox id 
   290        * - parent folder
   289 	 * - parent folder
   291        * - subfolder count
   290 	 * - subfolder count
   292        *
   291 	 *
   293        * @return results in this array owned by this object, caller must determine
   292 	 * @return results in this array owned by this object, caller must determine
   294        *         tree structure by examining parent id of each returned folder.
   293 	 *         tree structure by examining parent id of each returned folder.
   295        */
   294 	 */
   296     IMPORT_C RPointerArray<CFSMailFolder>& ListFolders(); 
   295 	 IMPORT_C RPointerArray<CFSMailFolder>& ListFolders(  ); 
   297 
   296 
   298     /**
   297     /**
   299      * Standard folder id accessor.
   298      * Standard folder id accessor.
   300      *
   299      *
   301      * @param aFolderType defines folder type
   300      * @param aFolderType defines folder type
   302      * @return standard folder id
   301      * @return standard folder id
   303      */
   302      */
   304     IMPORT_C TFSMailMsgId GetStandardFolderId( const TFSFolderType aFolderType );
   303 	 IMPORT_C TFSMailMsgId GetStandardFolderId( const TFSFolderType aFolderType );
   305 
   304 
   306 
   305 
   307     /**
   306     /**
   308      * Branding id accessor for this mailbox. This function is used by Branding Manager
   307      * Branding id accessor for this mailbox. This function is used by Branding Manager
   309      * to associate mailbox to a branding definition.
   308      * to associate mailbox to a branding definition.
   310      *
   309      *
   311      * @return branding id
   310      * @return branding id
   312      */
   311      */
   313     IMPORT_C TDesC& GetBrandingIdL( );
   312      IMPORT_C TDesC& GetBrandingIdL( );
   314 
   313 
   315 
   314 
   316     /**
   315     /**
   317      * Moves a messages between folders.
   316      * Moves a messages between folders.
   318      *
   317      *
   319      * @param aMessageIds ids of the messages to be transferred
   318      * @param aMessageIds ids of the messages to be transferred
   320      * @param aSourceFolderId source folder id
   319      * @param aSourceFolderId source folder id
   321      * @param aDestinationFolderId destination folder id
   320      * @param aDestinationFolderId destination folder id
   322      */    
   321      */    
   323     IMPORT_C void MoveMessagesL( const RArray<TFSMailMsgId>& aMessageIds, 
   322      IMPORT_C void MoveMessagesL( const RArray<TFSMailMsgId>& aMessageIds, 
   324                                  const TFSMailMsgId aSourceFolderId, 
   323                                   const TFSMailMsgId aSourceFolderId, 
   325                                  const TFSMailMsgId aDestinationFolderId );
   324                                   const TFSMailMsgId aDestinationFolderId );
   326 
   325 
       
   326      /**
       
   327      * Moves a messages between folders. Async version.
       
   328      *                            
       
   329      * @param MFSMailRequestObserver& aOperationObserver for callback
       
   330      * @param aMessageIds ids of the messages to be transferred
       
   331      * @param aSourceFolderId source folder id
       
   332      * @param aDestinationFolderId destination folder id
       
   333      */    
       
   334 	 IMPORT_C TInt MoveMessagesL( MFSMailRequestObserver& aOperationObserver,
       
   335                                   const RArray<TFSMailMsgId>& aMessageIds, 
       
   336                                   const TFSMailMsgId aSourceFolderId, 
       
   337                                   const TFSMailMsgId aDestinationFolderId );
   327     /**
   338     /**
   328      * Copies a messages from one folder to another folder.
   339      * Copies a messages from one folder to another folder.
   329      * including the properties, content, and all attachments. 
   340      * including the properties, content, and all attachments. 
   330      * (note only works if the store is in an authenticated state,
   341      * (note only works if the store is in an authenticated state,
   331      *  otherwise this function leaves with KErrNotReady)
   342      *  otherwise this function leaves with KErrNotReady)
   334      * @param aCopiedMessages table containing (new) ids of the copied messages
   345      * @param aCopiedMessages table containing (new) ids of the copied messages
   335      *        owned by user
   346      *        owned by user
   336      * @param aSourceFolderId source folder id
   347      * @param aSourceFolderId source folder id
   337      * @param aDestinationFolderId destination folder id
   348      * @param aDestinationFolderId destination folder id
   338      */    
   349      */    
   339     IMPORT_C void CopyMessagesL( const RArray<TFSMailMsgId>& aMessageIds, 
   350      IMPORT_C void CopyMessagesL(	const RArray<TFSMailMsgId>& aMessageIds, 
   340                                  RArray<TFSMailMsgId>& aCopiedMessages,
   351 							  		RArray<TFSMailMsgId>& aCopiedMessages,
   341                                  const TFSMailMsgId aSourceFolderId, 
   352                               		const TFSMailMsgId aSourceFolderId, 
   342                                  const TFSMailMsgId aDestinationFolderId );
   353                               		const TFSMailMsgId aDestinationFolderId );
   343                                   
   354                               		
   344     /**
   355     /**
   345      * Asyncronous call for starting search for given string. Only one search can be
   356      * Asyncronous call for starting search for given string. Only one search can be
   346      * performed at a time.
   357      * performed at a time.
   347      *
   358      *
   348      * This function will search for message's containing the given search string.
   359      * This function will search for message's containing the given search string.
   353      * To change the sort order in the search result, use the same search string in the
   364      * To change the sort order in the search result, use the same search string in the
   354      * but change the aSortCriteria parameter.  The store "caches" the search
   365      * but change the aSortCriteria parameter.  The store "caches" the search
   355      * results generated by the same search string.
   366      * results generated by the same search string.
   356      *    
   367      *    
   357      * The function will leave with KErrInUse if a search is already in progress.
   368      * The function will leave with KErrInUse if a search is already in progress.
   358    *
   369 	 *
   359      * note only works if the store is in an authenticated state,
   370      * note only works if the store is in an authenticated state,
   360      * otherwise this function leaves with KErrNotReady
   371      * otherwise this function leaves with KErrNotReady
   361      *
   372      *
   362      * @param aSearchStrings text strings that will be searched from different message fields.
   373      * @param aSearchStrings text strings that will be searched from different message fields.
   363    * @param aSortCriteria sort criteria for the results
   374 	 * @param aSortCriteria sort criteria for the results
   364    * @param aSortCriteria sort criteria for the results
   375 	 * @param aSortCriteria sort criteria for the results
   365      * @param aFolderIds user can give list of folders to be searched
   376      * @param aFolderIds user can give list of folders to be searched
   366      */    
   377      */    
   367     IMPORT_C void SearchL( const RPointerArray<TDesC>& aSearchStrings,
   378 	 IMPORT_C void SearchL( const RPointerArray<TDesC>& aSearchStrings,
   368                            const TFSMailSortCriteria& aSortCriteria,
   379 						    const TFSMailSortCriteria& aSortCriteria,
   369                            MFSMailBoxSearchObserver& aSearchObserver );
   380 					 	    MFSMailBoxSearchObserver& aSearchObserver );
   370 
   381 
   371     IMPORT_C void SearchL( const RPointerArray<TDesC>& aSearchStrings,
   382 	 IMPORT_C void SearchL( const RPointerArray<TDesC>& aSearchStrings,
   372                            const TFSMailSortCriteria& aSortCriteria,
   383 						    const TFSMailSortCriteria& aSortCriteria,
   373                            MFSMailBoxSearchObserver& aSearchObserver,
   384 					 	    MFSMailBoxSearchObserver& aSearchObserver,
   374                            RArray<TFSMailMsgId> aFolderIds );
   385                             RArray<TFSMailMsgId> aFolderIds );
   375     /**
   386     /**
   376      * Cancels current search. Does nothing if there is not any search ongoing.
   387      * Cancels current search. Does nothing if there is not any search ongoing.
   377      * The search client will not be called back after this function is called.
   388      * The search client will not be called back after this function is called.
   378      *
   389 	 *
   379      * note CancelSearch() method does NOT clear the search result cached in the store. 
   390      * note CancelSearch() method does NOT clear the search result cached in the store. 
   380      *       A different sort order can be used for the same search string, and the 
   391      *       A different sort order can be used for the same search string, and the 
   381      *       cache will be utilized.  Only by using a different search string can the
   392      *       cache will be utilized.  Only by using a different search string can the
   382      *       cache be cleaned.
   393      *       cache be cleaned.
   383      */    
   394      */    
   384     IMPORT_C void CancelSearch();
   395 	 IMPORT_C void CancelSearch();
   385 
   396 
   386     /**
   397     /**
   387      * Inform the store to clean up its cache for search results.
   398      * Inform the store to clean up its cache for search results.
   388      *        
   399      *        
   389      *  This method cancels the the ongoing search (if exists), and then clean ups store's cache.
   400      *  This method cancels the the ongoing search (if exists), and then clean ups store's cache.
   390      * 
   401      * 
   391      *  This function should be called by the UI when search results are no longer in display.
   402      *  This function should be called by the UI when search results are no longer in display.
   392      */
   403      */
   393     IMPORT_C void ClearSearchResultCache();
   404      IMPORT_C void ClearSearchResultCache();
   394 
   405 
   395     /**
   406 	/**
   396      * DEPRECATED
   407 	 * DEPRECATED
   397      *
   408 	 *
   398      * @param aFolderId...
   409      * @param aFolderId...
   399      * @param aObserver observer
   410      * @param aObserver observer
   400      */    
   411      */    
   401     IMPORT_C void AddObserver( const TFSMailMsgId aFolderId, MFSMailEventObserver& aObserver );
   412 	 IMPORT_C void AddObserver(const TFSMailMsgId aFolderId, MFSMailEventObserver& aObserver);
   402 
   413 
   403     /** 
   414     /** 
   404      *  Get a list of most recently used addresses of this mailbox.
   415      *  Get a list of most recently used addresses of this mailbox.
   405      *  Each MRU entry consists of two descriptors placed sequentially
   416      *  Each MRU entry consists of two descriptors placed sequentially
   406      *  in the array. First one is the display name and the second
   417      *  in the array. First one is the display name and the second
   409      *  the name.
   420      *  the name.
   410      *        
   421      *        
   411      * @return Array of descriptors containing MRUs. Ownership
   422      * @return Array of descriptors containing MRUs. Ownership
   412      *         is transferred. Empty if no entries are found.
   423      *         is transferred. Empty if no entries are found.
   413      */
   424      */
   414     IMPORT_C MDesCArray* ListMrusL() const;
   425      IMPORT_C MDesCArray* ListMrusL() const;
   415 
   426 
   416     /**
   427     /**
   417      * Returns the current synchronizing state of this mailbox.
   428      * Returns the current synchronizing state of this mailbox.
   418      *
   429      *
   419      * @return mailbox synchronizing state data structure
   430      * @return mailbox synchronizing state data structure
   420      */
   431      */
   421     IMPORT_C TSSMailSyncState CurrentSyncState() const;
   432      IMPORT_C TSSMailSyncState CurrentSyncState() const;
   422 
   433 
   423     /**
   434     /**
   424      * mailbox capability check for user
   435      * mailbox capability check for user
   425      *
   436      *
   426      * @param aCapa mailbox capability to be checked
   437      * @param aCapa mailbox capability to be checked
   427      */
   438      */
   428     IMPORT_C TBool HasCapability( const TFSMailBoxCapabilities aCapability ) const; 
   439 	 IMPORT_C TBool HasCapability(const TFSMailBoxCapabilities aCapability) const; 
   429 
   440 
   430     /**
   441     /**
   431      * mailbox connection status accessor
   442      * mailbox connection status accessor
   432      *
   443      *
   433      * @return connection status, online / offline
   444      * @return connection status, online / offline
   434      */
   445      */
   435     IMPORT_C TFSMailBoxStatus GetMailBoxStatus( );
   446 	 IMPORT_C TFSMailBoxStatus GetMailBoxStatus( );
   436 
   447 
   437     /**
   448     /**
   438      * mailbox authentication data mutator
   449      * mailbox authentication data mutator
   439      *
   450      *
   440      * @param aUsername account user name
   451      * @param aUsername account user name
   444 
   455 
   445      /**
   456      /**
   446       * removes downloaded attachments from local/terminal memory 
   457       * removes downloaded attachments from local/terminal memory 
   447       */
   458       */
   448      IMPORT_C void RemoveDownLoadedAttachmentsL();
   459      IMPORT_C void RemoveDownLoadedAttachmentsL();
   449    
   460 	 
   450      /**
   461      /**
   451       * reads connection id from plugin
   462       * reads connection id from plugin
   452       *
   463       *
   453       * @param  aConnectionId reference to connection id
   464       * @param  aConnectionId reference to connection id
   454       * @return KErrNone or error code
   465       * @return KErrNone or error code
   459       * checks from plugin if connection is allowed when roaming
   470       * checks from plugin if connection is allowed when roaming
   460       *
   471       *
   461       * @param  aConnectionAllowed 
   472       * @param  aConnectionAllowed 
   462       * @return KErrNone or error code
   473       * @return KErrNone or error code
   463       */
   474       */
   464      IMPORT_C TInt IsConnectionAllowedWhenRoaming( TBool& aConnectionAllowed ) ;
   475      IMPORT_C TInt IsConnectionAllowedWhenRoaming( TBool& aConnectionAllowed) ;
   465    
   476 
       
   477      /**
       
   478       * creates email from RFC822 format data stream located
       
   479       * in given attachment file
       
   480       *
       
   481       * @param  aFile access to file containing data stream contents
       
   482       *         given by user
       
   483       *
       
   484       * return new email object, ownership is transferred to user
       
   485       */
       
   486       IMPORT_C CFSMailMessage* CreateMessageFromFileL( const RFile& aFile );
       
   487 
       
   488 public: // from  CExtendableEmail
       
   489 
       
   490      /**
       
   491      * @see CExtendableEmail::ReleaseExtension()
       
   492      */
       
   493      IMPORT_C void ReleaseExtension( CEmailExtension* aExtension );
       
   494 
       
   495      /**
       
   496       * Returns extension by uid, leaves KErrNotSupported if extension is
       
   497       * not available.
       
   498       * @param aInterfaceUid extension interface uid
       
   499       * @return extension pointer. Ownership depends on extension.
       
   500       */
       
   501      IMPORT_C CEmailExtension* ExtensionL( const TUid& aInterfaceUid );
       
   502 
   466 private:
   503 private:
   467 
   504 
   468     /**
   505   	/**
   469      * Two-phased constructor
   506      * Two-phased constructor
   470      */
   507      */
   471      void ConstructL( TFSMailMsgId aMailBoxId );
   508   	 void ConstructL( TFSMailMsgId aMailBoxId );
   472 
   509 
   473     /**
   510     /**
   474      * C++ default constructor.
   511      * C++ default constructor.
   475      */
   512      */
   476      CFSMailBox();
   513   	 CFSMailBox();
   477 
   514 
   478     /**
   515     /**
   479      * Function used internally to inform that Mru list related to this
   516      * Function used internally to inform that Mru list related to this
   480      * mailbox should now be updated using the given recipient info. In
   517      * mailbox should now be updated using the given recipient info. In
   481      * other words this function makes sure that the given recipients are
   518      * other words this function makes sure that the given recipients are
   575  private: // data
   612  private: // data
   576  
   613  
   577     /**
   614     /**
   578      * request handler for plugin requests
   615      * request handler for plugin requests
   579      */
   616      */
   580     CFSMailRequestHandler*   iRequestHandler;  
   617 	 CFSMailRequestHandler* 	iRequestHandler;	
   581 
   618 
   582     /**
   619 	/**
   583      * mailbox folder list
   620      * mailbox folder list
   584      */
   621      */
   585     RPointerArray<CFSMailFolder> iFolders;
   622 	 RPointerArray<CFSMailFolder> iFolders;
   586 
   623 
   587 };
   624 };
   588 
   625 
   589 #endif
   626 #endif