ipsservices/ipssosaoplugin/inc/IpsSosAOImapAgent.h
changeset 23 2dc6caa42ec3
parent 20 ecc8def7944a
equal deleted inserted replaced
20:ecc8def7944a 23:2dc6caa42ec3
    21 #define IPSSOSAOIMAPAGENT_H_
    21 #define IPSSOSAOIMAPAGENT_H_
    22 
    22 
    23 #include <imapconnectionobserver.h>
    23 #include <imapconnectionobserver.h>
    24 #include <imapset.h>
    24 #include <imapset.h>
    25 #include <mtclreg.h>
    25 #include <mtclreg.h>
    26 //<cmail>
       
    27 #include "MFSMailRequestObserver.h"
    26 #include "MFSMailRequestObserver.h"
    28 //</cmail>
       
    29 
    27 
    30 #include "IpsSosAOBaseAgent.h"
    28 #include "IpsSosAOBaseAgent.h"
    31 
    29 
    32 class CImap4ClientMtm;
    30 class CImap4ClientMtm;
    33 //<QMail>
    31 //<QMail>
    38 *
    36 *
    39 * Is created by IpsSosAOBaseAgent, contains imap spesific implementations of base class pure
    37 * Is created by IpsSosAOBaseAgent, contains imap spesific implementations of base class pure
    40 * virtual functions.
    38 * virtual functions.
    41 *
    39 *
    42 */
    40 */
       
    41 //<Qmail>
    43 NONSHARABLE_CLASS (CIpsSosAOImapAgent) : public CIpsSosAOBaseAgent,
    42 NONSHARABLE_CLASS (CIpsSosAOImapAgent) : public CIpsSosAOBaseAgent,
       
    43 //</Qmail>
    44                            public MMsvImapConnectionObserver,
    44                            public MMsvImapConnectionObserver,
    45                            public MFSMailRequestObserver
    45                            public MFSMailRequestObserver
    46     {
    46     {
    47 public:
    47 public:
    48     
    48     
    59     * Destructor
    59     * Destructor
    60     */
    60     */
    61     virtual ~CIpsSosAOImapAgent();
    61     virtual ~CIpsSosAOImapAgent();
    62     
    62     
    63 public: // from CIpsSosAOBaseAgent
    63 public: // from CIpsSosAOBaseAgent
    64     
    64     //<Qmail>
       
    65     /**
       
    66      * GetServerAddress
       
    67      * @param a return parameter
       
    68      */
    65     virtual void GetServerAddress( 
    69     virtual void GetServerAddress( 
    66             TBuf<KIpsSosAOTextBufferSize>& aIncomingServer ) const;
    70             TBuf<KIpsSosAOTextBufferSize>& aIncomingServer ) const;
    67     
    71     
       
    72     /**
       
    73      * GetUsername
       
    74      * @param a return parameter
       
    75      */
    68     virtual void GetUsername( 
    76     virtual void GetUsername( 
    69             TBuf8<KIpsSosAOTextBufferSize>& aUsername ) const;
    77             TBuf8<KIpsSosAOTextBufferSize>& aUsername ) const;
    70     
    78     
       
    79     /**
       
    80      * checks is does mailbox have connection open
       
    81      * @return is connected or not
       
    82      */
    71     virtual TBool IsConnected() const;
    83     virtual TBool IsConnected() const;
    72     
    84     
       
    85     /**
       
    86      * Starts email sync
       
    87      */
    73     virtual void StartSyncL();
    88     virtual void StartSyncL();
    74     
    89     
       
    90     /**
       
    91      * starts fetching messages
       
    92      */
    75     virtual void StartFetchMessagesL( const RArray<TMsvId>& aFetchMsgArray );
    93     virtual void StartFetchMessagesL( const RArray<TMsvId>& aFetchMsgArray );
    76     
    94     
       
    95     /**
       
    96      * cancels all ongoing suboperations and disconnects
       
    97      */
    77     virtual void CancelAllAndDisconnectL();
    98     virtual void CancelAllAndDisconnectL();
    78     
    99     
       
   100     /**
       
   101      * cancels all suboperations
       
   102      */
    79     virtual void CancelAllAndDoNotDisconnect();
   103     virtual void CancelAllAndDoNotDisconnect();
    80     
   104     
       
   105     /**
       
   106      * sets iDoNotDisconnect as ETrue
       
   107      */
    81     virtual void DoNotDisconnect();
   108     virtual void DoNotDisconnect();
    82     
   109     
       
   110     /**
       
   111      * sets iDoNotDisconnect as EFalse
       
   112      */
    83     virtual void ClearDoNotDisconnect();
   113     virtual void ClearDoNotDisconnect();
    84     
   114     
       
   115     /**
       
   116      * pauses ongoing operations
       
   117      */
    85     virtual void HoldOperations();
   118     virtual void HoldOperations();
    86 
   119 
       
   120     /**
       
   121      * resumes paused operations
       
   122      */
    87     virtual void ContinueHoldOperations();
   123     virtual void ContinueHoldOperations();
    88     
   124     
       
   125     /**
       
   126      * @return current iState
       
   127      */
    89     virtual CIpsSosAOBaseAgent::TAgentState GetState() const;
   128     virtual CIpsSosAOBaseAgent::TAgentState GetState() const;
    90     
   129     
       
   130     /**
       
   131      * Loads CImImap4Settings object
       
   132      */
    91     virtual void LoadSettingsL();
   133     virtual void LoadSettingsL();
    92     
   134     //</Qmail>
    93 public: // MMsvImapConnectionObserver  
   135 public: // MMsvImapConnectionObserver  
    94     
   136     
    95     /**
   137     /**
    96     * @param TImapConnectionEvent, imap connection event
   138     * @param TImapConnectionEvent, imap connection event
    97     */
   139     */
   117 
   159 
   118     /**
   160     /**
   119     * Second phase constructor
   161     * Second phase constructor
   120     */
   162     */
   121     void ConstructL();
   163     void ConstructL();
   122     
   164     //<Qmail>
       
   165     /**
       
   166      * called when cancelled
       
   167      */
   123     virtual void DoCancel();
   168     virtual void DoCancel();
   124     
   169     
       
   170     /**
       
   171      * from CActive
       
   172      */
   125     virtual void RunL();
   173     virtual void RunL();
   126     
   174     
       
   175     /**
       
   176      * from CActive
       
   177      */
   127     virtual TInt RunError( TInt aError );
   178     virtual TInt RunError( TInt aError );
   128 
   179 
       
   180     /**
       
   181      * fetches the content of all synced messages
       
   182      */
   129     void PopulateAllL();
   183     void PopulateAllL();
   130     
   184     
       
   185     /**
       
   186      * triggers async statemachine
       
   187      */
   131     inline void SetActiveAndCompleteThis();
   188     inline void SetActiveAndCompleteThis();
   132 
   189 	//</Qmail>
   133 private:
   190 private:
   134     
   191     
   135     CMsvSession&                        iSession;
   192     CMsvSession&                        iSession;
   136     MIpsSosAOAgentOperationResponse&    iOpResponse;
   193     MIpsSosAOAgentOperationResponse&    iOpResponse;
   137     TMsvId                              iServiceId;
   194     TMsvId                              iServiceId;
   138     TAgentState                         iState;
   195     TAgentState                         iState;
   139     TBool                               iDoNotDisconnect;
   196     TBool                               iDoNotDisconnect;
   140     CImImap4Settings*                   iImapSettings;
   197 	//<Qmail>
   141     CMsvOperation*                      iOngoingOp;
   198     CImImap4Settings*                   iImapSettings;//owned
       
   199     CMsvOperation*                      iOngoingOp;//owned
   142 
   200 
   143     TPckgBuf<TImap4CompoundProgress>    iProgressBuf;
   201     TPckgBuf<TImap4CompoundProgress>    iProgressBuf;
   144     TInt                                iError;
   202     TInt                                iError;
   145     CImap4ClientMtm*                    iImapClientMtm;
   203     CImap4ClientMtm*                    iImapClientMtm;//owned
   146     CClientMtmRegistry*                 iMtmReg;
   204     CClientMtmRegistry*                 iMtmReg;//owned
   147     RArray<TMsvId>                      iFoldersArray;
   205     RArray<TMsvId>                      iFoldersArray;//owned
       
   206 	//<Qmail>
   148 	//<QMail>
   207 	//<QMail>
   149 
   208 
   150     //</QMail>
   209     //</QMail>
   151     };
   210     };
   152 
   211