ipsservices/ipssosplugin/inc/ipsplgimap4moveremoteop.h
branchRCL_3
changeset 24 d189ee25cf9d
parent 8 e1b6206813b4
child 25 3533d4323edc
--- a/ipsservices/ipssosplugin/inc/ipsplgimap4moveremoteop.h	Thu Aug 19 09:38:05 2010 +0300
+++ b/ipsservices/ipssosplugin/inc/ipsplgimap4moveremoteop.h	Tue Aug 31 15:04:17 2010 +0300
@@ -15,133 +15,134 @@
 *
 */
 
-#ifndef __IPSPLGIMAP4MOVEREMOTEOP_H__
-#define __IPSPLGIMAP4MOVEREMOTEOP_H__
-
+#ifndef IPSPLGIMAP4MOVEREMOTEOP_H
+#define IPSPLGIMAP4MOVEREMOTEOP_H
 
 #include "ipsplgonlineoperation.h"
-#include "mfsmailrequestobserver.h"
+// <qmail> mfsmailrequestobserver include removed
 
 /**
 * Move a selection of messages that may or may not be complete.
 * Always fetches entire messages.
 */
-class CIpsPlgImap4MoveRemoteOp :
+NONSHARABLE_CLASS ( CIpsPlgImap4MoveRemoteOp ) :
     public CIpsPlgOnlineOperation
     {
-    public:
-        /**
-        *
-        * @param aSession: Server session.
-        * @param aStatus: Observer completion status.
-        * @param aReporter: Progress reporter.
-        * @param aSel: The message ids to get.
-        * @param aTargetId: Where to fetch the messages to.
-        * @param aCopy: Copying or moving.
-        */
-        static CIpsPlgImap4MoveRemoteOp* NewL(
-            CMsvSession& aMsvSession,
-            TRequestStatus& aObserverRequestStatus,
-            TInt aFunctionId,
-            TMsvId aService,
-            CIpsPlgTimerOperation& aActivityTimer,
-            const TImImap4GetMailInfo& aGetMailInfo,
-            const CMsvEntrySelection& aSel,
-            TFSMailMsgId aFSMailBoxId,
-            MFSMailRequestObserver& aFSOperationObserver,
-            TInt aFSRequestId );
-
-        /**
-        *
-        */
-        virtual ~CIpsPlgImap4MoveRemoteOp();
-        
-        /**
-        *
-        */
-        const TDesC8& ProgressL();
-        
-        /**
-        *
-        */
-        const TDesC8& GetErrorProgressL( TInt aError );
-        
-        /**
-        *
-        */
-        TFSProgress GetFSProgressL() const;
-        
-    private:
+public:
+    /**
+    * NewL
+    * @param aMsvSession client/server session to MsvServer
+    * @param aObserverRequestStatus client's status
+    * @param aService serviceId of the mailbox
+    * @param aActivityTimer mailbox specific activity timer
+    * @param aDestinationFolder destination folder id to where the messages are to be moved
+    * @param aSelection selection of messages
+    * @param aFSMailBoxId identifies mailbox
+    * @param aFSOperationObserver observer of this operation
+    * @param aFSRequestId client assigned request identifier
+    * @return class instance
+    */
+    // <qmail> parameters changed: aFunctionId removed, TImImap4GetMailInfo& -> TMsvId&
+	// <qmail> MFSMailRequestObserver* changed to pointer
+    static CIpsPlgImap4MoveRemoteOp* NewL(
+        CMsvSession& aMsvSession,
+        TRequestStatus& aObserverRequestStatus,
+        TMsvId aService,
+        CIpsPlgTimerOperation& aActivityTimer,
+        const TMsvId& aDestinationFolder,
+        const CMsvEntrySelection& aSelection,
+        TFSMailMsgId aFSMailBoxId,
+        MFSMailRequestObserver* aFSOperationObserver,
+        TInt aFSRequestId );
 
-        /**
-        * for explanation of parameters, see NewL
-        */
-        CIpsPlgImap4MoveRemoteOp(
-            CMsvSession& aMsvSession,
-            TRequestStatus& aObserverRequestStatus,
-            TInt aFunctionId,
-            TMsvId aService,
-            CIpsPlgTimerOperation& aActivityTimer,
-            const TImImap4GetMailInfo& aGetMailInfo,
-            TFSMailMsgId aFSMailBoxId,
-            MFSMailRequestObserver& aFSOperationObserver,
-            TInt aFSRequestId );
+    virtual ~CIpsPlgImap4MoveRemoteOp();
+    
+    /**
+    * From MsvOperation
+    * Gets information on the progress of the operation
+    * (see MsvOperation header)
+    */
+    const TDesC8& ProgressL();
+    
+    /**
+    * From CIpsPlgBaseOperation
+    * For reporting if DoRunL leaves
+    */
+    const TDesC8& GetErrorProgressL( TInt aError );
+    
+    TFSProgress GetFSProgressL() const;
+    
+    // <qmail> new func to this op
+    /**
+     * Returns operation type
+     */
+    TIpsOpType IpsOpType() const;
+    
+private:
+    // <qmail> parameters changed
+    /**
+    * for explanation of parameters, see NewL
+    */
+    CIpsPlgImap4MoveRemoteOp(
+        CMsvSession& aMsvSession,
+        TRequestStatus& aObserverRequestStatus,
+        TMsvId aService,
+        CIpsPlgTimerOperation& aActivityTimer,
+        const TMsvId& aDestinationFolder,
+        TFSMailMsgId aFSMailBoxId,
+        MFSMailRequestObserver* aFSOperationObserver,
+        TInt aFSRequestId );
 
-        /**
-        *
-        */
-        void ConstructL(const CMsvEntrySelection& aSel);
-        
-        /**
-        * RunL()
-        */
-        void RunL();
-        
-        /**
-        *
-        */
-        void DoRunL();
-        
-        
-        /**
-        *
-        */
-        void DoConnectL();
-        
-        /**
-        *
-        * Sort messages into complete and incomplete.
-        */
-        void SortMessageSelectionL(const CMsvEntrySelection& aSel);
-        
-        /**
-        *
-        */
+    void ConstructL( const CMsvEntrySelection& aSelection );
+    
+    void RunL();
+    
+    /**
+     * actual implementation of RunL's functionality
+     * RunL wraps and traps this function
+     */
+    void DoRunL();
+    
+    void DoConnectL();
+    
+    /**
+    * Sort messages into complete and incomplete.
+    */
+    void SortMessageSelectionL(const CMsvEntrySelection& aSel);
+    
+    /**
+     * Completes client's status
+     */
+    void Complete();
 
-        void Complete();
-
-        /**
-        *
-        */
-        void DoMoveRemoteL();
-        
-    protected:
+    /**
+     * handles remote moving
+     */
+    void DoMoveRemoteL();
     
-        /**
-        * From CIpsPlgOnlineoperation
-        */
-        TInt GetEngineProgress( const TDesC8& aProgress );
+    // <qmail> removed TInt GetEngineProgress( const TDesC8& aProgress );
 
-    private:
-        enum TState { EIdle, EConnecting, ELocalMsgs, ERemoteMsgs };
-        TState                              iState;
-        TInt                                iFunctionId;
-        TDesC8*                             iMoveErrorProgress;
-        TImImap4GetMailInfo                 iGetMailInfo;
-        CMsvEntrySelection*                 iSelection;
-        CMsvEntrySelection*                 iRemoteSel;     // Incomplete messages to be fetched.
-        TPckgBuf<TImap4CompoundProgress>    iProgressBuf;
-        TPckgBuf<TImap4SyncProgress>        iSyncProgress;
+private:
+    // internal state of this operation
+    enum TState 
+        { 
+        EIdle, 
+        EConnecting, 
+        ELocalMsgs, 
+        ERemoteMsgs 
+        };
+    TState                              iState;
+
+    // <qmail> iFunctionId removed, TImImap4GetMailInfo -> TMsvId
+    // used in error situations
+    TDesC8*                             iMoveErrorProgress;
+    // <qmail> using destination folder Id instead of mailInfo struct
+    // specifies folder where to move
+    TMsvId                              iDestinationFolderId;
+    // <qmail> removed iSelection;
+    CMsvEntrySelection*                 iRemoteSel;     // Incomplete messages to be fetched.
+    TPckgBuf<TImap4CompoundProgress>    iProgressBuf;
+    TPckgBuf<TImap4SyncProgress>        iSyncProgress;
     };
 
 
@@ -174,6 +175,6 @@
     CMsvEntrySelection* iSelection;
     };
 
-#endif //__IPSPLGIMAP4MOVEREMOTEOP_H__
+#endif // IPSPLGIMAP4MOVEREMOTEOP_H
 
 // End of File