diff -r dcf0eedfc1a3 -r d189ee25cf9d ipsservices/ipssosplugin/inc/ipsplgimap4moveremoteop.h --- 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" +// 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 + */ + // parameters changed: aFunctionId removed, TImImap4GetMailInfo& -> TMsvId& + // 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; + + // new func to this op + /** + * Returns operation type + */ + TIpsOpType IpsOpType() const; + +private: + // 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 ); + // 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 iProgressBuf; - TPckgBuf iSyncProgress; +private: + // internal state of this operation + enum TState + { + EIdle, + EConnecting, + ELocalMsgs, + ERemoteMsgs + }; + TState iState; + + // iFunctionId removed, TImImap4GetMailInfo -> TMsvId + // used in error situations + TDesC8* iMoveErrorProgress; + // using destination folder Id instead of mailInfo struct + // specifies folder where to move + TMsvId iDestinationFolderId; + // removed iSelection; + CMsvEntrySelection* iRemoteSel; // Incomplete messages to be fetched. + TPckgBuf iProgressBuf; + TPckgBuf iSyncProgress; }; @@ -174,6 +175,6 @@ CMsvEntrySelection* iSelection; }; -#endif //__IPSPLGIMAP4MOVEREMOTEOP_H__ +#endif // IPSPLGIMAP4MOVEREMOTEOP_H // End of File