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 |
17 |
18 |
18 #ifndef CALENGLOBALDATA_H |
19 #ifndef CALENGLOBALDATA_H |
19 #define CALENGLOBALDATA_H |
20 #define CALENGLOBALDATA_H |
20 |
21 |
21 // INCLUDES |
22 // INCLUDES |
22 #include <e32base.h> |
23 #include <e32base.h> |
23 #include <w32std.h> |
24 #include <w32std.h> |
24 #include <calprogresscallback.h> |
25 #include <CMRUtils.h> // MMRUtilsObserver |
25 #include <qglobal.h> // IMPORT_C macro |
26 #include <cmrmailboxutils.h> |
26 #include "calennotificationhandler.h" // MCalenNotificationHandler |
27 #include <calennotificationhandler.h> // MCalenNotificationHandler |
27 |
28 #include <calsession.h> // Calendar database session |
28 #ifdef CALENGLOBALDATA_DLL |
29 #include <calinstanceview.h> // Calendar Instance view |
29 #define CALENGLOBALDATA_EXPORT Q_DECL_EXPORT |
30 #include <calentryview.h> // Calendar Entry view |
30 #else |
31 #include <e32hashtab.h> //RHashSet |
31 #define CALENGLOBALDATA_EXPORT Q_DECL_IMPORT |
32 |
32 #endif |
33 #include "calendbchangenotifier.h" // MCalenDBChangeObserver |
|
34 |
|
35 #include <calenmulticaluids.hrh> |
|
36 |
33 |
37 |
34 // FORWARD DECLARATIONS |
38 // FORWARD DECLARATIONS |
|
39 class CMRMailboxUtils; // Mailbox utilities |
35 class CCalSession; // Calendar session |
40 class CCalSession; // Calendar session |
36 class CCalEntryView; // Calendar entry view |
41 class CCalEntryView; // Calendar entry view |
37 class CCalInstanceView; // Calendar instance view |
42 class CCalInstanceView; // Calendar instance view |
38 class CalenDbChangeNotifier; // Issues notifications of database changes |
43 class CCalenInterimUtils2; // Provides helper functions to CalInterimApi |
|
44 class CCalenSend; // Sending interface |
|
45 class CCalenDbChangeNotifier; // Issues notifications of database changes |
39 class MCalenContextChangeObserver; // Context changes |
46 class MCalenContextChangeObserver; // Context changes |
40 class CalenContextImpl; // context implementation |
47 struct TKeyEvent; |
|
48 class CCalenContextImpl; // context implementation |
41 class MCalenContext; |
49 class MCalenContext; |
|
50 class CCalenFileMapping; |
|
51 class CCalenInfo; |
|
52 class CCalCalendarInfo; |
42 |
53 |
43 // CLASS DECLARATION |
54 // CLASS DECLARATION |
44 |
55 |
45 /** |
56 /** |
46 * CCalenGlobalData is a singleton using Thread local storage |
57 * CCalenGlobalData is a singleton using Thread local storage |
53 * CCalenInterimUtils2 |
64 * CCalenInterimUtils2 |
54 * CCalenSend |
65 * CCalenSend |
55 * CCalenDbChangeNotifier |
66 * CCalenDbChangeNotifier |
56 * CCalenContext |
67 * CCalenContext |
57 */ |
68 */ |
58 class CCalenGlobalData : public CBase, |
69 NONSHARABLE_CLASS(CCalenGlobalData) : public CBase, |
59 public MCalenNotificationHandler |
70 public MMRUtilsObserver, |
|
71 public MCalenNotificationHandler |
60 { |
72 { |
61 public: // Constructors and destructor |
73 public: // Constructors and destructor |
62 /** |
74 /** |
63 * The only classes that should call NewL are the controller |
75 * The only classes that should call NewL are the controller |
64 * and server classes. Otherwise use InstanceL. |
76 * and server classes. Otherwise use InstanceL. |
65 * Doesn't take ownership of aNotifier. |
77 * Doesn't take ownership of aNotifier. |
66 */ |
78 */ |
67 CALENGLOBALDATA_EXPORT static CCalenGlobalData* |
79 IMPORT_C static CCalenGlobalData* |
68 NewL( MCalProgressCallBack& aCalCallBack, |
80 NewL( MCalProgressCallBack& aCalCallBack, |
69 MCalenContextChangeObserver* aNotifier=NULL ); |
81 MCalenContextChangeObserver* aNotifier=NULL, |
|
82 MCalenDBChangeObserver* aDBNotifier=NULL); |
70 |
83 |
71 /** |
84 /** |
72 * Constructor. Returns a new instance of CCalenGlobalData if |
85 * Constructor. Returns a new instance of CCalenGlobalData if |
73 * none exists, or returns the existing instance. |
86 * none exists, or returns the existing instance. |
74 * @return CCalenGlobalData pointer |
87 * @return CCalenGlobalData pointer |
75 */ |
88 */ |
76 CALENGLOBALDATA_EXPORT static CCalenGlobalData* InstanceL(); |
89 IMPORT_C static CCalenGlobalData* InstanceL(); |
77 |
90 |
78 /** |
91 /** |
79 * Constructs CCalenGlobalData with an existing CCalSession. It |
92 * Constructs CCalenGlobalData with an existing CCalSession. It |
80 * is the responsibility of the caller to ensure that the session |
93 * is the responsibility of the caller to ensure that the session |
81 * remains open until ALL references to the CCalenGlobalData have been |
94 * remains open until ALL references to the CCalenGlobalData have been |
84 * CCalenGlobalData has previously been initialised with the same |
97 * CCalenGlobalData has previously been initialised with the same |
85 * external CCalSession, the existing instance will be returned. |
98 * external CCalSession, the existing instance will be returned. |
86 * @param aSession initialised calendar session |
99 * @param aSession initialised calendar session |
87 * @return CCalenGlobalData pointer |
100 * @return CCalenGlobalData pointer |
88 */ |
101 */ |
89 CALENGLOBALDATA_EXPORT static CCalenGlobalData* InstanceL(CCalSession& aSession); |
102 IMPORT_C static CCalenGlobalData* InstanceL(CCalSession& aSession); |
90 |
103 |
91 /** |
104 /** |
92 * Non-leaving version of constructor. Returns an instance of |
105 * Non-leaving version of constructor. Returns an instance of |
93 * CCalenGlobalData if one exists or NULL otherwise |
106 * CCalenGlobalData if one exists or NULL otherwise |
94 */ |
107 */ |
95 CALENGLOBALDATA_EXPORT static CCalenGlobalData* Instance(); |
108 IMPORT_C static CCalenGlobalData* Instance(); |
96 |
109 |
97 /** |
110 /** |
98 * CCalenGlobalData is a reference counting singleton. Call Release() |
111 * CCalenGlobalData is a reference counting singleton. Call Release() |
99 * when you are done with it, it will clean itself up when it needs to |
112 * when you are done with it, it will clean itself up when it needs to |
100 */ |
113 */ |
101 CALENGLOBALDATA_EXPORT void Release(); |
114 IMPORT_C void Release(); |
102 |
115 |
103 public: // New functions |
116 public: // New functions |
104 |
117 |
|
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 |
105 /** |
130 /** |
106 * Returns a reference to the calendar session |
131 * Returns a reference to the calendar session |
107 * @return reference to a CCalSession |
132 * @return reference to a CCalSession |
108 */ |
133 */ |
109 CALENGLOBALDATA_EXPORT CCalSession& CalSessionL(); |
134 IMPORT_C 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); |
110 |
142 |
111 /** |
143 /** |
112 * Returns a pointer to the calendar instance view |
144 * Returns a pointer to the calendar instance view |
113 * if it has been constructed otherwise it |
145 * if it has been constructed otherwise it |
114 * returns NULL and constructs the instance view |
146 * returns NULL and constructs the instance view |
115 * asynchronously. |
147 * asynchronously. |
116 * @return pointer to a CCalInstanceView |
148 * @return pointer to a CCalInstanceView |
117 */ |
149 */ |
118 CALENGLOBALDATA_EXPORT CCalInstanceView* InstanceViewL(); |
150 IMPORT_C CCalInstanceView* InstanceViewL(); |
119 |
151 |
120 /** |
152 /** |
|
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 /** |
121 * Returns a pointer to the calendar entry view |
165 * Returns a pointer to the calendar entry view |
122 * if it has been constructed otherwise it |
166 * if it has been constructed otherwise it |
123 * returns NULL and constructs the entry view |
167 * returns NULL and constructs the entry view |
124 * asynchronously. |
168 * asynchronously. |
125 * @return pointer to a CCalEntryView |
169 * @return pointer to a CCalEntryView |
126 */ |
170 */ |
127 CALENGLOBALDATA_EXPORT CCalEntryView* EntryViewL(); |
171 IMPORT_C 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 |
128 |
183 |
129 /** |
184 /** |
130 * Returns information does complete entry view exist |
185 * Returns information does complete entry view exist |
131 * @return ETrue if exists EFalse if does not exist. |
186 * @return ETrue if exists EFalse if does not exist. |
132 */ |
187 */ |
133 CALENGLOBALDATA_EXPORT TBool EntryViewExists(); |
188 IMPORT_C 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(); |
134 |
225 |
135 /** |
226 /** |
136 * Returns a reference to the calendar context |
227 * Returns a reference to the calendar context |
137 * @return reference to a CCalenContext |
228 * @return reference to a CCalenContext |
138 */ |
229 */ |
139 CALENGLOBALDATA_EXPORT MCalenContext& Context(); |
230 IMPORT_C 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 ); |
140 |
293 |
141 public: // MCalenNotificationHandler |
294 public: // MCalenNotificationHandler |
142 void HandleNotification( const TCalenNotification aNotification ); |
295 void HandleNotification( const TCalenNotification aNotification ); |
143 |
296 |
|
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 |
144 private: |
310 private: |
145 /** |
311 /** |
146 * C++ constructor. |
312 * C++ constructor. |
147 * |
313 * |
148 */ |
314 */ |
165 * created by the CCalenGlobalData |
332 * created by the CCalenGlobalData |
166 */ |
333 */ |
167 void SetSessionL(CCalSession* aSession); |
334 void SetSessionL(CCalSession* aSession); |
168 |
335 |
169 /** |
336 /** |
170 * Create entryview |
337 * Create entr yview |
|
338 * @return void |
171 */ |
339 */ |
172 void CreateEntryViewL(); |
340 void CreateEntryViewL(); |
173 |
341 |
174 /** |
342 /** |
175 * Create instanceview |
343 * Create instanceview |
|
344 * @return void |
176 */ |
345 */ |
177 void CreateInstanceViewL(); |
346 void CreateInstanceViewL(); |
178 |
347 |
179 /** |
348 /** |
|
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 /** |
180 * Handle clean up after entryview/ instanceview being created |
356 * Handle clean up after entryview/ instanceview being created |
|
357 * @param aSuccess status of completion of instamce/entry view |
|
358 * @return void |
181 */ |
359 */ |
182 void ViewCreationCompleted( TBool aSuccess ); |
360 void ViewCreationCompleted( TBool aSuccess ); |
183 |
361 |
184 private: |
362 /* |
|
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: |
185 // Member data owned by this class. Member data is only initialised on first use |
464 // Member data owned by this class. Member data is only initialised on first use |
186 |
465 CActiveSchedulerWait* iUtilsAs; |
187 CCalSession* iCalSession; |
466 CCalSession* iCalSession; |
188 CCalEntryView* iEntryView; |
467 CCalEntryView* iEntryView; |
189 CCalEntryView* iEntryViewCreation; |
468 CCalEntryView* iEntryViewCreation; |
190 CCalInstanceView* iInstanceView; |
469 CCalInstanceView* iInstanceView; |
191 CCalInstanceView* iInstanceViewCreation; |
470 CCalInstanceView* iInstanceViewCreation; |
192 CalenContextImpl* iContext; |
471 CCalSession* iNewCalSession; |
193 TInt iRefCount; |
472 CCalEntryView* iNewEntryView; |
194 TBool iGlobalDataOwnsCalSession; |
473 CCalEntryView* iNewEntryViewCreation; |
195 |
474 CCalInstanceView* iNewInstanceView; |
196 /* We need queueing to avoid two immediate instance and entry view creation requests to symbian. |
475 CCalInstanceView* iNewInstanceViewCreation; |
197 * Though symbian handle two immediate requests ,this we require because we have only one observer |
476 CCalenInterimUtils2* iInterimUtils; |
198 * for callback and we would not be able to differentiate whether instance view got created or entry view got created. |
477 CCalenSend* iSend; |
199 * If we dont queue the second request, we may end up giving incomplete object to the caller function. |
478 CCalenContextImpl* iContext; |
200 */ |
479 CMRUtils* iMRUtils; |
|
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 |
201 typedef void (CCalenGlobalData::*QueuedFunction)(); |
495 typedef void (CCalenGlobalData::*QueuedFunction)(); |
202 QueuedFunction iQueued; |
496 QueuedFunction iQueued; |
203 |
497 |
204 // Not owned by class. Needed for entry and instance view |
498 // Not owned by class. Needed for entry and instance view |
205 // creation. |
499 // creation. |
206 MCalProgressCallBack& iCalCallBack; |
500 MCalProgressCallBack& iCalCallBack; |
207 |
501 RArray< TQueuedKeyEvent > iKeyQueue; |
208 |
502 TBool iCalendarForcedExit; |
|
503 CCalSession* iCalendarsSession; |
|
504 RPointerArray<CCalCalendarInfo> iCalendarInfoList; |
|
505 MCalenDBChangeObserver* iDBChangeNotifier; |
209 }; |
506 }; |
210 |
507 |
211 #endif // CALENGLOBALDATA_H |
508 #endif // CALENGLOBALDATA_H |
212 |
509 |
213 // End of File |
510 // End of File |