ipsservices/ipssosplugin/src/ipsplgcreatemessageoperation.cpp
changeset 20 ecc8def7944a
parent 18 578830873419
child 23 2dc6caa42ec3
--- a/ipsservices/ipssosplugin/src/ipsplgcreatemessageoperation.cpp	Fri Apr 16 14:51:52 2010 +0300
+++ b/ipsservices/ipssosplugin/src/ipsplgcreatemessageoperation.cpp	Mon May 03 12:23:15 2010 +0300
@@ -30,33 +30,31 @@
 // CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation
 // ----------------------------------------------------------------------------
 //
+// <qmail> priority parameter has been removed
 CIpsPlgCreateMessageOperation::CIpsPlgCreateMessageOperation(
     CIpsPlgSmtpService* aSmtpService,
     CMsvSession& aMsvSession,
     TRequestStatus& aObserverRequestStatus,
     TMsvId aSmtpServiceId, 
     TMsvPartList aPartList,
-    TMsvId aMailBoxId,
+    TFSMailMsgId aMailBoxId,
     MFSMailRequestObserver& aOperationObserver,
-    const TInt aRequestId ) 
+    TInt aRequestId ) 
     :
-    CMsvOperation( 
+    CIpsPlgBaseOperation( 
         aMsvSession, 
-        CActive::EPriorityStandard, 
-        aObserverRequestStatus),
+        aObserverRequestStatus,
+        aRequestId,
+        aMailBoxId),
     iSmtpService(aSmtpService),
     iSmtpServiceId(aSmtpServiceId),
     iPartList(aPartList),
-    iBlank( KNullDesC8 ),
-    iMailBoxId(aMailBoxId),
-    iOperationObserver(aOperationObserver),
-    iRequestId(aRequestId)
+    iOperationObserver(aOperationObserver)
     {
     FUNC_LOG;
     CActiveScheduler::Add( this );
     }
 
-
 // ----------------------------------------------------------------------------
 // CIpsPlgCreateMessageOperation::ConstructL
 // ----------------------------------------------------------------------------
@@ -78,9 +76,9 @@
     TRequestStatus& aObserverRequestStatus,
     TMsvId aSmtpServiceId, 
     TMsvPartList aPartList,
-    TMsvId aMailBoxId,
+    TFSMailMsgId aMailBoxId,
     MFSMailRequestObserver& aOperationObserver,
-    const TInt aRequestId )
+    TInt aRequestId )
     {
     FUNC_LOG;
     CIpsPlgCreateMessageOperation* self =
@@ -143,7 +141,7 @@
         if( err == KErrNone )
             {
             newMessage = iSmtpService->CreateFSMessageAndSetFlagsL( 
-                    msgId, KErrNotFound, iMailBoxId );
+                    msgId, KErrNotFound, iFSMailboxId.Id() );
             }
         
         // relay the created message (observer takes ownership)
@@ -202,21 +200,20 @@
 void CIpsPlgCreateMessageOperation::SignalFSObserver(
         TInt aStatus, CFSMailMessage* aMessage )
     {
-    TFSProgress result =
-        { TFSProgress::EFSStatus_Waiting, 0, 0, KErrNone, aMessage };
-    
     if ( aStatus == KErrCancel )
         {
-        result.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled;
-        result.iError = KErrCancel;
+        iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestCancelled;
+        iFSProgress.iError = KErrCancel;
+        iFSProgress.iParam = NULL;
         }
     else
         {
-        result.iProgressStatus = TFSProgress::EFSStatus_RequestComplete;
-        result.iError = aStatus;
+        iFSProgress.iProgressStatus = TFSProgress::EFSStatus_RequestComplete;
+        iFSProgress.iError = aStatus;
+        iFSProgress.iParam = aMessage;
         }
 
-    TRAP_IGNORE( iOperationObserver.RequestResponseL( result, iRequestId ) );
+    TRAP_IGNORE( iOperationObserver.RequestResponseL( iFSProgress, iFSRequestId ) );
     }
 
 // ----------------------------------------------------------------------------
@@ -236,7 +233,29 @@
             }
         }
 
-    return iBlank;
+    return KNullDesC8;
+    }
+
+// ---------------------------------------------------------------------------
+// CIpsPlgCreateMessageOperation::GetErrorProgressL
+// ---------------------------------------------------------------------------
+//   
+const TDesC8& CIpsPlgCreateMessageOperation::GetErrorProgressL( TInt /*aError*/ )
+    {
+    FUNC_LOG;
+    
+    return KNullDesC8; // error progress info not supported
+    }
+
+// ---------------------------------------------------------------------------
+// CIpsPlgCreateMessageOperation::GetFSProgressL
+// ---------------------------------------------------------------------------
+//   
+TFSProgress CIpsPlgCreateMessageOperation::GetFSProgressL() const
+    {
+    FUNC_LOG;
+    
+    return iFSProgress;
     }
 
 // ----------------------------------------------------------------------------
@@ -281,6 +300,16 @@
         KUidMsgTypeSMTP);
     }
 
+
+// ----------------------------------------------------------------------------
+// CIpsPlgCreateMessageOperation::IpsOpType
+// ----------------------------------------------------------------------------    
+TIpsOpType CIpsPlgCreateMessageOperation::IpsOpType() const
+    {
+    FUNC_LOG;
+    return EIpsOpTypeCreateMessageOp;
+    }
+
 //  End of File
 
 // </qmail>