ipsservices/ipssosplugin/src/ipsplgmailstoreroperation.cpp
changeset 20 ecc8def7944a
parent 18 578830873419
equal deleted inserted replaced
18:578830873419 20:ecc8def7944a
    13 *
    13 *
    14 * Description:
    14 * Description:
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 #include "ipsplgmailstoreroperation.h"
       
    19 #include "CFSMailPlugin.h"
       
    20 #include "emailtrace.h"
    18 #include "emailtrace.h"
    21 
    19 #include "ipsplgheaders.h"
    22 
    20 
    23 // ---------------------------------------------------------------------------
    21 // ---------------------------------------------------------------------------
    24 // ---------------------------------------------------------------------------
    22 // ---------------------------------------------------------------------------
    25 CIpsPlgMailStorerOperation* CIpsPlgMailStorerOperation::NewL(
    23 CIpsPlgMailStorerOperation* CIpsPlgMailStorerOperation::NewL(
    26     CMsvSession& aMsvSession,
    24     CMsvSession& aMsvSession,
    78 
    76 
    79 // ---------------------------------------------------------------------------
    77 // ---------------------------------------------------------------------------
    80 // ---------------------------------------------------------------------------
    78 // ---------------------------------------------------------------------------
    81 void CIpsPlgMailStorerOperation::DoCancel()
    79 void CIpsPlgMailStorerOperation::DoCancel()
    82     {
    80     {
       
    81     // <qmail>
       
    82     TRequestStatus* status = &iObserverRequestStatus;
       
    83     if ( status && status->Int() == KRequestPending )
       
    84         {
       
    85         if (&iFSOperationObserver)
       
    86             {
       
    87             iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled;
       
    88             iFSProgress.iError = KErrCancel;
       
    89             iFSProgress.iParam = NULL;
       
    90 
       
    91             TRAP_IGNORE( iFSOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) );
       
    92             }
       
    93         User::RequestComplete( status, iStatus.Int() );
       
    94         }
       
    95     // </qmail>
    83     FUNC_LOG;
    96     FUNC_LOG;
    84     }
    97     }
    85 
    98 
    86 // ---------------------------------------------------------------------------
    99 // ---------------------------------------------------------------------------
    87 // ---------------------------------------------------------------------------
   100 // ---------------------------------------------------------------------------
    88 const TDesC8& CIpsPlgMailStorerOperation::ProgressL()
   101 const TDesC8& CIpsPlgMailStorerOperation::ProgressL()
    89     {
   102     {
    90     return KNullDesC8;
   103     return KNullDesC8;
    91     }
   104     }
       
   105 
       
   106 // <qmail>
       
   107 // ---------------------------------------------------------------------------
       
   108 // ---------------------------------------------------------------------------
       
   109 //   
       
   110 const TDesC8& CIpsPlgMailStorerOperation::GetErrorProgressL( TInt /*aError*/ )
       
   111     {
       
   112     FUNC_LOG;
       
   113     
       
   114     return KNullDesC8; // error progress info not supported
       
   115     }
       
   116 
       
   117 // ---------------------------------------------------------------------------
       
   118 // ---------------------------------------------------------------------------
       
   119 //   
       
   120 TFSProgress CIpsPlgMailStorerOperation::GetFSProgressL() const
       
   121     {
       
   122     FUNC_LOG;
       
   123     
       
   124     return iFSProgress;
       
   125     }
       
   126 
       
   127 // ----------------------------------------------------------------------------
       
   128 // ----------------------------------------------------------------------------    
       
   129 TIpsOpType CIpsPlgMailStorerOperation::IpsOpType() const
       
   130     {
       
   131     FUNC_LOG;
       
   132     return EIpsOpTypeMailStorerOp;
       
   133     }
       
   134 // </qmail>
    92 
   135 
    93 // ---------------------------------------------------------------------------
   136 // ---------------------------------------------------------------------------
    94 // ---------------------------------------------------------------------------
   137 // ---------------------------------------------------------------------------
    95 CIpsPlgMailStorerOperation::CIpsPlgMailStorerOperation(
   138 CIpsPlgMailStorerOperation::CIpsPlgMailStorerOperation(
    96     CMsvSession& aMsvSession,
   139     CMsvSession& aMsvSession,
    97     TRequestStatus& aObserverRequestStatus,
   140     TRequestStatus& aObserverRequestStatus,
    98     CFSMailPlugin& aPlugin,
   141     CFSMailPlugin& aPlugin,
    99     RPointerArray<CFSMailMessage> &aMessages,
   142     RPointerArray<CFSMailMessage> &aMessages,
   100     MFSMailRequestObserver& aFSOperationObserver,
   143     MFSMailRequestObserver& aFSOperationObserver,
   101     const TInt aRequestId):
   144     const TInt aRequestId):
   102     CMsvOperation(aMsvSession, CActive::EPriorityStandard, aObserverRequestStatus),
   145 // <qmail>
       
   146     CIpsPlgBaseOperation(aMsvSession, aObserverRequestStatus, aRequestId, TFSMailMsgId()), 
   103     iPlugin(aPlugin),
   147     iPlugin(aPlugin),
   104     iMessages(aMessages),
   148     iMessages(aMessages),
   105     iFSOperationObserver(aFSOperationObserver),
   149     iFSOperationObserver(aFSOperationObserver)
   106     iRequestId(aRequestId)
   150 // </qmail>
   107     {
   151     {
   108     FUNC_LOG;
   152     FUNC_LOG;
   109     }
   153     }
   110 
   154 
   111 // ---------------------------------------------------------------------------
   155 // ---------------------------------------------------------------------------
   156         }
   200         }
   157     else
   201     else
   158         {
   202         {
   159         if( &iFSOperationObserver )
   203         if( &iFSOperationObserver )
   160             {
   204             {
   161             TFSProgress prog = { TFSProgress::EFSStatus_RequestComplete, 0, 0, 0 };
   205             // <qmail>
   162 
   206             iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete;
   163             TRAP_IGNORE(
   207             iFSProgress.iError = KErrNone;
   164                     iFSOperationObserver.RequestResponseL(
   208             iFSProgress.iParam = NULL;
   165                             prog,
   209 
   166                             iRequestId ) );
   210             TRAP_IGNORE( iFSOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) );
       
   211             // </qmail>
   167             }
   212             }
   168 
   213 
   169         TRequestStatus* status = &iObserverRequestStatus;
   214         TRequestStatus* status = &iObserverRequestStatus;
   170         User::RequestComplete( status, KErrNone );
   215         User::RequestComplete( status, KErrNone );
   171         }
   216         }