williamr@2
|
1 |
// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
|
williamr@2
|
2 |
// All rights reserved.
|
williamr@2
|
3 |
// This component and the accompanying materials are made available
|
williamr@2
|
4 |
// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
|
williamr@2
|
5 |
// which accompanies this distribution, and is available
|
williamr@2
|
6 |
// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
|
williamr@2
|
7 |
//
|
williamr@2
|
8 |
// Initial Contributors:
|
williamr@2
|
9 |
// Nokia Corporation - initial contribution.
|
williamr@2
|
10 |
//
|
williamr@2
|
11 |
// Contributors:
|
williamr@2
|
12 |
//
|
williamr@2
|
13 |
// Description:
|
williamr@2
|
14 |
//
|
williamr@2
|
15 |
|
williamr@2
|
16 |
#ifndef __CEMAILACCOUNTS_H__
|
williamr@2
|
17 |
#define __CEMAILACCOUNTS_H__
|
williamr@2
|
18 |
|
williamr@2
|
19 |
|
williamr@2
|
20 |
#include <e32std.h>
|
williamr@2
|
21 |
#include <e32base.h>
|
williamr@2
|
22 |
#include <msvapi.h>
|
williamr@2
|
23 |
|
williamr@2
|
24 |
|
williamr@2
|
25 |
class CImIAPPreferences;
|
williamr@2
|
26 |
class CImPop3Settings;
|
williamr@2
|
27 |
class CImImap4Settings;
|
williamr@2
|
28 |
class CImSmtpSettings;
|
williamr@2
|
29 |
class CRepository;
|
williamr@2
|
30 |
class CImapSyncDownloadRules;
|
williamr@2
|
31 |
class CImapTransportBufferSizes;
|
williamr@2
|
32 |
class CImSmtpMobilitySettings;
|
williamr@2
|
33 |
|
williamr@2
|
34 |
/**
|
williamr@2
|
35 |
Maximum size of email account name
|
williamr@2
|
36 |
|
williamr@2
|
37 |
@publishedAll
|
williamr@2
|
38 |
@released
|
williamr@2
|
39 |
*/
|
williamr@2
|
40 |
const TInt KEmailAccountNameSize = 256;
|
williamr@2
|
41 |
|
williamr@2
|
42 |
/**
|
williamr@2
|
43 |
Maximum number of entries allowed in the IAP list for a SMTP mobility account
|
williamr@2
|
44 |
|
williamr@2
|
45 |
@publishedPartner
|
williamr@2
|
46 |
@released
|
williamr@2
|
47 |
*/
|
williamr@2
|
48 |
const TInt KMaxSmtpMobilityAccountIAPListEntries = 32;
|
williamr@2
|
49 |
|
williamr@2
|
50 |
/**
|
williamr@2
|
51 |
Identifier number for a POP email account.
|
williamr@2
|
52 |
|
williamr@2
|
53 |
@publishedAll
|
williamr@2
|
54 |
@released
|
williamr@2
|
55 |
@see TPopAccount
|
williamr@2
|
56 |
*/
|
williamr@2
|
57 |
typedef TInt TPopAccountId;
|
williamr@2
|
58 |
|
williamr@2
|
59 |
/**
|
williamr@2
|
60 |
Identifier number for an IMAP email account.
|
williamr@2
|
61 |
|
williamr@2
|
62 |
@publishedAll
|
williamr@2
|
63 |
@released
|
williamr@2
|
64 |
@see TImapAccount
|
williamr@2
|
65 |
*/
|
williamr@2
|
66 |
typedef TInt TImapAccountId;
|
williamr@2
|
67 |
|
williamr@2
|
68 |
/**
|
williamr@2
|
69 |
Identifier number for an SMTP email account.
|
williamr@2
|
70 |
|
williamr@2
|
71 |
@publishedAll
|
williamr@2
|
72 |
@released
|
williamr@2
|
73 |
@see TSmtpAccount
|
williamr@2
|
74 |
*/
|
williamr@2
|
75 |
typedef TInt TSmtpAccountId;
|
williamr@2
|
76 |
|
williamr@2
|
77 |
/**
|
williamr@2
|
78 |
Identifier number for an SMTP moblity account.
|
williamr@2
|
79 |
|
williamr@2
|
80 |
@publishedPartner
|
williamr@2
|
81 |
@released
|
williamr@2
|
82 |
*/
|
williamr@2
|
83 |
typedef TInt TSmtpMobilityAccountId;
|
williamr@2
|
84 |
|
williamr@2
|
85 |
/**
|
williamr@2
|
86 |
Array of IAP values
|
williamr@2
|
87 |
|
williamr@2
|
88 |
@publishedPartner
|
williamr@2
|
89 |
@released
|
williamr@2
|
90 |
*/
|
williamr@2
|
91 |
typedef RArray<TUint32> RArrayIAP;
|
williamr@2
|
92 |
|
williamr@2
|
93 |
/**
|
williamr@2
|
94 |
Null or undefined SMTP account identifier
|
williamr@2
|
95 |
|
williamr@2
|
96 |
@publishedPartner
|
williamr@2
|
97 |
@released
|
williamr@2
|
98 |
*/
|
williamr@2
|
99 |
const TSmtpAccountId KNullSmtpAccountId = 0;
|
williamr@2
|
100 |
|
williamr@2
|
101 |
/**
|
williamr@2
|
102 |
POP account ID.
|
williamr@2
|
103 |
|
williamr@2
|
104 |
Objects of this type identify POP email accounts.
|
williamr@2
|
105 |
They are obtained when a POP account is created
|
williamr@2
|
106 |
(CEmailAccounts::CreatePopAccountL()), or by
|
williamr@2
|
107 |
querying for what POP accounts exist
|
williamr@2
|
108 |
(CEmailAccounts::GetPopAccountL() and CEmailAccounts::GetPopAccountsL()).
|
williamr@2
|
109 |
|
williamr@2
|
110 |
The object is then used as a handle to the account when getting
|
williamr@2
|
111 |
the account settings, using CEmailAccounts::LoadPopSettingsL() and
|
williamr@2
|
112 |
CEmailAccounts::LoadPopIapSettingsL().
|
williamr@2
|
113 |
|
williamr@2
|
114 |
@publishedAll
|
williamr@2
|
115 |
@released
|
williamr@2
|
116 |
*/
|
williamr@2
|
117 |
class TPopAccount
|
williamr@2
|
118 |
{
|
williamr@2
|
119 |
public:
|
williamr@2
|
120 |
/** POP account identifier number.
|
williamr@2
|
121 |
|
williamr@2
|
122 |
Each POP account stored on the phone has a different
|
williamr@2
|
123 |
identifier number to distinguish it from other accounts.
|
williamr@2
|
124 |
*/
|
williamr@2
|
125 |
TPopAccountId iPopAccountId;
|
williamr@2
|
126 |
|
williamr@2
|
127 |
/** POP account name. */
|
williamr@2
|
128 |
TBuf<KEmailAccountNameSize> iPopAccountName;
|
williamr@2
|
129 |
|
williamr@2
|
130 |
/** Entry ID of the POP service for this account. */
|
williamr@2
|
131 |
TMsvId iPopService;
|
williamr@2
|
132 |
|
williamr@2
|
133 |
/** Entry ID of the related SMTP service for this account.
|
williamr@2
|
134 |
|
williamr@2
|
135 |
This is set if an SMTP service has been created, using
|
williamr@2
|
136 |
CEmailAccounts::CreateSmtpAccountL(), that specifies that
|
williamr@2
|
137 |
it is related to this account. An SMTP service (which provides
|
williamr@2
|
138 |
email sending functionality) is used in conjunction with
|
williamr@2
|
139 |
a POP or IMAP service (which provide email retrieval).
|
williamr@2
|
140 |
*/
|
williamr@2
|
141 |
TMsvId iSmtpService;
|
williamr@2
|
142 |
};
|
williamr@2
|
143 |
|
williamr@2
|
144 |
/**
|
williamr@2
|
145 |
IMAP account ID.
|
williamr@2
|
146 |
|
williamr@2
|
147 |
Objects of this type identify IMAP email accounts.
|
williamr@2
|
148 |
They are obtained when a IMAP account is created
|
williamr@2
|
149 |
(CEmailAccounts::CreateImapAccountL()), or by
|
williamr@2
|
150 |
querying for what IMAP accounts exist
|
williamr@2
|
151 |
(CEmailAccounts::GetImapAccountL() and CEmailAccounts::GetImapAccountsL()).
|
williamr@2
|
152 |
|
williamr@2
|
153 |
The object is then used as a handle to the account when getting
|
williamr@2
|
154 |
the account settings, using CEmailAccounts::LoadImapSettingsL() and
|
williamr@2
|
155 |
CEmailAccounts::LoadImapIapSettingsL().
|
williamr@2
|
156 |
|
williamr@2
|
157 |
@publishedAll
|
williamr@2
|
158 |
@released
|
williamr@2
|
159 |
*/
|
williamr@2
|
160 |
class TImapAccount
|
williamr@2
|
161 |
{
|
williamr@2
|
162 |
public:
|
williamr@2
|
163 |
/** IMAP account identifier number.
|
williamr@2
|
164 |
|
williamr@2
|
165 |
Each IMAP account stored on the phone has a different
|
williamr@2
|
166 |
identifier number to distinguish it from other accounts.
|
williamr@2
|
167 |
*/
|
williamr@2
|
168 |
TImapAccountId iImapAccountId;
|
williamr@2
|
169 |
|
williamr@2
|
170 |
/** IMAP account name */
|
williamr@2
|
171 |
TBuf<KEmailAccountNameSize> iImapAccountName;
|
williamr@2
|
172 |
|
williamr@2
|
173 |
/** Entry ID of the IMAP service for this account. */
|
williamr@2
|
174 |
TMsvId iImapService;
|
williamr@2
|
175 |
|
williamr@2
|
176 |
/** Entry ID of the related SMTP service for this account.
|
williamr@2
|
177 |
|
williamr@2
|
178 |
This is set if an SMTP service has been created, using
|
williamr@2
|
179 |
CEmailAccounts::CreateSmtpAccountL(), that specifies that
|
williamr@2
|
180 |
it is related to this account. An SMTP service (which provides
|
williamr@2
|
181 |
email sending functionality) is used in conjunction with
|
williamr@2
|
182 |
a POP or IMAP service (which provide email retrieval).
|
williamr@2
|
183 |
*/
|
williamr@2
|
184 |
TMsvId iSmtpService;
|
williamr@2
|
185 |
};
|
williamr@2
|
186 |
|
williamr@2
|
187 |
/**
|
williamr@2
|
188 |
SMTP account ID.
|
williamr@2
|
189 |
|
williamr@2
|
190 |
Objects of this type identify SMTP email accounts.
|
williamr@2
|
191 |
They are obtained when a SMTP account is created
|
williamr@2
|
192 |
(CEmailAccounts::CreateSmtpAccountL()), or by
|
williamr@2
|
193 |
querying for what SMTP accounts exist
|
williamr@2
|
194 |
(CEmailAccounts::GetSmtpAccountL() and CEmailAccounts::GetISmtpAccountsL()).
|
williamr@2
|
195 |
|
williamr@2
|
196 |
The object is then used as a handle to the account when getting
|
williamr@2
|
197 |
the account settings, using CEmailAccounts::LoadSmtpSettingsL() and
|
williamr@2
|
198 |
CEmailAccounts::LoadSmtpIapSettingsL().
|
williamr@2
|
199 |
|
williamr@2
|
200 |
@publishedAll
|
williamr@2
|
201 |
@released
|
williamr@2
|
202 |
*/
|
williamr@2
|
203 |
class TSmtpAccount
|
williamr@2
|
204 |
{
|
williamr@2
|
205 |
public:
|
williamr@2
|
206 |
/** SMTP account identifier number. */
|
williamr@2
|
207 |
TSmtpAccountId iSmtpAccountId;
|
williamr@2
|
208 |
|
williamr@2
|
209 |
/** SMTP account name */
|
williamr@2
|
210 |
TBuf<KEmailAccountNameSize> iSmtpAccountName;
|
williamr@2
|
211 |
|
williamr@2
|
212 |
/** Entry ID of the SMTP service for this account. */
|
williamr@2
|
213 |
TMsvId iSmtpService;
|
williamr@2
|
214 |
|
williamr@2
|
215 |
/** Entry ID of the related POP or IMAP service for this account.
|
williamr@2
|
216 |
|
williamr@2
|
217 |
An SMTP service (which provides email sending functionality) is
|
williamr@2
|
218 |
used in conjunction with a POP or IMAP service (which provide email retrieval).
|
williamr@2
|
219 |
*/
|
williamr@2
|
220 |
TMsvId iRelatedService;
|
williamr@2
|
221 |
};
|
williamr@2
|
222 |
|
williamr@2
|
223 |
/**
|
williamr@2
|
224 |
@publishedPartner
|
williamr@2
|
225 |
@released
|
williamr@2
|
226 |
*/
|
williamr@2
|
227 |
class TSmtpMobilityAccount
|
williamr@2
|
228 |
{
|
williamr@2
|
229 |
public:
|
williamr@2
|
230 |
/** SMTP mobility account identifier */
|
williamr@2
|
231 |
TSmtpMobilityAccountId iAccountId;
|
williamr@2
|
232 |
|
williamr@2
|
233 |
/** SMTP mobility account name */
|
williamr@2
|
234 |
TBuf<KEmailAccountNameSize> iName;
|
williamr@2
|
235 |
|
williamr@2
|
236 |
/** Parent SMTP account identifier */
|
williamr@2
|
237 |
TSmtpAccountId iParentSmtpAccountId;
|
williamr@2
|
238 |
|
williamr@2
|
239 |
/** Linked SMTP account identifier. Identifies the SMTP account whose
|
williamr@2
|
240 |
settings will be used by this mobility account. If the mobility account
|
williamr@2
|
241 |
is using its own settings, this will be set to KNullSmtpAccountId. */
|
williamr@2
|
242 |
TSmtpAccountId iLinkedSmtpAccountId;
|
williamr@2
|
243 |
};
|
williamr@2
|
244 |
|
williamr@2
|
245 |
/**
|
williamr@2
|
246 |
Creates, loads, saves and deletes email (IMAP, POP, and SMTP) accounts.
|
williamr@2
|
247 |
|
williamr@2
|
248 |
An account encapsulates:
|
williamr@2
|
249 |
|
williamr@2
|
250 |
- Settings for a messaging service. There is a different type of
|
williamr@2
|
251 |
settings class for each of the email protocols (CImPop3Settings,
|
williamr@2
|
252 |
CImImap4Settings, CImSmtpSettings).
|
williamr@2
|
253 |
- IAP (Internet account) settings for accessing the service.
|
williamr@2
|
254 |
|
williamr@2
|
255 |
The class has a family of functions for each protocol to create, get,
|
williamr@2
|
256 |
and delete accounts:
|
williamr@2
|
257 |
|
williamr@2
|
258 |
- Create\<protocol\>AccountL
|
williamr@2
|
259 |
- Get\<protocol\>AccountL
|
williamr@2
|
260 |
- Get\<protocol\>AccountsL
|
williamr@2
|
261 |
- Delete\<protocol\>AccountL
|
williamr@2
|
262 |
|
williamr@2
|
263 |
where \<protocol\> is either POP, IMAP, or SMTP.
|
williamr@2
|
264 |
The Create and Get functions don't directly return settings
|
williamr@2
|
265 |
objects, but only account identifiers.
|
williamr@2
|
266 |
|
williamr@2
|
267 |
Account identifiers are passed to the following functions
|
williamr@2
|
268 |
to save and load the service and IAP settings for that account:
|
williamr@2
|
269 |
|
williamr@2
|
270 |
- Load\<protocol\>SettingsL
|
williamr@2
|
271 |
- Save\<protocol\>SettingsL
|
williamr@2
|
272 |
- Load\<protocol\>IapSettingsL
|
williamr@2
|
273 |
- Save\<protocol\>IapSettingsL
|
williamr@2
|
274 |
|
williamr@2
|
275 |
For SMTP only, there is a concept of a default account (as a client
|
williamr@2
|
276 |
program may want to send an email, and not care which account is used.)
|
williamr@2
|
277 |
SetDefaultSmtpAccountL(), DefaultSmtpAccountL() and DeleteDefaultSmtpAccountL()
|
williamr@2
|
278 |
are used to handle this.
|
williamr@2
|
279 |
|
williamr@2
|
280 |
Note that an account is associated with a service entry in the message store,
|
williamr@2
|
281 |
but account information itself is stored in the central repository.
|
williamr@2
|
282 |
|
williamr@2
|
283 |
@publishedAll
|
williamr@2
|
284 |
@released
|
williamr@2
|
285 |
*/
|
williamr@2
|
286 |
class CEmailAccounts : public CBase, public MMsvSessionObserver
|
williamr@2
|
287 |
{
|
williamr@2
|
288 |
public:
|
williamr@2
|
289 |
|
williamr@2
|
290 |
IMPORT_C static CEmailAccounts* NewL();
|
williamr@2
|
291 |
IMPORT_C static CEmailAccounts* NewLC();
|
williamr@2
|
292 |
IMPORT_C virtual ~CEmailAccounts();
|
williamr@2
|
293 |
|
williamr@2
|
294 |
IMPORT_C TPopAccount CreatePopAccountL(const TDesC& aAccountName, const CImPop3Settings& aPopSettings,
|
williamr@2
|
295 |
const CImIAPPreferences& aPopIAP, TBool aReadOnly);
|
williamr@2
|
296 |
|
williamr@2
|
297 |
IMPORT_C TImapAccount CreateImapAccountL(const TDesC& aAccountName, const CImImap4Settings& aImapSettings,
|
williamr@2
|
298 |
const CImIAPPreferences& aImapIAP, TBool aReadOnly);
|
williamr@2
|
299 |
|
williamr@2
|
300 |
IMPORT_C TSmtpAccount CreateSmtpAccountL(TPopAccount& aPopAccount, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
301 |
const CImIAPPreferences& aSmtpIAP, TBool aReadOnly);
|
williamr@2
|
302 |
|
williamr@2
|
303 |
IMPORT_C TSmtpAccount CreateSmtpAccountL(TImapAccount& aImapAccount, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
304 |
const CImIAPPreferences& aSmtpIAP, TBool aReadOnly);
|
williamr@2
|
305 |
|
williamr@2
|
306 |
IMPORT_C TSmtpAccount CreateSmtpAccountL(const TDesC& aAccountName, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
307 |
const CImIAPPreferences& aSmtpIAP, TBool aReadOnly);
|
williamr@2
|
308 |
|
williamr@2
|
309 |
IMPORT_C void GetPopAccountsL(RArray<TPopAccount>& aAccounts);
|
williamr@2
|
310 |
IMPORT_C void GetPopAccountL(TMsvId aServiceId, TPopAccount& aAccount);
|
williamr@2
|
311 |
IMPORT_C void DeletePopAccountL(const TPopAccount& aAccount);
|
williamr@2
|
312 |
|
williamr@2
|
313 |
IMPORT_C void GetImapAccountsL(RArray<TImapAccount>& aAccounts);
|
williamr@2
|
314 |
IMPORT_C void GetImapAccountL(TMsvId aServiceId, TImapAccount& aAccount);
|
williamr@2
|
315 |
IMPORT_C void DeleteImapAccountL(const TImapAccount& aAccount);
|
williamr@2
|
316 |
|
williamr@2
|
317 |
IMPORT_C void GetSmtpAccountsL(RArray<TSmtpAccount>& aAccounts);
|
williamr@2
|
318 |
IMPORT_C void GetSmtpAccountL(TMsvId aServiceId, TSmtpAccount& aAccount);
|
williamr@2
|
319 |
IMPORT_C void DeleteSmtpAccountL(const TSmtpAccount& aAccount);
|
williamr@2
|
320 |
IMPORT_C void DeleteDefaultSmtpAccountL();
|
williamr@2
|
321 |
|
williamr@2
|
322 |
IMPORT_C void PopulateDefaultPopSettingsL(CImPop3Settings& aPopSettings,
|
williamr@2
|
323 |
CImIAPPreferences& aPopIap);
|
williamr@2
|
324 |
|
williamr@2
|
325 |
IMPORT_C void PopulateDefaultImapSettingsL(CImImap4Settings& aImapSettings,
|
williamr@2
|
326 |
CImIAPPreferences& aImapIap);
|
williamr@2
|
327 |
|
williamr@2
|
328 |
IMPORT_C void PopulateDefaultSmtpSettingsL(CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
329 |
CImIAPPreferences& aSmtpIap);
|
williamr@2
|
330 |
|
williamr@2
|
331 |
IMPORT_C TInt DefaultSmtpAccountL(TSmtpAccount& aAccount);
|
williamr@2
|
332 |
IMPORT_C void SetDefaultSmtpAccountL(const TSmtpAccount& aAccount);
|
williamr@2
|
333 |
|
williamr@2
|
334 |
IMPORT_C void LoadPopSettingsL(const TPopAccount& aAccount, CImPop3Settings& aPopSettings);
|
williamr@2
|
335 |
IMPORT_C void LoadPopIapSettingsL(const TPopAccount& aAccount, CImIAPPreferences& aIAP);
|
williamr@2
|
336 |
|
williamr@2
|
337 |
IMPORT_C void LoadImapSettingsL(const TImapAccount& aAccount, CImImap4Settings& aImapSettings);
|
williamr@2
|
338 |
IMPORT_C void LoadImapIapSettingsL(const TImapAccount& aAccount, CImIAPPreferences& aIAP);
|
williamr@2
|
339 |
|
williamr@2
|
340 |
IMPORT_C void LoadSmtpSettingsL(const TSmtpAccount& aAccount, CImSmtpSettings& aSmtpSettings);
|
williamr@2
|
341 |
IMPORT_C void LoadSmtpIapSettingsL(const TSmtpAccount& aAccount, CImIAPPreferences& aIAP);
|
williamr@2
|
342 |
|
williamr@2
|
343 |
IMPORT_C void SavePopSettingsL(const TPopAccount& aAccount, const CImPop3Settings& aPopSettings);
|
williamr@2
|
344 |
IMPORT_C void SavePopIapSettingsL(const TPopAccount& aAccount, const CImIAPPreferences& aIAP);
|
williamr@2
|
345 |
|
williamr@2
|
346 |
IMPORT_C void SaveImapSettingsL(const TImapAccount& aAccount, const CImImap4Settings& aImapSettings);
|
williamr@2
|
347 |
|
williamr@2
|
348 |
IMPORT_C void SaveImapIapSettingsL(const TImapAccount& aAccount, const CImIAPPreferences& aIAP);
|
williamr@2
|
349 |
|
williamr@2
|
350 |
IMPORT_C void SaveSmtpSettingsL(const TSmtpAccount& aAccount, const CImSmtpSettings& aSmtpSettings);
|
williamr@2
|
351 |
IMPORT_C void SaveSmtpIapSettingsL(const TSmtpAccount& aAccount, const CImIAPPreferences& aIAP);
|
williamr@2
|
352 |
|
williamr@2
|
353 |
IMPORT_C TBool IsAccountReadOnlyL(const TPopAccount& aAccount);
|
williamr@2
|
354 |
IMPORT_C TBool IsAccountReadOnlyL(const TImapAccount& aAccount);
|
williamr@2
|
355 |
IMPORT_C TBool IsAccountReadOnlyL(const TSmtpAccount& aAccount);
|
williamr@2
|
356 |
|
williamr@2
|
357 |
// Published partner routines
|
williamr@2
|
358 |
IMPORT_C TImapAccount CreateImapAccountL(const TDesC& aAccountName,
|
williamr@2
|
359 |
const CImImap4Settings& aImapSettings, const CImIAPPreferences& aImapIAP,
|
williamr@2
|
360 |
const CImapSyncDownloadRules& aSyncDownloadRules, TBool aReadOnly);
|
williamr@2
|
361 |
IMPORT_C void LoadImapSyncDownloadRulesL(const TImapAccount& aAccount, CImapSyncDownloadRules& aRules);
|
williamr@2
|
362 |
IMPORT_C void LoadImapTransportBufferSizesL(CImapTransportBufferSizes& aBufferSizes);
|
williamr@2
|
363 |
IMPORT_C void SaveImapSyncDownloadRulesL(const TImapAccount& aAccount, const CImapSyncDownloadRules& aRules);
|
williamr@2
|
364 |
IMPORT_C void SaveImapTransportBufferSizesL(const CImapTransportBufferSizes& aBufferSizes);
|
williamr@2
|
365 |
IMPORT_C void DeleteImapTransportBufferSizesL();
|
williamr@2
|
366 |
|
williamr@2
|
367 |
IMPORT_C void GetSmtpAccountL(TSmtpAccountId aAccountId, TSmtpAccount& aAccount);
|
williamr@2
|
368 |
|
williamr@2
|
369 |
IMPORT_C TSmtpMobilityAccount CreateSmtpMobilityAccountL(const TDesC& aAccountName, const RArrayIAP& aIapList, const TSmtpAccount& aSmtpAccount, const CImSmtpMobilitySettings& aSettings, TBool aReadOnly);
|
williamr@2
|
370 |
IMPORT_C TSmtpMobilityAccount CreateSmtpMobilityAccountL(const TDesC& aAccountName, const RArrayIAP& aIapList, const TSmtpAccount& aSmtpAccount, const TSmtpAccount& aLinkedSmtpAccount, TBool aReadOnly);
|
williamr@2
|
371 |
IMPORT_C void GetSmtpMobilityAccountsL(const TSmtpAccount& aSmtpAccount, RArray<TSmtpMobilityAccount>& aAccounts);
|
williamr@2
|
372 |
IMPORT_C void DeleteSmtpMobilityAccountL(const TSmtpMobilityAccount& aAccount);
|
williamr@2
|
373 |
|
williamr@2
|
374 |
IMPORT_C void PopulateDefaultSmtpMobilitySettingsL(CImSmtpMobilitySettings& aSettings);
|
williamr@2
|
375 |
IMPORT_C void LoadSmtpMobilitySettingsL(const TSmtpMobilityAccount& aAccount, CImSmtpMobilitySettings& aSettings);
|
williamr@2
|
376 |
IMPORT_C void SaveSmtpMobilitySettingsL(const TSmtpMobilityAccount& aAccount, const CImSmtpMobilitySettings& aSettings);
|
williamr@2
|
377 |
|
williamr@2
|
378 |
IMPORT_C void LoadSmtpMobilityAccountIapListL(const TSmtpMobilityAccount& aAccount, RArrayIAP& aIapList);
|
williamr@2
|
379 |
IMPORT_C void SaveSmtpMobilityAccountIapListL(const TSmtpMobilityAccount& aAccount, const RArrayIAP& aIapList);
|
williamr@2
|
380 |
|
williamr@2
|
381 |
IMPORT_C TBool IsAccountReadOnlyL(const TSmtpMobilityAccount& aAccount);
|
williamr@2
|
382 |
|
williamr@2
|
383 |
// Internal routines
|
williamr@2
|
384 |
IMPORT_C void GetSmtpMobilityAccountsL(RArray<TSmtpMobilityAccount>& aAccounts);
|
williamr@2
|
385 |
IMPORT_C TBool LoadSmtpMobilitySettingsL(TSmtpAccountId& aSmtpAccountId, TUint32 aIap, CImSmtpMobilitySettings& aSettings);
|
williamr@2
|
386 |
|
williamr@2
|
387 |
private:
|
williamr@2
|
388 |
CEmailAccounts();
|
williamr@2
|
389 |
void HandleSessionEventL(TMsvSessionEvent , TAny* , TAny* , TAny* );
|
williamr@2
|
390 |
CMsvSession& SessionL();
|
williamr@2
|
391 |
CRepository& PopRepositoryL();
|
williamr@2
|
392 |
CRepository& ImapRepositoryL();
|
williamr@2
|
393 |
CRepository& SmtpRepositoryL();
|
williamr@2
|
394 |
|
williamr@2
|
395 |
TMsvId CreateEmailServiceL(CMsvEntry& aMsvEntry, const TDesC& aAccountName, TUid aMTMType, TBool aVisible);
|
williamr@2
|
396 |
void SetRelatedIdL(CMsvEntry& aMsvEntry, TMsvId aId, TMsvId aRelatedId);
|
williamr@2
|
397 |
void SetEntryDetailsL(TMsvId aId, const TDesC& aAccountName);
|
williamr@2
|
398 |
void UnSetInPreparationFlagsL(CMsvEntry& aMsvEntry, TMsvId aId, TInt aAccountId);
|
williamr@2
|
399 |
void DeleteServiceEntryL(CMsvEntry& aMsvEntry, TMsvId aId);
|
williamr@2
|
400 |
|
williamr@2
|
401 |
TUint GetNextEmptyAccountSlotL(CRepository& aRepository);
|
williamr@2
|
402 |
TUint32 FindEmailAccountL(TMsvId aService, CRepository& aRepository);
|
williamr@2
|
403 |
|
williamr@2
|
404 |
void LoadIAPPrefSettingsL(TUint32 aAccountId, CImIAPPreferences& aIAP, CRepository& aRepository);
|
williamr@2
|
405 |
void DoLoadPopSettingsL(TUint32 aAccountId, CImPop3Settings& aPopSettings);
|
williamr@2
|
406 |
void DoLoadImapSettingsL(TUint32 aAccountId, CImImap4Settings& aImapSettings);
|
williamr@2
|
407 |
void DoLoadSmtpSettingsL(TUint32 aAccountId, CImSmtpSettings& aSmtpSettings);
|
williamr@2
|
408 |
|
williamr@2
|
409 |
void SaveIAPPrefSettingsL(TUint32 aAccountId, const CImIAPPreferences& aIAP, CRepository& aRepository);
|
williamr@2
|
410 |
void DoSavePopSettingsL(TUint32 aAccountId, const CImPop3Settings& aPopSettings);
|
williamr@2
|
411 |
void DoSaveSmtpSettingsL(TUint32 aAccountId, const CImSmtpSettings& aSmtpSettings);
|
williamr@2
|
412 |
void DoSaveImapSettingsL(TUint32 aAccountId, const CImImap4Settings& aImapSettings);
|
williamr@2
|
413 |
void DoSaveImapSyncDownloadRulesL(TUint32 aAccountId, const CImapSyncDownloadRules& aRules, CRepository& aRepository);
|
williamr@2
|
414 |
|
williamr@2
|
415 |
TImapAccount CreateImapAccountL(const TDesC& aAccountName, const CImImap4Settings& aImapSettings,
|
williamr@2
|
416 |
const CImIAPPreferences& aImapIAP, const CImapSyncDownloadRules* aSyncDownloadRules, TBool aReadOnly);
|
williamr@2
|
417 |
|
williamr@2
|
418 |
TUint32 DoCreatePopAccountL(const TDesC& aAccountName, const CImPop3Settings& aPopSettings,
|
williamr@2
|
419 |
const CImIAPPreferences& aPopIAP, TMsvId aPopService, TMsvId aRelatedService, TBool aReadOnly);
|
williamr@2
|
420 |
TUint32 DoCreateImapAccountL(const TDesC& aAccountName, const CImImap4Settings& aImapSettings,
|
williamr@2
|
421 |
const CImIAPPreferences& aImapIAP, const CImapSyncDownloadRules* aSyncDownloadRules, TMsvId aImapService,
|
williamr@2
|
422 |
TMsvId aRelatedService, TBool aReadOnly);
|
williamr@2
|
423 |
TUint32 DoCreateSmtpAccountL(TPopAccount& aPopAccount, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
424 |
const CImIAPPreferences& aSmtpIAP, TMsvId aSmtpService, CMsvEntry& aMsvEntry, TUint32& aPopAccountId, TBool aReadOnly);
|
williamr@2
|
425 |
TUint32 DoCreateSmtpAccountL(TImapAccount& aImapAccount, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
426 |
const CImIAPPreferences& aSmtpIAP, TMsvId aSmtpService, CMsvEntry& aMsvEntry, TUint32& aImapAccountId, TBool aReadOnly);
|
williamr@2
|
427 |
TUint32 DoCreateSmtpAccountL(const TDesC& aAccountName, const CImSmtpSettings& aSmtpSettings,
|
williamr@2
|
428 |
const CImIAPPreferences& aSmtpIAP, TMsvId aSmtpService, TMsvId aRelatedService, TBool aReadOnly);
|
williamr@2
|
429 |
|
williamr@2
|
430 |
void DeleteIAPPrefSettingsL(TUint32 aAccountId, CRepository& aRepository);
|
williamr@2
|
431 |
void DeletePopSettings(TUint32 aAccountId, CRepository& aRepository);
|
williamr@2
|
432 |
void DeleteSmtpSettings(TUint32 aAccountId, CRepository& aRepository);
|
williamr@2
|
433 |
void DeleteImapSettings(TUint32 aAccountId, CRepository& aRepository);
|
williamr@2
|
434 |
void DeleteImapSyncDownloadRulesL(TUint32 aAccountId, CRepository& aRepository);
|
williamr@2
|
435 |
|
williamr@2
|
436 |
void GetEmailServicesL(CMsvEntrySelection& aServices, TUid aMTMType, CMsvEntry& aMsvEntry);
|
williamr@2
|
437 |
|
williamr@2
|
438 |
TBool IsAsciiPrintable(const TDesC16& aText);
|
williamr@2
|
439 |
TBool IsAsciiPrintable(const TDesC8& aText);
|
williamr@2
|
440 |
TBool IsUnicodePrintable(const TDesC16& aText);
|
williamr@2
|
441 |
|
williamr@2
|
442 |
TSmtpMobilityAccount DoCreateSmtpMobilityAccountL(const TDesC& aAccountName, const RArrayIAP& aIapList, const CImSmtpMobilitySettings& aSettings, const TSmtpAccount& aSmtpAccount, TSmtpAccountId aLinkedSmtpAccountId, TBool aReadOnly);
|
williamr@2
|
443 |
void AddMobilityAccountToSmtpAccountL(const TSmtpAccount& aSmtpAccount, const RArrayIAP& aIapList, TUint32 aMobAccRepId, CRepository& aRepository);
|
williamr@2
|
444 |
void AddLinkToMobilityAccountL(TSmtpAccountId aLinkedSmtpAccountId, TUint32 aMobAccRepId, CRepository& aRepository);
|
williamr@2
|
445 |
TInt FindIapListEntryInSmtpMobilityAccountListL(const RArrayIAP& aIapList, CRepository& aRepository, TUint32 aSmtpAccRepId, TInt aNumEntries, TInt aIgnorePos);
|
williamr@2
|
446 |
TInt FindAccountIdInSmtpMobilityAccountListL(TUint32 aMobAccRepId, CRepository& aRepository, TUint32 aSmtpAccRepId, TInt aNumEntries);
|
williamr@2
|
447 |
void GetSmtpAccountInfoForMobilityAccountL(TUint32 aMobAccRepId, CRepository& aRepository, TUint32& aSmtpAccRepId, TInt& aPos);
|
williamr@2
|
448 |
void DeleteAllOwnedMobilityAccountsL(TUint32 aSmtpAccRepId, CRepository& aRepository);
|
williamr@2
|
449 |
void DeleteAllLinkedMobilityAccountsL(TUint32 aLinkedSmtpAccRepId, CRepository& aRepository);
|
williamr@2
|
450 |
void DeleteSmtpMobilityAccountListEntryL(TUint32 aMobAccRepId, CRepository& aRepository, TUint32 aSmtpAccRepId);
|
williamr@2
|
451 |
void DeleteSmtpMobilityAccountFromLinkedSmtpAccountL(TUint32 aMobAccRepId, CRepository& aRepository);
|
williamr@2
|
452 |
TBool IsSmtpTypeAccountReadOnlyL(TUint32 aAccRepId);
|
williamr@2
|
453 |
TBool IsSmtpMobilityAccount(CRepository& aRepository, TUint32 aAccRepId);
|
williamr@2
|
454 |
|
williamr@2
|
455 |
private:
|
williamr@2
|
456 |
enum TEmailSettingTypes
|
williamr@2
|
457 |
{
|
williamr@2
|
458 |
// Partial CenRep Id for service settings
|
williamr@2
|
459 |
EServiceSettingType = 0x00000000,
|
williamr@2
|
460 |
// Partial CenRep Id for IAP Prefs
|
williamr@2
|
461 |
EIAPPrefSettingType = 0x00010000,
|
williamr@2
|
462 |
// CenRep mask for email accounts
|
williamr@2
|
463 |
EAccountMask = 0x800FFFFF
|
williamr@2
|
464 |
};
|
williamr@2
|
465 |
|
williamr@2
|
466 |
enum TPOPServiceSettingsCenRepId
|
williamr@2
|
467 |
{
|
williamr@2
|
468 |
EPOPServiceId = 0x00000000,
|
williamr@2
|
469 |
EPOPAccountNameId = 0x00000001,
|
williamr@2
|
470 |
EPOPRelatedSMTPServiceId = 0x00000002,
|
williamr@2
|
471 |
EPOPSettingsVersionId = 0x00000003,
|
williamr@2
|
472 |
EPOPServerAddressId = 0x00000004,
|
williamr@2
|
473 |
EPOPPortNumberId = 0x00000005,
|
williamr@2
|
474 |
EPOPFlagsId = 0x00000006,
|
williamr@2
|
475 |
EPOPLoginNameId = 0x00000007,
|
williamr@2
|
476 |
EPOPPasswordId = 0x00000008,
|
williamr@2
|
477 |
EPOPMaxEmailSizeId = 0x00000009,
|
williamr@2
|
478 |
EPOPGetEmailOptionsId = 0x0000000A,
|
williamr@2
|
479 |
EPOPInboxSynchronisationLimitId = 0x0000000B,
|
williamr@2
|
480 |
EPOPPopulationLimitId = 0x0000000C,
|
williamr@2
|
481 |
EPOPReadOnlyAccountId = 0x0000000D,
|
williamr@2
|
482 |
EPOPTlsSslDomainId = 0x0000000F
|
williamr@2
|
483 |
};
|
williamr@2
|
484 |
|
williamr@2
|
485 |
enum TIMAPServiceSettingsCenRepId
|
williamr@2
|
486 |
{
|
williamr@2
|
487 |
EIMAPServiceId = 0x00000000,
|
williamr@2
|
488 |
EIMAPAccountNameId = 0x00000001,
|
williamr@2
|
489 |
EIMAPRelatedSMTPServiceId = 0x00000002,
|
williamr@2
|
490 |
EIMAPSettingsVersionId = 0x00000003,
|
williamr@2
|
491 |
EIMAPServerAddressId = 0x00000004,
|
williamr@2
|
492 |
EIMAPPortNumberId = 0x00000005,
|
williamr@2
|
493 |
EIMAPFlagsId = 0x00000006,
|
williamr@2
|
494 |
EIMAPLoginNameId = 0x00000007,
|
williamr@2
|
495 |
EIMAPPasswordId = 0x00000008,
|
williamr@2
|
496 |
EIMAPFolderPathId = 0x00000009,
|
williamr@2
|
497 |
EIMAPPathSeparatorId = 0x0000000A,
|
williamr@2
|
498 |
EIMAPSynchronisationStrategyId = 0x0000000B,
|
williamr@2
|
499 |
EIMAPSubscriptionStrategyId = 0x0000000C,
|
williamr@2
|
500 |
EIMAPMaxEmailSizeId = 0x0000000D,
|
williamr@2
|
501 |
EIMAPGetMailOptionsId = 0x0000000E,
|
williamr@2
|
502 |
EIMAPInboxSynchronisationLimitId= 0x0000000F,
|
williamr@2
|
503 |
EIMAPMailboxSynchronisationLimitId= 0x00000010,
|
williamr@2
|
504 |
EIMAPTlsSslDomainId = 0x00000012,
|
williamr@2
|
505 |
EIMAPSyncRateId = 0x00000020,
|
williamr@2
|
506 |
EIMAPFetchSizeId = 0x00000030,
|
williamr@2
|
507 |
EIMAPIdleTimeoutId = 0x00000040,
|
williamr@2
|
508 |
EPartialMailOptionsId = 0x00000050,
|
williamr@2
|
509 |
EBodyTextSizeLimitId = 0x00000060,
|
williamr@2
|
510 |
EAttachmentSizeLimitId = 0x00000070,
|
williamr@2
|
511 |
EIMAPSearchStringId = 0x00000080,
|
williamr@2
|
512 |
EIMAPReadOnlyAccountId = 0x00000090,
|
williamr@2
|
513 |
// 0x00001000 - 0x00002FFF reserved for sync download rules
|
williamr@2
|
514 |
// 0x00010000 - 0x00014FFF reserved for IAP/SNAP preferences
|
williamr@2
|
515 |
};
|
williamr@2
|
516 |
|
williamr@2
|
517 |
enum TIMAPSyncDownloadRulesCenRepInfo
|
williamr@2
|
518 |
{
|
williamr@2
|
519 |
EIMAPSyncDownloadRulesVersionId = 0x00001000,
|
williamr@2
|
520 |
EIMAPNumInboxSyncDownloadRulesId = 0x00001001,
|
williamr@2
|
521 |
EIMAPNumFolderSyncDownloadRulesId = 0x00001002,
|
williamr@2
|
522 |
|
williamr@2
|
523 |
EIMAPInboxSyncDownloadRulesBearerTypesId = 0x00001010,
|
williamr@2
|
524 |
EIMAPInboxSyncDownloadRulesMailOptionsId = 0x00001011,
|
williamr@2
|
525 |
EIMAPInboxSyncDownloadRulesTotalSizeLimitId = 0x00001012,
|
williamr@2
|
526 |
EIMAPInboxSyncDownloadRulesBodyTextSizeLimitId = 0x00001013,
|
williamr@2
|
527 |
EIMAPInboxSyncDownloadRulesAttachmentSizeLimitId = 0x00001014,
|
williamr@2
|
528 |
EIMAPInboxSyncDownloadRulesGetMailBodyPartsId = 0x00001015,
|
williamr@2
|
529 |
EIMAPInboxSyncDownloadRulesMaxEmailSizeId = 0x00001016,
|
williamr@2
|
530 |
|
williamr@2
|
531 |
EIMAPFolderSyncDownloadRulesBearerTypesId = 0x00001030,
|
williamr@2
|
532 |
EIMAPFolderSyncDownloadRulesMailOptionsId = 0x00001031,
|
williamr@2
|
533 |
EIMAPFolderSyncDownloadRulesTotalSizeLimitId = 0x00001032,
|
williamr@2
|
534 |
EIMAPFolderSyncDownloadRulesBodyTextSizeLimitId = 0x00001033,
|
williamr@2
|
535 |
EIMAPFolderSyncDownloadRulesAttachmentSizeLimitId = 0x00001034,
|
williamr@2
|
536 |
EIMAPFolderSyncDownloadRulesGetMailBodyPartsId = 0x00001035,
|
williamr@2
|
537 |
EIMAPFolderSyncDownloadRulesMaxEmailSizeId = 0x00001036,
|
williamr@2
|
538 |
|
williamr@2
|
539 |
// Offset between sets of rules
|
williamr@2
|
540 |
EIMAPSyncDownloadRulesOffset = 0x40
|
williamr@2
|
541 |
};
|
williamr@2
|
542 |
|
williamr@2
|
543 |
enum TIAPPreferencesCenRepId
|
williamr@2
|
544 |
{
|
williamr@2
|
545 |
// single settings
|
williamr@2
|
546 |
EIAPPrefVersion = 0x00010000,
|
williamr@2
|
547 |
EIAPChoicesCount = 0x00010001,
|
williamr@2
|
548 |
|
williamr@2
|
549 |
// List of settings
|
williamr@2
|
550 |
EIAPListIDs = 0x00011000,
|
williamr@2
|
551 |
EIAPListDialogPrefs = 0x00012000,
|
williamr@2
|
552 |
// EIAPSnapId placed here is a deviation from Design doc. Remove comment after a decision is made
|
williamr@2
|
553 |
EIAPSnapId = 0x00014000 // The same value is to be used in all account types
|
williamr@2
|
554 |
};
|
williamr@2
|
555 |
|
williamr@2
|
556 |
enum TIMAPTransportBufferSizesCenRepInfo
|
williamr@2
|
557 |
{
|
williamr@2
|
558 |
EIMAPTransportBufferSizesVersionId = 0x80000100,
|
williamr@2
|
559 |
EIMAPNumTransportBufferSizesId = 0x80000101,
|
williamr@2
|
560 |
|
williamr@2
|
561 |
EIMAPTransportBufferSizesBearerTypesId = 0x80000110,
|
williamr@2
|
562 |
EIMAPTransportBufferSizesFetchRequestSizeId = 0x80000111,
|
williamr@2
|
563 |
EIMAPTransportBufferSizesMaxOutstandingFetchResponsesId = 0x80000112,
|
williamr@2
|
564 |
|
williamr@2
|
565 |
// Offset between entries
|
williamr@2
|
566 |
EIMAPTransportBufferSizesOffset = 0x20
|
williamr@2
|
567 |
};
|
williamr@2
|
568 |
|
williamr@2
|
569 |
enum TSMTPServiceSettingsCenRepId
|
williamr@2
|
570 |
{
|
williamr@2
|
571 |
ESMTPServiceId = 0x00000000,
|
williamr@2
|
572 |
ESMTPAccountNameId = 0x00000001,
|
williamr@2
|
573 |
ESMTPSettingsVersionId = 0x00000002,
|
williamr@2
|
574 |
ESMTPServerAddressId = 0x00000003,
|
williamr@2
|
575 |
ESMTPPortNumberId = 0x00000004,
|
williamr@2
|
576 |
ESMTPFlagsId = 0x00000005,
|
williamr@2
|
577 |
ESMTPEmailAliasId = 0x00000006,
|
williamr@2
|
578 |
ESMTPEmailAddressId = 0x00000007,
|
williamr@2
|
579 |
ESMTPReplyToAddressId = 0x00000008,
|
williamr@2
|
580 |
ESMTPReceiptAddressId = 0x00000009,
|
williamr@2
|
581 |
ESMTPBodyEncodingId = 0x0000000A,
|
williamr@2
|
582 |
ESMTPDefaultMsgCharSetId = 0x0000000B,
|
williamr@2
|
583 |
ESMTPSendCopyToSelfId = 0x0000000C,
|
williamr@2
|
584 |
ESMTPSendMessageOptionId = 0x0000000D,
|
williamr@2
|
585 |
ESMTPLoginNameId = 0x0000000E,
|
williamr@2
|
586 |
ESMTPPasswordId = 0x0000000F,
|
williamr@2
|
587 |
ESMTPRelatedServiceId = 0x00000010,
|
williamr@2
|
588 |
ESMTPIncludeToCcId = 0x00000011,
|
williamr@2
|
589 |
ESMTPReadOnlyAccountId = 0x00000012,
|
williamr@2
|
590 |
ESMTPParentAccountId = 0x00000013,
|
williamr@2
|
591 |
ESMTPTlsSslDomainId = 0x00000014,
|
williamr@2
|
592 |
ESMTPLinkedAccountId = 0x00000015
|
williamr@2
|
593 |
};
|
williamr@2
|
594 |
|
williamr@2
|
595 |
enum TSMTPLinkedMobilityAccountListCenRepInfo
|
williamr@2
|
596 |
{
|
williamr@2
|
597 |
ESMTPLinkedMobilityAccountListVersionId = 0x00015000,
|
williamr@2
|
598 |
ESMTPLinkedMobilityAccountListNumEntriesId = 0x00015001,
|
williamr@2
|
599 |
ESMTPLinkedMobilityAccountListEntryId = 0x00015010,
|
williamr@2
|
600 |
|
williamr@2
|
601 |
// Maximum number of list entries
|
williamr@2
|
602 |
ESMTPLinkedMobilityAccountListMaxEntries = 2048
|
williamr@2
|
603 |
};
|
williamr@2
|
604 |
|
williamr@2
|
605 |
enum TSMTPMobilityAccountListCenRepInfo
|
williamr@2
|
606 |
{
|
williamr@2
|
607 |
ESMTPMobilityAccountListVersionId = 0x00016000,
|
williamr@2
|
608 |
ESMTPMobilityAccountListNumEntriesId = 0x00016001,
|
williamr@2
|
609 |
|
williamr@2
|
610 |
ESMTPMobilityAccountListAccountId = 0x00016010,
|
williamr@2
|
611 |
ESMTPMobilityAccountListNumIapsId = 0x00016011,
|
williamr@2
|
612 |
ESMTPMobilityAccountListIapId = 0x00016020,
|
williamr@2
|
613 |
|
williamr@2
|
614 |
// Offset between entries
|
williamr@2
|
615 |
ESMTPMobilityAccountListOffset = 0x40,
|
williamr@2
|
616 |
|
williamr@2
|
617 |
// Maximum number of list entries
|
williamr@2
|
618 |
ESMTPMobilityAccountMaxEntries = 32
|
williamr@2
|
619 |
};
|
williamr@2
|
620 |
|
williamr@2
|
621 |
private:
|
williamr@2
|
622 |
CMsvSession* iMsvSession;
|
williamr@2
|
623 |
CRepository* iPOPRepository;
|
williamr@2
|
624 |
CRepository* iSMTPRepository;
|
williamr@2
|
625 |
CRepository* iIMAPRepository;
|
williamr@2
|
626 |
};
|
williamr@2
|
627 |
|
williamr@2
|
628 |
#endif // __CEMAILACCOUNTS_H__
|