1 /* |
1 /* |
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of "Eclipse Public License v1.0" |
5 * under the terms of "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
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 #include "MFSMailRequestObserver.h" |
26 //<cmail> |
|
27 #include "mfsmailrequestobserver.h" |
|
28 //</cmail> |
27 |
29 |
28 #include "IpsSosAOBaseAgent.h" |
30 #include "IpsSosAOBaseAgent.h" |
29 |
31 |
30 class CImap4ClientMtm; |
32 class CImap4ClientMtm; |
31 //<QMail> |
33 class CIpsSetDataApi; |
32 |
34 |
33 //</QMail> |
|
34 /** |
35 /** |
35 * class CIpsSosAOImapAgent; |
36 * class CIpsSosAOImapAgent; |
36 * |
37 * |
37 * Is created by IpsSosAOBaseAgent, contains imap spesific implementations of base class pure |
38 * Is created by IpsSosAOBaseAgent, contains imap spesific implementations of base class pure |
38 * virtual functions. |
39 * virtual functions. |
39 * |
40 * |
40 */ |
41 */ |
41 //<Qmail> |
42 class CIpsSosAOImapAgent : public CIpsSosAOBaseAgent, |
42 NONSHARABLE_CLASS (CIpsSosAOImapAgent) : public CIpsSosAOBaseAgent, |
|
43 //</Qmail> |
|
44 public MMsvImapConnectionObserver, |
43 public MMsvImapConnectionObserver, |
45 public MFSMailRequestObserver |
44 public MFSMailRequestObserver |
46 { |
45 { |
47 public: |
46 public: |
48 |
47 |
59 * Destructor |
58 * Destructor |
60 */ |
59 */ |
61 virtual ~CIpsSosAOImapAgent(); |
60 virtual ~CIpsSosAOImapAgent(); |
62 |
61 |
63 public: // from CIpsSosAOBaseAgent |
62 public: // from CIpsSosAOBaseAgent |
64 //<Qmail> |
63 |
65 /** |
|
66 * GetServerAddress |
|
67 * @param a return parameter |
|
68 */ |
|
69 virtual void GetServerAddress( |
64 virtual void GetServerAddress( |
70 TBuf<KIpsSosAOTextBufferSize>& aIncomingServer ) const; |
65 TBuf<KIpsSosAOTextBufferSize>& aIncomingServer ) const; |
71 |
66 |
72 /** |
|
73 * GetUsername |
|
74 * @param a return parameter |
|
75 */ |
|
76 virtual void GetUsername( |
67 virtual void GetUsername( |
77 TBuf8<KIpsSosAOTextBufferSize>& aUsername ) const; |
68 TBuf8<KIpsSosAOTextBufferSize>& aUsername ) const; |
78 |
69 |
79 /** |
|
80 * checks is does mailbox have connection open |
|
81 * @return is connected or not |
|
82 */ |
|
83 virtual TBool IsConnected() const; |
70 virtual TBool IsConnected() const; |
84 |
71 |
85 /** |
|
86 * Starts email sync |
|
87 */ |
|
88 virtual void StartSyncL(); |
72 virtual void StartSyncL(); |
89 |
73 |
90 /** |
|
91 * starts fetching messages |
|
92 */ |
|
93 virtual void StartFetchMessagesL( const RArray<TMsvId>& aFetchMsgArray ); |
74 virtual void StartFetchMessagesL( const RArray<TMsvId>& aFetchMsgArray ); |
94 |
75 |
95 /** |
|
96 * cancels all ongoing suboperations and disconnects |
|
97 */ |
|
98 virtual void CancelAllAndDisconnectL(); |
76 virtual void CancelAllAndDisconnectL(); |
99 |
77 |
100 /** |
|
101 * cancels all suboperations |
|
102 */ |
|
103 virtual void CancelAllAndDoNotDisconnect(); |
78 virtual void CancelAllAndDoNotDisconnect(); |
104 |
79 |
105 /** |
|
106 * sets iDoNotDisconnect as ETrue |
|
107 */ |
|
108 virtual void DoNotDisconnect(); |
80 virtual void DoNotDisconnect(); |
109 |
81 |
110 /** |
|
111 * sets iDoNotDisconnect as EFalse |
|
112 */ |
|
113 virtual void ClearDoNotDisconnect(); |
82 virtual void ClearDoNotDisconnect(); |
114 |
83 |
115 /** |
|
116 * pauses ongoing operations |
|
117 */ |
|
118 virtual void HoldOperations(); |
84 virtual void HoldOperations(); |
119 |
85 |
120 /** |
|
121 * resumes paused operations |
|
122 */ |
|
123 virtual void ContinueHoldOperations(); |
86 virtual void ContinueHoldOperations(); |
124 |
87 |
125 /** |
|
126 * @return current iState |
|
127 */ |
|
128 virtual CIpsSosAOBaseAgent::TAgentState GetState() const; |
88 virtual CIpsSosAOBaseAgent::TAgentState GetState() const; |
129 |
89 |
130 /** |
|
131 * Loads CImImap4Settings object |
|
132 */ |
|
133 virtual void LoadSettingsL(); |
90 virtual void LoadSettingsL(); |
134 //</Qmail> |
91 |
135 public: // MMsvImapConnectionObserver |
92 public: // MMsvImapConnectionObserver |
136 |
93 |
137 /** |
94 /** |
138 * @param TImapConnectionEvent, imap connection event |
95 * @param TImapConnectionEvent, imap connection event |
139 */ |
96 */ |
159 |
116 |
160 /** |
117 /** |
161 * Second phase constructor |
118 * Second phase constructor |
162 */ |
119 */ |
163 void ConstructL(); |
120 void ConstructL(); |
164 //<Qmail> |
121 |
165 /** |
|
166 * called when cancelled |
|
167 */ |
|
168 virtual void DoCancel(); |
122 virtual void DoCancel(); |
169 |
123 |
170 /** |
|
171 * from CActive |
|
172 */ |
|
173 virtual void RunL(); |
124 virtual void RunL(); |
174 |
125 |
175 /** |
|
176 * from CActive |
|
177 */ |
|
178 virtual TInt RunError( TInt aError ); |
126 virtual TInt RunError( TInt aError ); |
179 |
127 |
180 /** |
|
181 * fetches the content of all synced messages |
|
182 */ |
|
183 void PopulateAllL(); |
128 void PopulateAllL(); |
184 |
129 |
185 /** |
|
186 * triggers async statemachine |
|
187 */ |
|
188 inline void SetActiveAndCompleteThis(); |
130 inline void SetActiveAndCompleteThis(); |
189 //</Qmail> |
131 |
190 private: |
132 private: |
191 |
133 |
192 CMsvSession& iSession; |
134 CMsvSession& iSession; |
193 MIpsSosAOAgentOperationResponse& iOpResponse; |
135 MIpsSosAOAgentOperationResponse& iOpResponse; |
194 TMsvId iServiceId; |
136 TMsvId iServiceId; |
195 TAgentState iState; |
137 TAgentState iState; |
196 TBool iDoNotDisconnect; |
138 TBool iDoNotDisconnect; |
197 //<Qmail> |
139 CImImap4Settings* iImapSettings; |
198 CImImap4Settings* iImapSettings;//owned |
140 CMsvOperation* iOngoingOp; |
199 CMsvOperation* iOngoingOp;//owned |
|
200 |
141 |
201 TPckgBuf<TImap4CompoundProgress> iProgressBuf; |
142 TPckgBuf<TImap4CompoundProgress> iProgressBuf; |
202 TInt iError; |
143 TInt iError; |
203 CImap4ClientMtm* iImapClientMtm;//owned |
144 CImap4ClientMtm* iImapClientMtm; |
204 CClientMtmRegistry* iMtmReg;//owned |
145 CClientMtmRegistry* iMtmReg; |
205 RArray<TMsvId> iFoldersArray;//owned |
146 RArray<TMsvId> iFoldersArray; |
206 //<Qmail> |
147 CIpsSetDataApi* iDataApi; |
207 //<QMail> |
148 |
208 |
|
209 //</QMail> |
|
210 }; |
149 }; |
211 |
150 |
212 #endif /*IPSSOSAOIMAPAGENT_H_*/ |
151 #endif /*IPSSOSAOIMAPAGENT_H_*/ |