ipsservices/ipssosplugin/src/ipsplgcreatemessageoperation.cpp
changeset 20 ecc8def7944a
parent 18 578830873419
child 23 2dc6caa42ec3
equal deleted inserted replaced
18:578830873419 20:ecc8def7944a
    28 
    28 
    29 // ----------------------------------------------------------------------------
    29 // ----------------------------------------------------------------------------
    30 // CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation
    30 // CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation
    31 // ----------------------------------------------------------------------------
    31 // ----------------------------------------------------------------------------
    32 //
    32 //
       
    33 // <qmail> priority parameter has been removed
    33 CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation(
    34 CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation(
    34     CIpsPlgSmtpService* aSmtpService,
    35     CIpsPlgSmtpService* aSmtpService,
    35     CMsvSession& aMsvSession,
    36     CMsvSession& aMsvSession,
    36     TRequestStatus& aObserverRequestStatus,
    37     TRequestStatus& aObserverRequestStatus,
    37     TMsvId aSmtpServiceId, 
    38     TMsvId aSmtpServiceId, 
    38     TMsvPartList aPartList,
    39     TMsvPartList aPartList,
    39     TMsvId aMailBoxId,
    40     TFSMailMsgId aMailBoxId,
    40     MFSMailRequestObserver& aOperationObserver,
    41     MFSMailRequestObserver& aOperationObserver,
    41     const TInt aRequestId ) 
    42     TInt aRequestId ) 
    42     :
    43     :
    43     CMsvOperation( 
    44     CIpsPlgBaseOperation( 
    44         aMsvSession, 
    45         aMsvSession, 
    45         CActive::EPriorityStandard, 
    46         aObserverRequestStatus,
    46         aObserverRequestStatus),
    47         aRequestId,
       
    48         aMailBoxId),
    47     iSmtpService(aSmtpService),
    49     iSmtpService(aSmtpService),
    48     iSmtpServiceId(aSmtpServiceId),
    50     iSmtpServiceId(aSmtpServiceId),
    49     iPartList(aPartList),
    51     iPartList(aPartList),
    50     iBlank( KNullDesC8 ),
    52     iOperationObserver(aOperationObserver)
    51     iMailBoxId(aMailBoxId),
       
    52     iOperationObserver(aOperationObserver),
       
    53     iRequestId(aRequestId)
       
    54     {
    53     {
    55     FUNC_LOG;
    54     FUNC_LOG;
    56     CActiveScheduler::Add( this );
    55     CActiveScheduler::Add( this );
    57     }
    56     }
    58 
       
    59 
    57 
    60 // ----------------------------------------------------------------------------
    58 // ----------------------------------------------------------------------------
    61 // CIpsPlgCreateMessageOperation::ConstructL
    59 // CIpsPlgCreateMessageOperation::ConstructL
    62 // ----------------------------------------------------------------------------
    60 // ----------------------------------------------------------------------------
    63 //
    61 //
    76     CIpsPlgSmtpService* aSmtpService,
    74     CIpsPlgSmtpService* aSmtpService,
    77     CMsvSession& aMsvSession,
    75     CMsvSession& aMsvSession,
    78     TRequestStatus& aObserverRequestStatus,
    76     TRequestStatus& aObserverRequestStatus,
    79     TMsvId aSmtpServiceId, 
    77     TMsvId aSmtpServiceId, 
    80     TMsvPartList aPartList,
    78     TMsvPartList aPartList,
    81     TMsvId aMailBoxId,
    79     TFSMailMsgId aMailBoxId,
    82     MFSMailRequestObserver& aOperationObserver,
    80     MFSMailRequestObserver& aOperationObserver,
    83     const TInt aRequestId )
    81     TInt aRequestId )
    84     {
    82     {
    85     FUNC_LOG;
    83     FUNC_LOG;
    86     CIpsPlgCreateMessageOperation* self =
    84     CIpsPlgCreateMessageOperation* self =
    87         new (ELeave) CIpsPlgCreateMessageOperation(
    85         new (ELeave) CIpsPlgCreateMessageOperation(
    88             aSmtpService, aMsvSession, aObserverRequestStatus, aSmtpServiceId,
    86             aSmtpService, aMsvSession, aObserverRequestStatus, aSmtpServiceId,
   141         TRAPD( err, msgId = GetIdFromProgressL( iOperation->FinalProgress() ) );
   139         TRAPD( err, msgId = GetIdFromProgressL( iOperation->FinalProgress() ) );
   142             
   140             
   143         if( err == KErrNone )
   141         if( err == KErrNone )
   144             {
   142             {
   145             newMessage = iSmtpService->CreateFSMessageAndSetFlagsL( 
   143             newMessage = iSmtpService->CreateFSMessageAndSetFlagsL( 
   146                     msgId, KErrNotFound, iMailBoxId );
   144                     msgId, KErrNotFound, iFSMailboxId.Id() );
   147             }
   145             }
   148         
   146         
   149         // relay the created message (observer takes ownership)
   147         // relay the created message (observer takes ownership)
   150         SignalFSObserver( iStatus.Int(), newMessage );        
   148         SignalFSObserver( iStatus.Int(), newMessage );        
   151         }
   149         }
   200 // ----------------------------------------------------------------------------
   198 // ----------------------------------------------------------------------------
   201 //
   199 //
   202 void CIpsPlgCreateMessageOperation::SignalFSObserver(
   200 void CIpsPlgCreateMessageOperation::SignalFSObserver(
   203         TInt aStatus, CFSMailMessage* aMessage )
   201         TInt aStatus, CFSMailMessage* aMessage )
   204     {
   202     {
   205     TFSProgress result =
       
   206         { TFSProgress::EFSStatus_Waiting, 0, 0, KErrNone, aMessage };
       
   207     
       
   208     if ( aStatus == KErrCancel )
   203     if ( aStatus == KErrCancel )
   209         {
   204         {
   210         result.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled;
   205         iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled;
   211         result.iError = KErrCancel;
   206         iFSProgress.iError = KErrCancel;
       
   207         iFSProgress.iParam = NULL;
   212         }
   208         }
   213     else
   209     else
   214         {
   210         {
   215         result.iProgressStatus = TFSProgress::EFSStatus_RequestComplete;
   211         iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete;
   216         result.iError = aStatus;
   212         iFSProgress.iError = aStatus;
   217         }
   213         iFSProgress.iParam = aMessage;
   218 
   214         }
   219     TRAP_IGNORE( iOperationObserver.RequestResponseL( result, iRequestId ) );
   215 
       
   216     TRAP_IGNORE( iOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) );
   220     }
   217     }
   221 
   218 
   222 // ----------------------------------------------------------------------------
   219 // ----------------------------------------------------------------------------
   223 // CIpsPlgCreateMessageOperation::ProgressL
   220 // CIpsPlgCreateMessageOperation::ProgressL
   224 // ----------------------------------------------------------------------------
   221 // ----------------------------------------------------------------------------
   234             {
   231             {
   235             return iOperation->ProgressL();
   232             return iOperation->ProgressL();
   236             }
   233             }
   237         }
   234         }
   238 
   235 
   239     return iBlank;
   236     return KNullDesC8;
       
   237     }
       
   238 
       
   239 // ---------------------------------------------------------------------------
       
   240 // CIpsPlgCreateMessageOperation::GetErrorProgressL
       
   241 // ---------------------------------------------------------------------------
       
   242 //   
       
   243 const TDesC8& CIpsPlgCreateMessageOperation::GetErrorProgressL( TInt /*aError*/ )
       
   244     {
       
   245     FUNC_LOG;
       
   246     
       
   247     return KNullDesC8; // error progress info not supported
       
   248     }
       
   249 
       
   250 // ---------------------------------------------------------------------------
       
   251 // CIpsPlgCreateMessageOperation::GetFSProgressL
       
   252 // ---------------------------------------------------------------------------
       
   253 //   
       
   254 TFSProgress CIpsPlgCreateMessageOperation::GetFSProgressL() const
       
   255     {
       
   256     FUNC_LOG;
       
   257     
       
   258     return iFSProgress;
   240     }
   259     }
   241 
   260 
   242 // ----------------------------------------------------------------------------
   261 // ----------------------------------------------------------------------------
   243 // CIpsPlgCreateMessageOperation::StartMessageCreation
   262 // CIpsPlgCreateMessageOperation::StartMessageCreation
   244 // ----------------------------------------------------------------------------
   263 // ----------------------------------------------------------------------------
   279         KMsvEmailTypeListMHTMLMessage,
   298         KMsvEmailTypeListMHTMLMessage,
   280         //0,
   299         //0,
   281         KUidMsgTypeSMTP);
   300         KUidMsgTypeSMTP);
   282     }
   301     }
   283 
   302 
       
   303 
       
   304 // ----------------------------------------------------------------------------
       
   305 // CIpsPlgCreateMessageOperation::IpsOpType
       
   306 // ----------------------------------------------------------------------------    
       
   307 TIpsOpType CIpsPlgCreateMessageOperation::IpsOpType() const
       
   308     {
       
   309     FUNC_LOG;
       
   310     return EIpsOpTypeCreateMessageOp;
       
   311     }
       
   312 
   284 //  End of File
   313 //  End of File
   285 
   314 
   286 // </qmail>
   315 // </qmail>