9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: Global Data for Calendar application |
14 * Description: Global Data for Calendar application |
15 * |
15 * |
16 */ |
16 */ |
17 |
|
18 |
17 |
19 #ifndef CALENGLOBALDATA_H |
18 #ifndef CALENGLOBALDATA_H |
20 #define CALENGLOBALDATA_H |
19 #define CALENGLOBALDATA_H |
21 |
20 |
22 // INCLUDES |
21 // INCLUDES |
23 #include <e32base.h> |
22 #include <e32base.h> |
24 #include <w32std.h> |
23 #include <w32std.h> |
25 #include <CMRUtils.h> // MMRUtilsObserver |
24 #include <calprogresscallback.h> |
26 #include <cmrmailboxutils.h> |
25 #include <qglobal.h> // IMPORT_C macro |
27 #include <calennotificationhandler.h> // MCalenNotificationHandler |
26 #include "calennotificationhandler.h" // MCalenNotificationHandler |
28 #include <calsession.h> // Calendar database session |
27 |
29 #include <calinstanceview.h> // Calendar Instance view |
28 #ifdef CALENGLOBALDATA_DLL |
30 #include <calentryview.h> // Calendar Entry view |
29 #define CALENGLOBALDATA_EXPORT Q_DECL_EXPORT |
31 #include <e32hashtab.h> //RHashSet |
30 #else |
32 |
31 #define CALENGLOBALDATA_EXPORT Q_DECL_IMPORT |
33 #include "calendbchangenotifier.h" // MCalenDBChangeObserver |
32 #endif |
34 |
|
35 #include <calenmulticaluids.hrh> |
|
36 |
|
37 |
33 |
38 // FORWARD DECLARATIONS |
34 // FORWARD DECLARATIONS |
39 class CMRMailboxUtils; // Mailbox utilities |
|
40 class CCalSession; // Calendar session |
35 class CCalSession; // Calendar session |
41 class CCalEntryView; // Calendar entry view |
36 class CCalEntryView; // Calendar entry view |
42 class CCalInstanceView; // Calendar instance view |
37 class CCalInstanceView; // Calendar instance view |
43 class CCalenInterimUtils2; // Provides helper functions to CalInterimApi |
38 class CalenDbChangeNotifier; // Issues notifications of database changes |
44 class CCalenSend; // Sending interface |
|
45 class CCalenDbChangeNotifier; // Issues notifications of database changes |
|
46 class MCalenContextChangeObserver; // Context changes |
39 class MCalenContextChangeObserver; // Context changes |
47 struct TKeyEvent; |
40 class CalenContextImpl; // context implementation |
48 class CCalenContextImpl; // context implementation |
|
49 class MCalenContext; |
41 class MCalenContext; |
50 class CCalenFileMapping; |
|
51 class CCalenInfo; |
|
52 class CCalCalendarInfo; |
|
53 |
42 |
54 // CLASS DECLARATION |
43 // CLASS DECLARATION |
55 |
44 |
56 /** |
45 /** |
57 * CCalenGlobalData is a singleton using Thread local storage |
46 * CCalenGlobalData is a singleton using Thread local storage |
64 * CCalenInterimUtils2 |
53 * CCalenInterimUtils2 |
65 * CCalenSend |
54 * CCalenSend |
66 * CCalenDbChangeNotifier |
55 * CCalenDbChangeNotifier |
67 * CCalenContext |
56 * CCalenContext |
68 */ |
57 */ |
69 NONSHARABLE_CLASS(CCalenGlobalData) : public CBase, |
58 class CCalenGlobalData : public CBase, |
70 public MMRUtilsObserver, |
59 public MCalenNotificationHandler |
71 public MCalenNotificationHandler |
|
72 { |
60 { |
73 public: // Constructors and destructor |
61 public: // Constructors and destructor |
74 /** |
62 /** |
75 * The only classes that should call NewL are the controller |
63 * The only classes that should call NewL are the controller |
76 * and server classes. Otherwise use InstanceL. |
64 * and server classes. Otherwise use InstanceL. |
77 * Doesn't take ownership of aNotifier. |
65 * Doesn't take ownership of aNotifier. |
78 */ |
66 */ |
79 IMPORT_C static CCalenGlobalData* |
67 CALENGLOBALDATA_EXPORT static CCalenGlobalData* |
80 NewL( MCalProgressCallBack& aCalCallBack, |
68 NewL( MCalProgressCallBack& aCalCallBack, |
81 MCalenContextChangeObserver* aNotifier=NULL, |
69 MCalenContextChangeObserver* aNotifier=NULL ); |
82 MCalenDBChangeObserver* aDBNotifier=NULL); |
|
83 |
70 |
84 /** |
71 /** |
85 * Constructor. Returns a new instance of CCalenGlobalData if |
72 * Constructor. Returns a new instance of CCalenGlobalData if |
86 * none exists, or returns the existing instance. |
73 * none exists, or returns the existing instance. |
87 * @return CCalenGlobalData pointer |
74 * @return CCalenGlobalData pointer |
88 */ |
75 */ |
89 IMPORT_C static CCalenGlobalData* InstanceL(); |
76 CALENGLOBALDATA_EXPORT static CCalenGlobalData* InstanceL(); |
90 |
77 |
91 /** |
78 /** |
92 * Constructs CCalenGlobalData with an existing CCalSession. It |
79 * Constructs CCalenGlobalData with an existing CCalSession. It |
93 * is the responsibility of the caller to ensure that the session |
80 * is the responsibility of the caller to ensure that the session |
94 * remains open until ALL references to the CCalenGlobalData have been |
81 * remains open until ALL references to the CCalenGlobalData have been |
97 * CCalenGlobalData has previously been initialised with the same |
84 * CCalenGlobalData has previously been initialised with the same |
98 * external CCalSession, the existing instance will be returned. |
85 * external CCalSession, the existing instance will be returned. |
99 * @param aSession initialised calendar session |
86 * @param aSession initialised calendar session |
100 * @return CCalenGlobalData pointer |
87 * @return CCalenGlobalData pointer |
101 */ |
88 */ |
102 IMPORT_C static CCalenGlobalData* InstanceL(CCalSession& aSession); |
89 CALENGLOBALDATA_EXPORT static CCalenGlobalData* InstanceL(CCalSession& aSession); |
103 |
90 |
104 /** |
91 /** |
105 * Non-leaving version of constructor. Returns an instance of |
92 * Non-leaving version of constructor. Returns an instance of |
106 * CCalenGlobalData if one exists or NULL otherwise |
93 * CCalenGlobalData if one exists or NULL otherwise |
107 */ |
94 */ |
108 IMPORT_C static CCalenGlobalData* Instance(); |
95 CALENGLOBALDATA_EXPORT static CCalenGlobalData* Instance(); |
109 |
96 |
110 /** |
97 /** |
111 * CCalenGlobalData is a reference counting singleton. Call Release() |
98 * CCalenGlobalData is a reference counting singleton. Call Release() |
112 * when you are done with it, it will clean itself up when it needs to |
99 * when you are done with it, it will clean itself up when it needs to |
113 */ |
100 */ |
114 IMPORT_C void Release(); |
101 CALENGLOBALDATA_EXPORT void Release(); |
115 |
102 |
116 public: // New functions |
103 public: // New functions |
117 |
104 |
118 /** |
|
119 * Returns a reference to the mailbox utils |
|
120 * @return reference to a CMRMailboxUtils |
|
121 */ |
|
122 IMPORT_C CMRMailboxUtils& MRMailboxUtilsL(); |
|
123 |
|
124 /** |
|
125 * Returns a reference to the mr utils |
|
126 * @return reference to a CMRUtils |
|
127 */ |
|
128 IMPORT_C CMRUtils& MeetingRequestUtilsL(); |
|
129 |
|
130 /** |
105 /** |
131 * Returns a reference to the calendar session |
106 * Returns a reference to the calendar session |
132 * @return reference to a CCalSession |
107 * @return reference to a CCalSession |
133 */ |
108 */ |
134 IMPORT_C CCalSession& CalSessionL(); |
109 CALENGLOBALDATA_EXPORT CCalSession& CalSessionL(); |
135 |
|
136 /** |
|
137 * Returns a reference to the calendar session |
|
138 * @param aCalendar filename for which session to be returned |
|
139 * @return reference to a CCalSession from array of sessions |
|
140 */ |
|
141 IMPORT_C CCalSession& CalSessionL(const TDesC& aCalendar); |
|
142 |
110 |
143 /** |
111 /** |
144 * Returns a pointer to the calendar instance view |
112 * Returns a pointer to the calendar instance view |
145 * if it has been constructed otherwise it |
113 * if it has been constructed otherwise it |
146 * returns NULL and constructs the instance view |
114 * returns NULL and constructs the instance view |
147 * asynchronously. |
115 * asynchronously. |
148 * @return pointer to a CCalInstanceView |
116 * @return pointer to a CCalInstanceView |
149 */ |
117 */ |
150 IMPORT_C CCalInstanceView* InstanceViewL(); |
118 CALENGLOBALDATA_EXPORT CCalInstanceView* InstanceViewL(); |
151 |
119 |
152 /** |
120 /** |
153 * Returns a pointer to the calendar instance view |
|
154 * if it has been constructed otherwise it |
|
155 * returns NULL and constructs the instance view |
|
156 * asynchronously. |
|
157 * @param aCollectionIds array of collection ids for which we need to |
|
158 * create the instanceview |
|
159 * @return pointer to a CCalInstanceView |
|
160 */ |
|
161 IMPORT_C CCalInstanceView* InstanceViewL( |
|
162 const RArray<TInt>& aCollectionIds ); |
|
163 |
|
164 /** |
|
165 * Returns a pointer to the calendar entry view |
121 * Returns a pointer to the calendar entry view |
166 * if it has been constructed otherwise it |
122 * if it has been constructed otherwise it |
167 * returns NULL and constructs the entry view |
123 * returns NULL and constructs the entry view |
168 * asynchronously. |
124 * asynchronously. |
169 * @return pointer to a CCalEntryView |
125 * @return pointer to a CCalEntryView |
170 */ |
126 */ |
171 IMPORT_C CCalEntryView* EntryViewL(); |
127 CALENGLOBALDATA_EXPORT CCalEntryView* EntryViewL(); |
172 |
|
173 /** |
|
174 * Returns a pointer to the calendar entry view |
|
175 * if it has been constructed otherwise it |
|
176 * returns NULL and constructs the entry view |
|
177 * asynchronously. |
|
178 * @param aCollectionId collection id to which we need to create entryview |
|
179 * @return pointer to a CCalEntryView |
|
180 */ |
|
181 IMPORT_C CCalEntryView* EntryViewL(const TCalCollectionId aCollectionId ); |
|
182 |
|
183 |
128 |
184 /** |
129 /** |
185 * Returns information does complete entry view exist |
130 * Returns information does complete entry view exist |
186 * @return ETrue if exists EFalse if does not exist. |
131 * @return ETrue if exists EFalse if does not exist. |
187 */ |
132 */ |
188 IMPORT_C TBool EntryViewExists(); |
133 CALENGLOBALDATA_EXPORT TBool EntryViewExists(); |
189 |
|
190 /** |
|
191 * Returns a reference to the interim utils |
|
192 * @return reference to a CCalenInterimUtils2 |
|
193 */ |
|
194 IMPORT_C CCalenInterimUtils2& InterimUtilsL(); |
|
195 |
|
196 /** |
|
197 * Returns a reference to the CCalenSend |
|
198 * @return reference to a CCalenSend |
|
199 */ |
|
200 IMPORT_C CCalenSend& CalenSendL(); |
|
201 |
|
202 /** |
|
203 * Returns information whether the default mailbox if retrieved |
|
204 * @return ETrue if successful EFalse if not |
|
205 */ |
|
206 IMPORT_C TBool AttemptToRetrieveDefaultMailboxL( CMRMailboxUtils::TMailboxInfo& aDefaultMailbox); |
|
207 |
|
208 /** |
|
209 * Returns information whether events if queued successfully |
|
210 * @return ETrue if event is queued EFalse if it doesn't |
|
211 */ |
|
212 IMPORT_C TBool QueueKeyEvent(const TKeyEvent& aEvent, TEventCode aType); |
|
213 |
|
214 /** |
|
215 * Returns information whether a keyevent is fetched successfully |
|
216 * @return ETrue if a keyevent is retieved EFalse if no more queued events |
|
217 */ |
|
218 IMPORT_C TBool GetQueuedKeyEvent(TKeyEvent& aEvent, TEventCode& aType); |
|
219 |
|
220 /** |
|
221 * Reset events queue |
|
222 * @return void |
|
223 */ |
|
224 IMPORT_C void ResetKeyEventQueue(); |
|
225 |
134 |
226 /** |
135 /** |
227 * Returns a reference to the calendar context |
136 * Returns a reference to the calendar context |
228 * @return reference to a CCalenContext |
137 * @return reference to a CCalenContext |
229 */ |
138 */ |
230 IMPORT_C MCalenContext& Context(); |
139 CALENGLOBALDATA_EXPORT MCalenContext& Context(); |
231 |
|
232 |
|
233 /* |
|
234 * Initializes multiple db related objects |
|
235 * @return void |
|
236 */ |
|
237 IMPORT_C void InitializeGlobalDataL(); |
|
238 |
|
239 /* |
|
240 * Gets meta db id from collection id |
|
241 * @param cColId collection id for which db id has to be returned |
|
242 * @return TInt Db id for callection id |
|
243 */ |
|
244 IMPORT_C TInt GetDbIdFromCollectionIdL(const TCalCollectionId aColId ); |
|
245 |
|
246 /** |
|
247 * @brief adds new calendar file and sets calendar info to it |
|
248 * |
|
249 * @param aCalendarInfo pointer to the calendar info which is being |
|
250 * set to calsession |
|
251 */ |
|
252 IMPORT_C void AddCalendarL(CCalCalendarInfo* aCalendarInfo); |
|
253 |
|
254 /** |
|
255 * @brief removes dead calendar files from the file system |
|
256 */ |
|
257 IMPORT_C void RemoveDeadCalendarsL(); |
|
258 |
|
259 /** |
|
260 * @brief removes calendar file from the file system |
|
261 * |
|
262 * @param aCalendarFileName Name of the calendar file to be deleted. |
|
263 */ |
|
264 IMPORT_C void RemoveCalendarL(const TDesC& aCalendarFileName); |
|
265 |
|
266 /** |
|
267 * @brief updated calendar info for the calendar file |
|
268 * |
|
269 * @param aCalendarInfo pointer to the calendar info which is being |
|
270 * set to calsession |
|
271 */ |
|
272 IMPORT_C void UpdateCalendarL(CCalCalendarInfo* aCalendarInfo); |
|
273 |
|
274 /** |
|
275 * @brief Get Calendar file name for the given collectionid |
|
276 * |
|
277 * @param cColId collection id for which db id has to be returned |
|
278 * @param aCalendarFileName calendar file name |
|
279 */ |
|
280 IMPORT_C const TDesC& GetCalFileNameForCollectionId( |
|
281 const TCalCollectionId aColId); |
|
282 |
|
283 /** |
|
284 * @brief Get all available calendar info |
|
285 * |
|
286 * @param returns the list of available calendar info iterating |
|
287 * through all calendars |
|
288 */ |
|
289 IMPORT_C void GetAllCalendarInfoL(RPointerArray<CCalCalendarInfo>& aCalendarInfoList); |
|
290 |
|
291 public: // from MMRUtilsObserver |
|
292 void HandleCalEngStatus( TMRUtilsCalEngStatus aStatus ); |
|
293 |
140 |
294 public: // MCalenNotificationHandler |
141 public: // MCalenNotificationHandler |
295 void HandleNotification( const TCalenNotification aNotification ); |
142 void HandleNotification( const TCalenNotification aNotification ); |
296 |
143 |
297 |
|
298 private: // methods |
|
299 /** |
|
300 * Prompt the user to select their default meeting request mailbox. If the user cancels, |
|
301 * the function returns KErrCancel, otherwise it returns the index of the newly |
|
302 * selected mailbox. This function does not set the default mailbox, but rather returns |
|
303 * the index of the given array to which the default should be set. |
|
304 * @param aMailboxes array of all the mailboxes currently available. |
|
305 * @return KErrCancel if the user declined to set a default, otherwise the index |
|
306 * in aMailboxes to which the default should be set |
|
307 */ |
|
308 TInt PromptToSelectDefaultMailboxL(RArray<CMRMailboxUtils::TMailboxInfo>& aMailboxes); |
|
309 |
|
310 private: |
144 private: |
311 /** |
145 /** |
312 * C++ constructor. |
146 * C++ constructor. |
313 * |
147 * |
314 */ |
148 */ |
332 * created by the CCalenGlobalData |
165 * created by the CCalenGlobalData |
333 */ |
166 */ |
334 void SetSessionL(CCalSession* aSession); |
167 void SetSessionL(CCalSession* aSession); |
335 |
168 |
336 /** |
169 /** |
337 * Create entr yview |
170 * Create entryview |
338 * @return void |
|
339 */ |
171 */ |
340 void CreateEntryViewL(); |
172 void CreateEntryViewL(); |
341 |
173 |
342 /** |
174 /** |
343 * Create instanceview |
175 * Create instanceview |
344 * @return void |
|
345 */ |
176 */ |
346 void CreateInstanceViewL(); |
177 void CreateInstanceViewL(); |
347 |
178 |
348 /** |
179 /** |
349 * Create instanceview |
|
350 * @param aCollectionIds array of collection ids instance view |
|
351 * @return void |
|
352 */ |
|
353 void CreateInstanceViewL(const RArray<TInt>& aCollectionIds); |
|
354 |
|
355 /** |
|
356 * Handle clean up after entryview/ instanceview being created |
180 * Handle clean up after entryview/ instanceview being created |
357 * @param aSuccess status of completion of instamce/entry view |
|
358 * @return void |
|
359 */ |
181 */ |
360 void ViewCreationCompleted( TBool aSuccess ); |
182 void ViewCreationCompleted( TBool aSuccess ); |
361 |
183 |
362 /* |
184 private: |
363 * Create new session for calendar name |
|
364 * @param aCalendar calendar filename |
|
365 * @return referance to CCalSession |
|
366 */ |
|
367 CCalSession& CreateNewSessionL( const TDesC& aCalendar ); |
|
368 |
|
369 /* |
|
370 * Create entry view for session |
|
371 * @param session referance to CCalSession |
|
372 * @return void |
|
373 */ |
|
374 void CreateEntryViewL(CCalSession& session); |
|
375 |
|
376 /* |
|
377 * Constructs mapping between symbian calendar file and metabd info |
|
378 * @return TBool status of construction |
|
379 */ |
|
380 TBool ConstructFileMappingL(); |
|
381 |
|
382 /* |
|
383 * Find filemapping object based on calendar name |
|
384 * @param aName calendar filename |
|
385 * @param aFileMapping referance for RPointerArray find method. |
|
386 * @return TBool find status |
|
387 */ |
|
388 static TBool CalenInfoIdentifierL( const HBufC* aName, |
|
389 const CCalenFileMapping& aFileMapping); |
|
390 |
|
391 |
|
392 /* |
|
393 * Find CCalCalendarInfo object based on calendar filename |
|
394 * @param aFileName pointer to filename. |
|
395 * @param CCalCalendarInfo referance for RPointerArray find method. |
|
396 * @return TBool find status |
|
397 */ |
|
398 static TBool CalenCalendarInfoIdentiferL(const HBufC* aFileName, |
|
399 const CCalCalendarInfo& aCalendarInfo); |
|
400 |
|
401 /* |
|
402 * @brief create new session for calendar name |
|
403 * |
|
404 * @param aCalendar calendar filename |
|
405 * @return referance to CCalSession |
|
406 */ |
|
407 CCalSession& CreateNewSessionL( const TDesC& aCalendar, |
|
408 const CCalCalendarInfo& aCalendarInfo ); |
|
409 |
|
410 /* |
|
411 * @brief Find filemapping object based on collection id |
|
412 * |
|
413 * @param aCollectionId collection id |
|
414 * @param aFileMapping referance for RPointerArray find method. |
|
415 * @return TBool find status |
|
416 */ |
|
417 static TBool CalenFileMapIdentifierForColId(const TCalCollectionId* aId, |
|
418 const CCalenFileMapping& aFileMapping ); |
|
419 |
|
420 /** |
|
421 * @brief Construct calendarlist using calendar iterator |
|
422 */ |
|
423 void ConstructCalendarsListL(); |
|
424 |
|
425 /** |
|
426 * @brief Update calendarlist whenever CalendarInfoUpdated notification is received. |
|
427 */ |
|
428 void UpdateCalendarListL(); |
|
429 |
|
430 /** |
|
431 * @brief gets default calendar information |
|
432 * |
|
433 * @return CCalCalendarInfo returns pointer to default calendar info |
|
434 */ |
|
435 CCalCalendarInfo* GetDefaultCalendarInfoL(); |
|
436 |
|
437 /** |
|
438 * @brief Handles the notification ECalenNotifyCalendarInfoCreated |
|
439 * Adds a new calendar to the available calendar list in calendar app |
|
440 */ |
|
441 void HandleCalendarInfoCreatedL(); |
|
442 |
|
443 /** |
|
444 * @brief Handles the notification ECalenNotifyCalendarInfoUpdated |
|
445 * Updates a new calendar in the available calendar list in calendar app |
|
446 */ |
|
447 void HandleCalendarInfoUpdatedL(); |
|
448 |
|
449 /** |
|
450 * @brief Handles the notification ECalenNotifyCalendarFileDeleted |
|
451 * Deletes a calendar from the calendar list |
|
452 */ |
|
453 void HandleCalendarFileDeletedL(); |
|
454 |
|
455 /* |
|
456 * @brief Delete all missed alarms for deleted calendar |
|
457 * @param aCalendarFilename filename of the calendar for which missed |
|
458 * alarms should be deleted |
|
459 * @return void |
|
460 */ |
|
461 void DeleteCalendarMissedAlarmsL(const TDesC& aCalendarFilename); |
|
462 |
|
463 private: |
|
464 // Member data owned by this class. Member data is only initialised on first use |
185 // Member data owned by this class. Member data is only initialised on first use |
465 CActiveSchedulerWait* iUtilsAs; |
186 |
466 CCalSession* iCalSession; |
187 CCalSession* iCalSession; |
467 CCalEntryView* iEntryView; |
188 CCalEntryView* iEntryView; |
468 CCalEntryView* iEntryViewCreation; |
189 CCalEntryView* iEntryViewCreation; |
469 CCalInstanceView* iInstanceView; |
190 CCalInstanceView* iInstanceView; |
470 CCalInstanceView* iInstanceViewCreation; |
191 CCalInstanceView* iInstanceViewCreation; |
471 CCalSession* iNewCalSession; |
192 CalenContextImpl* iContext; |
472 CCalEntryView* iNewEntryView; |
193 TInt iRefCount; |
473 CCalEntryView* iNewEntryViewCreation; |
194 TBool iGlobalDataOwnsCalSession; |
474 CCalInstanceView* iNewInstanceView; |
195 |
475 CCalInstanceView* iNewInstanceViewCreation; |
196 /* We need queueing to avoid two immediate instance and entry view creation requests to symbian. |
476 CCalenInterimUtils2* iInterimUtils; |
197 * Though symbian handle two immediate requests ,this we require because we have only one observer |
477 CCalenSend* iSend; |
198 * for callback and we would not be able to differentiate whether instance view got created or entry view got created. |
478 CCalenContextImpl* iContext; |
199 * If we dont queue the second request, we may end up giving incomplete object to the caller function. |
479 CMRUtils* iMRUtils; |
200 */ |
480 TInt iRefCount; |
|
481 TInt iCreateError; |
|
482 TBool iGlobalDataOwnsCalSession; |
|
483 TBool iGlobalDataOwnsEntryView; |
|
484 RPointerArray<CCalenFileMapping > iFileMappingArray; |
|
485 RHashMap<TInt, TInt> iHashDbidIndexMap; |
|
486 |
|
487 //Only used if meeting request solution exists on device, otherwise NULL |
|
488 CMRMailboxUtils* iMailboxUtils; |
|
489 |
|
490 struct TQueuedKeyEvent { |
|
491 TKeyEvent iEvent; |
|
492 TEventCode iType; |
|
493 }; |
|
494 |
|
495 typedef void (CCalenGlobalData::*QueuedFunction)(); |
201 typedef void (CCalenGlobalData::*QueuedFunction)(); |
496 QueuedFunction iQueued; |
202 QueuedFunction iQueued; |
497 |
203 |
498 // Not owned by class. Needed for entry and instance view |
204 // Not owned by class. Needed for entry and instance view |
499 // creation. |
205 // creation. |
500 MCalProgressCallBack& iCalCallBack; |
206 MCalProgressCallBack& iCalCallBack; |
501 RArray< TQueuedKeyEvent > iKeyQueue; |
207 |
502 TBool iCalendarForcedExit; |
208 |
503 CCalSession* iCalendarsSession; |
|
504 RPointerArray<CCalCalendarInfo> iCalendarInfoList; |
|
505 MCalenDBChangeObserver* iDBChangeNotifier; |
|
506 }; |
209 }; |
507 |
210 |
508 #endif // CALENGLOBALDATA_H |
211 #endif // CALENGLOBALDATA_H |
509 |
212 |
510 // End of File |
213 // End of File |