ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h
branchRCL_3
changeset 63 d189ee25cf9d
parent 0 8466d47a6819
child 64 3533d4323edc
--- a/ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h	Thu Aug 19 09:38:05 2010 +0300
+++ b/ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h	Tue Aug 31 15:04:17 2010 +0300
@@ -18,99 +18,90 @@
 #ifndef IPSPLGDISCONNECTOP_H
 #define IPSPLGDISCONNECTOP_H
 
-
 #include "ipsplgonlineoperation.h"
 
-
 /**
-* Disconnect operation.
-* 
+* Disconnect operation
+* Handles both POP and IMAP cases
 */
-class CIpsPlgDisconnectOp :
+NONSHARABLE_CLASS ( CIpsPlgDisconnectOp ) :
     public CIpsPlgOnlineOperation
     {
-    public:
-
-        /**
-        *
-        */
-        static CIpsPlgDisconnectOp* NewL(
-            CMsvSession& aMsvSession,
-            TRequestStatus& aObserverRequestStatus,
-            TMsvId aService,
-            CIpsPlgTimerOperation& aActivityTimer,
-            TFSMailMsgId aFSMailBoxId,
-            MFSMailRequestObserver& aFSOperationObserver,
-            TInt aFSRequestId,
-            TBool aDoRemoveAfterDisconnect = EFalse );
-
-        /**
-        *
-        */
-        virtual ~CIpsPlgDisconnectOp();
+public:
+    /**
+    * Construction
+    * @param aMsvSession client/server session to MsvServer
+    * @param aObserverRequestStatus caller's status
+    * @param aService serviceId of the mailbox
+    * @param aActivityTimer mailbox specific activity timer
+    * @param aFSMailBoxId specifies mailbox
+    * @param aFSOperationObserver observer of the operation
+    * @param aFSRequestId identifier for this request instance
+    * @return instance of this operation class
+    */
+    // <qmail> aDoRemoveAfterDisconnect parameter removed
+	// <qmail> MFSMailRequestObserver& changed to pointer
+    static CIpsPlgDisconnectOp* NewL(
+        CMsvSession& aMsvSession,
+        TRequestStatus& aObserverRequestStatus,
+        TMsvId aService,
+        CIpsPlgTimerOperation& aActivityTimer,
+        TFSMailMsgId aFSMailBoxId,
+        MFSMailRequestObserver* aFSOperationObserver,
+        TInt aFSRequestId );
 
-        /**
-        *
-        */
-        const TDesC8& ProgressL();
+    virtual ~CIpsPlgDisconnectOp();
 
-        /**
-        *
-        */
-        const TDesC8& GetErrorProgressL( TInt aError );
-        
-        /**
-        * 
-        */
-       TFSProgress GetFSProgressL() const;
-
-        /**
-        *
-        */
-        TBool Connected() const;
+    /**
+    * From MsvOperation
+    * Gets information on the progress of the operation
+    * (see MsvOperation header)
+    */
+    const TDesC8& ProgressL();
 
-    protected:
-
+    /**
+    * From CIpsPlgBaseOperation
+    * For reporting if DoRunL leaves
+    */
+    const TDesC8& GetErrorProgressL( TInt aError );
+    
+   TFSProgress GetFSProgressL() const;
 
-        /**
-        * From CActive
-        */
-        void DoRunL();
-        
-    private:
+   // <qmail> Connected() used from baseclass
+   
+   // <qmail> new function in this op
+   TIpsOpType IpsOpType() const;
+   // </qmail>
+   
+protected: // From CActive
+    void DoRunL();
+    
+private:
 
-        /**
-        *
-        */
-        CIpsPlgDisconnectOp(
-            CMsvSession& aMsvSession,
-            TRequestStatus& aObserverRequestStatus,
-            TMsvId aServiceId,
-            CIpsPlgTimerOperation& aActivityTimer,
-            TFSMailMsgId aFSMailBoxId,
-            MFSMailRequestObserver& aFSOperationObserver,
-            TInt aFSRequestId,
-            TBool aDoRemoveAfterDisconnect );
+	// <qmail> aDoRemoveAfterDisconnect parameter removed
+	// <qmail> MFSMailRequestObserver& changed to pointer
+    CIpsPlgDisconnectOp(
+        CMsvSession& aMsvSession,
+        TRequestStatus& aObserverRequestStatus,
+        TMsvId aServiceId,
+        CIpsPlgTimerOperation& aActivityTimer,
+        TFSMailMsgId aFSMailBoxId,
+        MFSMailRequestObserver* aFSOperationObserver,
+        TInt aFSRequestId );
 
-        /**
-        *
-        */
-        void ConstructL();
+    void ConstructL();
 
-        /**
-        *
-        */
-        void DoDisconnectL();
+    /**
+    * Sends the disconnect command to MsvServer
+    */
+    void DoDisconnectL();
 
-        
-    private: // Data
-        
-        TPckgBuf<TPop3Progress> iPopProgress;
-        TPckgBuf<TImap4CompoundProgress> iImapProgress;
-        TMsvEntry               iTEntry;
-        TBool                   iDisconnected;
-        TBool                   iDoRemoveAfterDisconnect;
-        
+private: // Data
+    TPckgBuf<TPop3Progress>          iPopProgress;
+    TPckgBuf<TImap4CompoundProgress> iImapProgress;
+    TMsvEntry                        iTEntry;
+    // <qmail> iDisconnected; removed; using baseclass's Connected() instead
+    // <qmail> iDoRemoveAfterDisconnect removed; not a task for disconnect op
     };
 
 #endif //IPSPLGDISCONNECTOP_H