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 |