emailservices/emailcommon/inc/CFSMailRequestHandler.h
changeset 72 64e38f08e49c
parent 54 997a02608b3a
child 68 83cc6bae1de8
equal deleted inserted replaced
65:478bc57ad291 72:64e38f08e49c
     1 /*
     1 /*
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-2008 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".
    51         EFSRequestComplete,
    51         EFSRequestComplete,
    52         EFSRequestCancelled,
    52         EFSRequestCancelled,
    53     };
    53     };
    54 
    54 
    55 public: // data
    55 public: // data
    56 		        
    56 
    57     /** request id */
    57     /** request id */
    58     TInt                       iRequestId;
    58     TInt                       iRequestId;
    59 
    59 
    60     /** plugin uid */
    60     /** plugin uid */
    61     TUid                       iPluginId;
    61     TUid                       iPluginId;
    70 /**
    70 /**
    71  *  email framework asynchronous request handler
    71  *  email framework asynchronous request handler
    72  *
    72  *
    73  *  @lib FSFWCommonLib
    73  *  @lib FSFWCommonLib
    74  *  @since S60 v3.1
    74  *  @since S60 v3.1
    75  */ 
    75  */
    76 class EMAILCOMMON_EXPORT CFSMailRequestHandler : public CBase
    76 class EMAILCOMMON_EXPORT CFSMailRequestHandler : public CBase
    77 	{
    77 	{
    78 
    78 
    79 public:
    79 public:
    80   
    80 
    81     /**
    81     /**
    82      * destructor.
    82      * destructor.
    83      */
    83      */
    84      virtual ~CFSMailRequestHandler();
    84      virtual ~CFSMailRequestHandler();
    85 
    85 
   122      * cancels pending asynchronous request
   122      * cancels pending asynchronous request
   123      *
   123      *
   124      * @param aRequestId id of the request to be cancelled
   124      * @param aRequestId id of the request to be cancelled
   125      */
   125      */
   126       void CancelRequestL( TInt aRequestId );
   126       void CancelRequestL( TInt aRequestId );
   127 	 
   127 
   128     /**
   128     /**
   129      * cancels all pending asynchronous requests
   129      * cancels all pending asynchronous requests
   130      *
   130      *
   131      */
   131      */
   132       void CancelAllRequestsL( );
   132       void CancelAllRequestsL( );
   146      * @param aPlugin plugin instance
   146      * @param aPlugin plugin instance
   147      */
   147      */
   148       void AddPluginL( TUid aPluginId, CFSMailPlugin* aPlugin );
   148       void AddPluginL( TUid aPluginId, CFSMailPlugin* aPlugin );
   149 
   149 
   150      /**
   150      /**
   151       * cleans temp dir
       
   152       * 
       
   153       */
       
   154       void CleanTempDirL( );
       
   155 
       
   156      /**
       
   157       * returns temp dir path
       
   158       * 
       
   159       */
       
   160       TDesC& GetTempDirL( );
       
   161 
       
   162      /**
       
   163       * opens or creates file
   151       * opens or creates file
   164       * 
   152       *
   165       * @param aFileName file name
   153       * @param aFileName file name
   166       */
   154       */
   167      // <qmail>
   155      // <qmail>
   168       RFile GetTempFileL( TFSMailMsgId aContentId,TFileName aFileName );
   156       RFile GetTempFileL( TFSMailMsgId aContentId,TFileName aFileName );
   169      // </qmail>
   157      // </qmail>
   171 
   159 
   172     /**
   160     /**
   173      * C++ default constructor.
   161      * C++ default constructor.
   174      */
   162      */
   175   	 CFSMailRequestHandler();
   163   	 CFSMailRequestHandler();
   176   	 
   164 
   177     /**
   165     /**
   178      * two based constructor
   166      * two based constructor
   179      */
   167      */
   180      void ConstructL( RPointerArray<CImplementationInformation> aPluginInfo,
   168      void ConstructL( RPointerArray<CImplementationInformation> aPluginInfo,
   181                       RPointerArray<CFSMailPlugin> aPlugins );
   169                       RPointerArray<CFSMailPlugin> aPlugins );
   183 protected: // data
   171 protected: // data
   184 
   172 
   185     /** list of loaded plugins */
   173     /** list of loaded plugins */
   186 	 RPointerArray<CFSMailPluginData>    iPluginList;
   174 	 RPointerArray<CFSMailPluginData>    iPluginList;
   187 
   175 
   188 private: 
   176 private:
   189 
   177 
   190     /** removes all asynchronous requests */
   178     /** removes all asynchronous requests */
   191     void RemoveAllRequests();
   179     void RemoveAllRequests();
   192 
   180 
   193 private: // data
   181 private: // data
   194 
   182 
   195     /** list of pending requests */
   183     /** list of pending requests */
   196 	 RArray<TFSPendingRequest>           iPendingRequests;
   184 	 RArray<TFSPendingRequest>           iPendingRequests;
   197 	
   185 
   198 	/** request id counter       */
   186 	/** request id counter       */
   199     TUint                                iRequestId;
   187     TUint                                iRequestId;
   200 
   188 
   201     /** temp directory files handling        */ 
   189     /** temp directory files handling        */
   202     RFs                                  iFs;
   190     RFs                                  iFs;
   203     HBufC                                *iTempDirName;
   191     HBufC                                *iTempDirName;
   204     };
   192     };
   205 
   193 
   206 #endif
   194 #endif