ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h
branchRCL_3
changeset 25 3533d4323edc
parent 24 d189ee25cf9d
--- a/ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h	Tue Aug 31 15:04:17 2010 +0300
+++ b/ipsservices/ipssosplugin/inc/ipsplgdisconnectop.h	Wed Sep 01 12:28:57 2010 +0100
@@ -18,90 +18,99 @@
 #ifndef IPSPLGDISCONNECTOP_H
 #define IPSPLGDISCONNECTOP_H
 
+
 #include "ipsplgonlineoperation.h"
 
+
 /**
-* Disconnect operation
-* Handles both POP and IMAP cases
+* Disconnect operation.
+* 
 */
-NONSHARABLE_CLASS ( CIpsPlgDisconnectOp ) :
+class CIpsPlgDisconnectOp :
     public CIpsPlgOnlineOperation
     {
-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 );
+    public:
+
+        /**
+        *
+        */
+        static CIpsPlgDisconnectOp* NewL(
+            CMsvSession& aMsvSession,
+            TRequestStatus& aObserverRequestStatus,
+            TMsvId aService,
+            CIpsPlgTimerOperation& aActivityTimer,
+            TFSMailMsgId aFSMailBoxId,
+            MFSMailRequestObserver& aFSOperationObserver,
+            TInt aFSRequestId,
+            TBool aDoRemoveAfterDisconnect = EFalse );
+
+        /**
+        *
+        */
+        virtual ~CIpsPlgDisconnectOp();
 
-    virtual ~CIpsPlgDisconnectOp();
+        /**
+        *
+        */
+        const TDesC8& ProgressL();
 
-    /**
-    * From MsvOperation
-    * Gets information on the progress of the operation
-    * (see MsvOperation header)
-    */
-    const TDesC8& ProgressL();
+        /**
+        *
+        */
+        const TDesC8& GetErrorProgressL( TInt aError );
+        
+        /**
+        * 
+        */
+       TFSProgress GetFSProgressL() const;
+
+        /**
+        *
+        */
+        TBool Connected() const;
 
-    /**
-    * From CIpsPlgBaseOperation
-    * For reporting if DoRunL leaves
-    */
-    const TDesC8& GetErrorProgressL( TInt aError );
-    
-   TFSProgress GetFSProgressL() const;
+    protected:
+
 
-   // <qmail> Connected() used from baseclass
-   
-   // <qmail> new function in this op
-   TIpsOpType IpsOpType() const;
-   // </qmail>
-   
-protected: // From CActive
-    void DoRunL();
-    
-private:
+        /**
+        * From CActive
+        */
+        void DoRunL();
+        
+    private:
 
-	// <qmail> aDoRemoveAfterDisconnect parameter removed
-	// <qmail> MFSMailRequestObserver& changed to pointer
-    CIpsPlgDisconnectOp(
-        CMsvSession& aMsvSession,
-        TRequestStatus& aObserverRequestStatus,
-        TMsvId aServiceId,
-        CIpsPlgTimerOperation& aActivityTimer,
-        TFSMailMsgId aFSMailBoxId,
-        MFSMailRequestObserver* aFSOperationObserver,
-        TInt aFSRequestId );
+        /**
+        *
+        */
+        CIpsPlgDisconnectOp(
+            CMsvSession& aMsvSession,
+            TRequestStatus& aObserverRequestStatus,
+            TMsvId aServiceId,
+            CIpsPlgTimerOperation& aActivityTimer,
+            TFSMailMsgId aFSMailBoxId,
+            MFSMailRequestObserver& aFSOperationObserver,
+            TInt aFSRequestId,
+            TBool aDoRemoveAfterDisconnect );
 
-    void ConstructL();
+        /**
+        *
+        */
+        void ConstructL();
 
-    /**
-    * Sends the disconnect command to MsvServer
-    */
-    void DoDisconnectL();
+        /**
+        *
+        */
+        void DoDisconnectL();
 
-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
+        
+    private: // Data
+        
+        TPckgBuf<TPop3Progress> iPopProgress;
+        TPckgBuf<TImap4CompoundProgress> iImapProgress;
+        TMsvEntry               iTEntry;
+        TBool                   iDisconnected;
+        TBool                   iDoRemoveAfterDisconnect;
+        
     };
 
 #endif //IPSPLGDISCONNECTOP_H