|
1 /* |
|
2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: email framework common definitions |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 #ifndef __CFSMAILCOMMON_H |
|
20 #define __CFSMAILCOMMON_H |
|
21 |
|
22 /** folder type definitions */ |
|
23 enum TFSFolderType |
|
24 { |
|
25 EFSInbox = 1, |
|
26 EFSOutbox, |
|
27 EFSDraftsFolder, |
|
28 EFSSentFolder, |
|
29 EFSDeleted, |
|
30 EFSOther |
|
31 }; |
|
32 |
|
33 /** email flags */ |
|
34 enum TFSMsgFlag |
|
35 { |
|
36 EFSMsgFlag_Read = 1, // Message is read (or "seen") on the server |
|
37 EFSMsgFlag_Read_Locally = 2, // Message is read on the client |
|
38 EFSMsgFlag_Low = 4, // Message has low priority |
|
39 EFSMsgFlag_Important = 8, // Message has high priority |
|
40 EFSMsgFlag_FollowUpComplete = 16, // The message follow-up is complete |
|
41 EFSMsgFlag_FollowUp = 32, // Message is flagged (a flag is showing next to msg in Outlook) |
|
42 EFSMsgFlag_Attachments = 64, // Message has attachments |
|
43 EFSMsgFlag_Multiple = 128, // Message has more than one recipient |
|
44 EFSMsgFlag_CalendarMsg = 256, // Message is a calendar message |
|
45 EFSMsgFlag_Answered = 512, // The message was replied to |
|
46 EFSMsgFlag_Forwarded = 1024, // The message was forwarded |
|
47 EFSMsgFlag_OnlyToMe = 2048, // The message was sent only to this user |
|
48 EFSMsgFlag_RemoteDeleted = 4096, // The message has been deleted on the server |
|
49 EFSMsgFlag_HasMsgSender = 8192, // The message has one or more senders |
|
50 }; |
|
51 |
|
52 /** email list sorting options */ |
|
53 enum TFSMailSortField |
|
54 { |
|
55 EFSMailDontCare, // user accepts any sort order |
|
56 EFSMailSortByDate, // sorting is done by date |
|
57 EFSMailSortBySender, // sorting is done by sender |
|
58 EFSMailSortByRecipient, // sorting is done by recipients |
|
59 EFSMailSortBySubject, // sorting is done by subject |
|
60 EFSMailSortByPriority, // sorting is done by priority |
|
61 EFSMailSortByFlagStatus, // follow up and completed |
|
62 EFSMailSortByUnread, // sorting is based on unread |
|
63 EFSMailSortBySize, // sorting is done by size |
|
64 EFSMailSortByAttachment // sorting is based on if message has attachments |
|
65 }; |
|
66 |
|
67 /** email list sort order */ |
|
68 enum TFSMailSortOrder |
|
69 { |
|
70 EFSMailDescending, |
|
71 EFSMailAscending |
|
72 }; |
|
73 |
|
74 /** email list sort criteria definition */ |
|
75 class TFSMailSortCriteria |
|
76 { |
|
77 public: |
|
78 TFSMailSortField iField; |
|
79 TFSMailSortOrder iOrder; |
|
80 }; |
|
81 |
|
82 /** mailbox status */ |
|
83 enum TFSMailBoxStatus |
|
84 { |
|
85 EFSMailBoxOffline = 1, |
|
86 EFSMailBoxOnline |
|
87 }; |
|
88 |
|
89 /** mailbox capabilities */ |
|
90 enum TFSMailBoxCapabilities |
|
91 { |
|
92 // Mailbox supports creating subfolders. |
|
93 // Not supported by UI in 1.0 release. |
|
94 EFSMBoxCapaCreateSubfolder = 1, |
|
95 |
|
96 // Mailbox supports responding to meeting requests. |
|
97 EFSMBoxCapaMeetingRequestRespond, |
|
98 |
|
99 // Mailbox supports meeting request creation. |
|
100 EFSMBoxCapaMeetingRequestCreate, |
|
101 |
|
102 // Mailbox supports meeting request update. |
|
103 EFSMBoxCapaCanUpdateMeetingRequest, |
|
104 |
|
105 // Mailbox supports user folder manipulation (rename and delete). |
|
106 // Not supported by UI in 1.0 release. |
|
107 EFSMBoxCapaManipulateUserFolders, |
|
108 |
|
109 // Mailbox supports moving messages to and from user folders. |
|
110 // Not supported in 1.0 release. |
|
111 // (NOT USED. To be defined in the future.) |
|
112 EFSMBoxCapaMoveMessageToUserFolder, |
|
113 |
|
114 // Mailbox can move messages in offline or handle go online itself |
|
115 EFSMBoxCapaMoveMessageNoConnectNeeded, |
|
116 |
|
117 // Mailbox supports moving messages between folders. |
|
118 EFSMBoxCapaMoveToFolder, |
|
119 |
|
120 // Mailbox supports copying messages between folders. |
|
121 // Not supported by UI in 1.0 release. |
|
122 EFSMBoxCapaCopyToFolder, |
|
123 |
|
124 // Mailbox supports smart reply feature. |
|
125 // Returned by Intellisync and ActiveSync. UI will fetch rest of message if not supported. |
|
126 EFSMBoxCapaSmartReply, |
|
127 |
|
128 // Mailbox supports smart forward feature. |
|
129 // Returned by Intellisync and ActiveSync. UI will fetch rest of message if not supported. |
|
130 EFSMBoxCapaSmartForward, |
|
131 |
|
132 // Mailbox handles itself integration to Symbian Messaging. |
|
133 // Not supported by any protocol in 1.0 release. |
|
134 // |
|
135 // (Should be returned for mailboxes that handle possible Symbian Messaging |
|
136 // integration themselves. I.e. FW must not ask FS Integration MTM to replicate |
|
137 // these mailboxes to Symbian Messaging. It is intended to prevent duplicate |
|
138 // accounts in Symbian Messaging in the case when protocol plugin actually |
|
139 // already has visible accounts in Symbian Messaging.) |
|
140 EFSMBoxCapaSymbianMsgIntegration, |
|
141 |
|
142 // Mailbox implements new email notifications itself. |
|
143 // Not supported by any protocol in 1.0 release. |
|
144 // |
|
145 // (EFSMBoxCapaNewEmailNotifications is intended to be defined for mailboxes that |
|
146 // handle new email notifications some other way than relying to FW |
|
147 // displaying them (e.g. via NCNList). If this is defined for a mailbox then |
|
148 // FW will not monitor and display new email notifications for the mailbox. |
|
149 // The aim is to prevent possible duplicate notifications to user.) |
|
150 EFSMBoxCapaNewEmailNotifications, |
|
151 |
|
152 // Mailbox supports MRU feature. |
|
153 // Framework can check this before updating the list for optimization. Intellisync and ActiveSync need to set. |
|
154 // Capability is not checked in UI. Plugin just returns a null if there’s no MRU list and the UI doesn’t show anything. |
|
155 EFSMBoxCapaSupportsMRU, |
|
156 |
|
157 // Mailbox can be deleted. |
|
158 // Set by Intellisync and ActiveSync only if the server supports. |
|
159 EFSMBoxCapaCanBeDeleted, |
|
160 |
|
161 // Mailbox supports out of office feature. |
|
162 // Set by Intellisync and ActiveSync. Not used by UI -> can be deprecated? |
|
163 // EFSMBoxCapaSupportsOutOfOffice, |
|
164 |
|
165 // Mailbox supports setting OoO on/off. |
|
166 // Set by Intellisync and ActiveSync. Not used by UI -> can be deprecated? |
|
167 // EFSMBoxCapaOutOfOfficeSet, |
|
168 |
|
169 // Mailbox supports editing out of office. |
|
170 // Set by Intellisync and ActiveSync. Not used by UI -> can be deprecated? |
|
171 // EFSMBoxCapaOutOfOfficeEdit, |
|
172 |
|
173 // Mailbox supports saving to drafts automically when "create message to send" and |
|
174 // "save message" (in framework api) are used. |
|
175 EFSMBoxCapaSupportsSaveToDrafts, |
|
176 |
|
177 // Remote Contact Lookup is supported via this mailbox. |
|
178 // Set by Intellisync and ActiveSync. |
|
179 EFSMBoxCapaSupportsRCL, |
|
180 |
|
181 // Mailbox supports followup. Email UI hides Follow Up flagging if mailbox does not support it. |
|
182 EFSMBoxCapaSupportsFollowUp, |
|
183 |
|
184 // Mailbox supports for "do you want to delete"prompt. |
|
185 EFSMBoxCapaSupportsDeletedItemsFolder, |
|
186 |
|
187 // Mailbox does not support editing original message with smart reply or forward |
|
188 EFSMBoxCapaReadOnlySmartQuote, |
|
189 |
|
190 // Mailbox supports sync |
|
191 EFSMBoxCapaSupportsSync, |
|
192 |
|
193 // Mailbox supports email reply-to feature |
|
194 EFSMBoxCapaSupportsReplyTo, |
|
195 |
|
196 // Mailbox supports tracking meeting request attendee status |
|
197 // only supported by IntelliSync |
|
198 EFSMBoxCapaMeetingRequestAttendeeStatus, |
|
199 |
|
200 EFSMBoxCapaMRRequiresReplyEmail, |
|
201 |
|
202 // Mailbox supports embedded reply / forward message feature. |
|
203 EFSMBoxCapaEmbeddedReplyForwardMessage, |
|
204 |
|
205 // Mailbox supports removing entry from calendar |
|
206 EFSMBoxCapaRemoveFromCalendar, |
|
207 |
|
208 // Mailbox supports attachments in meeting requests |
|
209 EFSMboxCapaSupportsAttahmentsInMR, |
|
210 |
|
211 // Mailbox supports saving of embedded messages |
|
212 EFSMboxCapaSupportsSavingOfEmbeddedMessages |
|
213 |
|
214 }; |
|
215 |
|
216 /** email details included in plugin responses */ |
|
217 enum TFSMailDetails |
|
218 { |
|
219 EFSMsgDataIdOnly = 1, // Doesn't get any data. The object just contains the ID. |
|
220 EFSMsgDataDate = 2, // Get received date only. To be used when showing messages sorted by date. |
|
221 // The rest would be retreived when needed but date is needed to build the list. |
|
222 EFSMsgDataSubject = 4, // Like above but when sorting by subject |
|
223 EFSMsgDataSender = 8, // Likewise for sender address. |
|
224 EFSMsgDataEnvelope = 16, // Date, subject, Sender, To, Cc at least. |
|
225 EFSMsgDataStructure = 32 // the part structure including mime type, size and name headers. |
|
226 }; |
|
227 |
|
228 enum TFSPartFetchState |
|
229 { |
|
230 EFSDefault, |
|
231 EFSNone, |
|
232 EFSPartial, |
|
233 EFSFull, |
|
234 EFSEmailStructureUnknown |
|
235 }; |
|
236 |
|
237 /** class for message part / message / folder / mailbox id */ |
|
238 class TFSMailMsgId |
|
239 { |
|
240 public: |
|
241 |
|
242 inline TFSMailMsgId( ) // constructs NULL id |
|
243 { iPluginId.iUid = 0; iId = 0; iNullId = ETrue; }; |
|
244 inline TFSMailMsgId(TUid aPluginId, TUint aId) |
|
245 { iPluginId = aPluginId; iId = aId; iNullId = EFalse; }; |
|
246 inline TFSMailMsgId(TUint aPluginId, TUint aId) |
|
247 { iPluginId.iUid = aPluginId; iId = aId; iNullId = EFalse; }; |
|
248 inline TBool operator==(TFSMailMsgId aId) const |
|
249 { if(iNullId != aId.IsNullId()) return EFalse; |
|
250 if(iPluginId.iUid != aId.PluginId().iUid) return EFalse; |
|
251 if(iId != aId.Id()) return EFalse; return ETrue; }; |
|
252 inline TBool operator!=(TFSMailMsgId aId) const |
|
253 { if(iNullId != aId.IsNullId()) return ETrue; |
|
254 if(iPluginId.iUid != aId.PluginId().iUid) return ETrue; |
|
255 if(iId != aId.Id()) return ETrue; return EFalse; } |
|
256 inline TBool IsNullId() const { return iNullId; }; |
|
257 inline void SetNullId() { iPluginId.iUid = 0; iId = 0; iNullId = ETrue; } ; |
|
258 inline TUid PluginId() const { return iPluginId; }; |
|
259 inline TUint Id() const { return iId; }; |
|
260 inline void SetPluginId(TUid aPluginId) { iPluginId = aPluginId; iNullId = EFalse; }; |
|
261 inline void SetId(TUint aId) { iId = aId; iNullId = EFalse; }; |
|
262 |
|
263 protected: |
|
264 |
|
265 TBool iNullId; |
|
266 TUid iPluginId; // ecom implementation id |
|
267 TUint iId; // message, folder, mailbox id |
|
268 }; |
|
269 |
|
270 /* Predefined constants for ContentTypes and parameters for ContentType and ContentDisposition */ |
|
271 _LIT(KFSMailContentTypeMultipartMixed, "multipart/mixed"); |
|
272 _LIT(KFSMailContentTypeMultipartAlternative, "multipart/alternative"); |
|
273 _LIT(KFSMailContentTypeMultipartDigest, "multipart/digest"); |
|
274 _LIT(KFSMailContentTypeMultipartParallel, "multipart/parallel"); |
|
275 _LIT(KFSMailContentTypeMultipartRelated, "multipart/related"); |
|
276 _LIT(KFSMailContentTypeTextPlain, "text/plain"); |
|
277 _LIT(KFSMailContentTypeTextHtml, "text/html"); |
|
278 _LIT(KFSMailContentTypeMessage, "message/rfc822"); |
|
279 _LIT(KFSMailContentTypeParamName, " name="); |
|
280 _LIT(KFSMailContentTypeParamCharset, " charset="); |
|
281 _LIT(KFSMailContentTypeTextCalendar, "text/calendar"); |
|
282 |
|
283 |
|
284 _LIT(KFSMailContentDispAttachment, " attachment"); |
|
285 _LIT(KFSMailContentDispParamFilename, " filename="); |
|
286 |
|
287 /** mailbox synchronization states */ |
|
288 enum TSSMailSyncState // Are all of these sensible as mailbox sync states (e.g. PasswordVerified) |
|
289 { |
|
290 Idle, |
|
291 StartingSync, // establishing connection to server |
|
292 DataSyncStarting, |
|
293 EmailSyncing, // For any email folder not explicitly listed. |
|
294 InboxSyncing, // System folders the plugin may report. Can use just EmailSyncing instead. |
|
295 OutboxSyncing, |
|
296 SentItemsSyncing, |
|
297 DraftsSyncing, |
|
298 CalendarSyncing, |
|
299 ContactsSyncing, |
|
300 TasksSyncing, |
|
301 NotesSyncing, |
|
302 FilesSyncing, |
|
303 FinishedSuccessfully, |
|
304 SyncError, |
|
305 SyncCancelled, |
|
306 PasswordExpiredError, |
|
307 PasswordVerified, |
|
308 PasswordNotVerified, |
|
309 PushChannelOff, |
|
310 PushChannelEstablished, |
|
311 PushChannelOffBecauseBatteryIsLow, |
|
312 OutOfDiskSpace |
|
313 }; |
|
314 |
|
315 /** |
|
316 * email framework exception event response callback |
|
317 * |
|
318 * @since S60 v3.1 |
|
319 */ |
|
320 class MFSMailExceptionEventCallback |
|
321 { |
|
322 public: |
|
323 |
|
324 /** |
|
325 * Exception event resonse to plugin from FSMailServer after it has |
|
326 * processed the event (shown the corresponding dialog to user). |
|
327 * There can be several messages on the screen, but only one |
|
328 * of each message type per mailbox. So mailbox-message type |
|
329 * pairs should be enough to identify the responded event. |
|
330 * |
|
331 * @param aMailboxId Mailbox that sent the exception event |
|
332 * @param aEventType Event type of the responded event |
|
333 * (as TFsEmailNotifierSystemMessageType) |
|
334 * @param aResponse ETrue if user selected OK, Continue, etc. (LSK) |
|
335 * EFalse if user selected Cancel (RSK) |
|
336 */ |
|
337 virtual void ExceptionEventCallbackL( TFSMailMsgId aMailboxId, TInt aEventType, TBool aResponse ) = 0; |
|
338 |
|
339 }; |
|
340 |
|
341 |
|
342 /** plugin / message store events definitions |
|
343 |
|
344 Note! Store related events (backup/restore, store locked, |
|
345 wiped, authenticated/unauthenticated) would benefit from |
|
346 having a concept of plugin/service or store available in client API. |
|
347 These have been simplified behind only two events: |
|
348 TFSMailboxUnavailable and TFSMailboxAvailable. |
|
349 */ |
|
350 enum TFSMailEvent |
|
351 { |
|
352 // Mailbox is unavailable |
|
353 // aParam1: NULL |
|
354 // aParam2: NULL |
|
355 // aParam3: NULL |
|
356 TFSMailboxUnavailable, |
|
357 |
|
358 // Mailbox is available |
|
359 // aParam1: NULL |
|
360 // aParam2: NULL |
|
361 // aParam3: NULL |
|
362 TFSMailboxAvailable, |
|
363 |
|
364 // New mailbox created |
|
365 // aParam1: NULL |
|
366 // aParam2: NULL |
|
367 // aParam3: NULL |
|
368 TFSEventNewMailbox, |
|
369 |
|
370 // New mailbox creation failure |
|
371 // aParam1: NULL |
|
372 // aParam2: NULL |
|
373 // aParam3: NULL |
|
374 TFSEventMailboxCreationFailure, |
|
375 |
|
376 // Mailbox renamed |
|
377 // aParam1: NULL |
|
378 // aParam2: NULL |
|
379 // aParam3: NULL |
|
380 TFSEventMailboxRenamed, |
|
381 |
|
382 // Mailbox deleted |
|
383 // aParam1: NULL |
|
384 // aParam2: NULL |
|
385 // aParam3: NULL |
|
386 TFSEventMailboxDeleted, |
|
387 |
|
388 // |
|
389 // Following events need to be subscribed per mailbox |
|
390 // |
|
391 |
|
392 // Mailbox capability changed |
|
393 // aParam1: NULL |
|
394 // aParam2: NULL |
|
395 // aParam3: NULL |
|
396 TFSEventMailboxCapabilityChanged, |
|
397 |
|
398 // Mailbox settings changed (OPEN: can this replace TFSEventMailboxCapabilityChanged?) |
|
399 // aParam1: NULL |
|
400 // aParam2: NULL |
|
401 // aParam3: NULL |
|
402 TFSEventMailboxSettingsChanged, |
|
403 |
|
404 // Mailbox went online |
|
405 // aParam1: NULL |
|
406 // aParam2: NULL |
|
407 // aParam3: NULL |
|
408 TFSEventMailboxOnline, |
|
409 |
|
410 // Mailbox went offline |
|
411 // aParam1: NULL |
|
412 // aParam2: NULL |
|
413 // aParam3: NULL |
|
414 TFSEventMailboxOffline, |
|
415 |
|
416 // Mailbox sync state changed |
|
417 // aParam1: TSSMailSyncState* newState |
|
418 // aParam2: NULL |
|
419 // aParam3: NULL |
|
420 TFSEventMailboxSyncStateChanged, |
|
421 |
|
422 // New mails created |
|
423 // aParam1: RArray<TFSMailId>* aNewEntries |
|
424 // aParam2: TFSMailId* aParentFolder |
|
425 // aParam3: NULL |
|
426 TFSEventNewMail, |
|
427 |
|
428 // Mails changed |
|
429 // aParam1: RArray<TFSMailId>* aEntries |
|
430 // aParam2: TFSMailId* aParentFolder |
|
431 // aParam3: NULL |
|
432 TFSEventMailChanged, |
|
433 |
|
434 // Mails deleted |
|
435 // aParam1: RArray<TFSMailId>* aEntries |
|
436 // aParam2: TFSMailId* aParentFolder |
|
437 // aParam3: NULL |
|
438 TFSEventMailDeleted, |
|
439 |
|
440 // Mails moved |
|
441 // aParam1: RArray<TFSMailId>* aEntries |
|
442 // aParam2: TFSMailId* aNewParentFolder |
|
443 // aParam3: TFSMailId* aOldParentFolder |
|
444 TFSEventMailMoved, |
|
445 |
|
446 // Mails copied |
|
447 // aParam1: RArray<TFSMailId>* aNewEntries |
|
448 // aParam2: TFSMailId* aNewParentFolder |
|
449 // aParam3: TFSMailId* aOldParentFolder |
|
450 TFSEventMailCopied, |
|
451 |
|
452 // New folders created |
|
453 // aParam1: RArray<TFSMailId>* aNewEntries |
|
454 // aParam2: TFSMailId* aParentFolder |
|
455 // aParam3: NULL |
|
456 TFSEventNewFolder, |
|
457 |
|
458 // Folders changed |
|
459 // aParam1: RArray<TFSMailId>* aEntries |
|
460 // aParam2: TFSMailId* aParentFolder |
|
461 // aParam3: NULL |
|
462 TFSEventFolderChanged, |
|
463 |
|
464 // Folders deleted |
|
465 // aParam1: RArray<TFSMailId>* aEntries |
|
466 // aParam2: TFSMailId* aParentFolder |
|
467 // aParam3: NULL |
|
468 TFSEventFoldersDeleted, |
|
469 |
|
470 // Folders moved |
|
471 // aParam1: RArray<TFSMailId>* aEntries |
|
472 // aParam2: TFSMailId* aNewParentFolder |
|
473 // aParam3: TFSMailId* aOldParentFolder |
|
474 TFSEventFoldersMoved, |
|
475 |
|
476 // exception / error happened |
|
477 // aParam1: TInt (TFsEmailNotifierSystemMessageType) aEventType |
|
478 // aParam2: TDesC* aCustomMessage or NULL (optional) |
|
479 // aParam3: MFSMailExceptionEventCallback* aCallback or NULL (optional) |
|
480 TFSEventException, |
|
481 }; |
|
482 |
|
483 /** |
|
484 * Progress data structure to indicate different kind of progress |
|
485 * information coming from plugins to user. Usually user uses |
|
486 * progress events to update progress bar in user interface. |
|
487 * |
|
488 * Download progress indication : |
|
489 * - first event iProgressStatus = EFSStatus_Started |
|
490 * - next event iProgressStatus = EFSStatus_Status |
|
491 * - last event iProgressStatus = EFSStatus_RequestComplete |
|
492 * - iMaxCount downloadable object total size |
|
493 * - iCounter currently downloaded object size |
|
494 * - iError KErrNone |
|
495 * |
|
496 * Download request cancelled by user or by plugin : |
|
497 * |
|
498 * - iProgressStatus = EFSStatus_RequestCancelled |
|
499 * - iMaxCount & iCounter optional, latest values or ignore/unknown = -1 |
|
500 * - iError = symbian error code KErrCancel |
|
501 * |
|
502 * Download error : |
|
503 * |
|
504 * - iProgressStatus = EFSStatus_RequestCancelled |
|
505 * - iMaxCount & iCounter optional, latest values or ignore/unknown = -1 |
|
506 * - iError symbian error code |
|
507 * |
|
508 * Connection establisment progress : |
|
509 * |
|
510 * - iProgressStatus ; EFSStatus_Waiting, EFSStatus_Connecting, |
|
511 * EFSStatus_Connected, EFSStatus_Authenticating, EFSStatus_Authenticated |
|
512 * depending how plugin implements this |
|
513 * - iMaxCount & iCounter optional, latest values or ignore/unknown = -1 |
|
514 * - iError symbian error code, KErrNone default |
|
515 */ |
|
516 class TFSProgress |
|
517 { |
|
518 |
|
519 public: |
|
520 |
|
521 /** possible progress indication states */ |
|
522 enum TFSProgressStatus |
|
523 { |
|
524 EFSStatus_Waiting = 1, |
|
525 EFSStatus_Started, |
|
526 EFSStatus_Connecting, |
|
527 EFSStatus_Connected, |
|
528 EFSStatus_Authenticating, |
|
529 EFSStatus_Authenticated, |
|
530 EFSStatus_Status, |
|
531 EFSStatus_RequestComplete, |
|
532 EFSStatus_RequestCancelled, |
|
533 }; |
|
534 |
|
535 public: // data |
|
536 |
|
537 /** event progress / completion status*/ |
|
538 TFSProgressStatus iProgressStatus; |
|
539 |
|
540 /** max value in progress countingc */ |
|
541 TInt iMaxCount; |
|
542 |
|
543 /** progress counter */ |
|
544 TInt iCounter; |
|
545 |
|
546 /** error code (Symbian error codes) */ |
|
547 TInt iError; |
|
548 }; |
|
549 |
|
550 #endif // __CFSMAILCOMMON |