|
1 /* |
|
2 * Copyright (c) 2005-2009 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: Holds the definition of CESMRICalBase. |
|
15 * |
|
16 * |
|
17 */ |
|
18 |
|
19 #ifndef CESMRICALBASE_H |
|
20 #define CESMRICALBASE_H |
|
21 |
|
22 // System includes |
|
23 #include <e32base.h> // CBase |
|
24 |
|
25 // Forward declarations. |
|
26 class CESMRICalContentLineReader; |
|
27 class CESMRICalContentLineWriter; |
|
28 class CESMRICalProperty; |
|
29 class CESMRICalComponent; |
|
30 class CESMRICalValue; |
|
31 |
|
32 /** |
|
33 *Abstract base class of all classes representing iCalendar components. |
|
34 *@publishedPartner |
|
35 */ |
|
36 class CESMRICalBase : public CBase |
|
37 { |
|
38 public: // Enumeration. |
|
39 enum TICalComponentType |
|
40 { |
|
41 /** An invalid or X-custom component. */ |
|
42 EICalInvalid, |
|
43 /** A VCALENDAR component.*/ |
|
44 EICalCalendar, |
|
45 /** A VEVENT component.*/ |
|
46 EICalEvent, |
|
47 /** A VTODO component.*/ |
|
48 EICalTodo, |
|
49 /** A VJOURNAL component.*/ |
|
50 EICalJournal, |
|
51 /** A VALARM component.*/ |
|
52 EICalAlarm, |
|
53 /** A VFREEBUSY component.*/ |
|
54 EICalFreeBusy, |
|
55 /** A VTIMEZONE component.*/ |
|
56 EICalTimeZone, |
|
57 /** A STANDARD component.*/ |
|
58 EICalStandard, |
|
59 /** A DAYLIGHT component.*/ |
|
60 EICalDaylight |
|
61 }; |
|
62 public: // Enumeration. |
|
63 enum TICalMethod |
|
64 { |
|
65 /** No method specified. */ |
|
66 EMethodNone, |
|
67 /** The RFC2445-defined method value 'Publish'. */ |
|
68 EMethodPublish, |
|
69 /** The RFC2445-defined method value 'Request'. */ |
|
70 EMethodRequest, |
|
71 /** The RFC2445-defined method value 'Reply'. */ |
|
72 EMethodReply, |
|
73 /** The RFC2445-defined method value 'Add'. */ |
|
74 EMethodAdd, |
|
75 /** The RFC2445-defined method value 'Cancel'. */ |
|
76 EMethodCancel, |
|
77 /** The RFC2445-defined method value 'Refresh'. */ |
|
78 EMethodRefresh, |
|
79 /** The RFC2445-defined method value 'Counter'. */ |
|
80 EMethodCounter, |
|
81 /** The RFC2445-defined method value 'DeclineCounter'. */ |
|
82 EMethodDeclineCounter |
|
83 }; |
|
84 protected: |
|
85 enum TICalComponentMethodBitMasks |
|
86 { |
|
87 EMaskEventNone = 1 << 0, |
|
88 EMaskEventPublish = 1 << 1, |
|
89 EMaskEventRequest = 1 << 2, |
|
90 EMaskEventReply = 1 << 3, |
|
91 EMaskEventAdd = 1 << 4, |
|
92 EMaskEventCancel = 1 << 5, |
|
93 EMaskEventRefresh = 1 << 6, |
|
94 EMaskEventCounter = 1 << 7, |
|
95 EMaskEventDeclineCounter = 1 << 8, |
|
96 EMaskTodoNone = 1 << 9, |
|
97 EMaskTodoPublish = 1 << 10, |
|
98 EMaskTodoRequest = 1 << 11, |
|
99 EMaskTodoReply = 1 << 12, |
|
100 EMaskTodoAdd = 1 << 13, |
|
101 EMaskTodoCancel = 1 << 14, |
|
102 EMaskTodoRefresh = 1 << 15, |
|
103 EMaskTodoCounter = 1 << 16, |
|
104 EMaskTodoDeclineCounter = 1 << 17, |
|
105 EMaskJournalNone = 1 << 18, |
|
106 EMaskJournalPublish = 1 << 19, |
|
107 EMaskJournalAdd = 1 << 20, |
|
108 EMaskJournalCancel = 1 << 21, |
|
109 EMaskFreeBusyNone = 1 << 22, |
|
110 EMaskFreeBusyPublish = 1 << 23, |
|
111 EMaskFreeBusyRequest = 1 << 24, |
|
112 EMaskFreeBusyReply = 1 << 25, |
|
113 EMaskAlarmAny = 1 << 26, |
|
114 EMaskTimezoneAny = 1 << 27, |
|
115 EMaskTimezoneIntervalAny = 1 << 28 |
|
116 }; |
|
117 enum TICalComponentMethodFlags |
|
118 { |
|
119 EICalAttendeeFlags = EMaskEventRequest | |
|
120 EMaskEventReply | |
|
121 EMaskEventAdd | |
|
122 EMaskEventCancel | |
|
123 EMaskEventRefresh | |
|
124 EMaskEventCounter | |
|
125 EMaskTodoRequest | |
|
126 EMaskTodoReply | |
|
127 EMaskTodoAdd | |
|
128 EMaskTodoCancel | |
|
129 EMaskTodoRefresh | |
|
130 EMaskTodoCounter | |
|
131 EMaskTodoDeclineCounter | |
|
132 EMaskJournalCancel | |
|
133 EMaskFreeBusyRequest | |
|
134 EMaskFreeBusyReply, |
|
135 |
|
136 EICalDtStampFlags = EMaskEventPublish | |
|
137 EMaskEventRequest | |
|
138 EMaskEventReply | |
|
139 EMaskEventAdd | |
|
140 EMaskEventCancel | |
|
141 EMaskEventRefresh | |
|
142 EMaskEventCounter | |
|
143 EMaskEventDeclineCounter| |
|
144 EMaskTodoPublish | |
|
145 EMaskTodoRequest | |
|
146 EMaskTodoReply | |
|
147 EMaskTodoAdd | |
|
148 EMaskTodoCancel | |
|
149 EMaskTodoRefresh | |
|
150 EMaskTodoCounter | |
|
151 EMaskTodoDeclineCounter | |
|
152 EMaskJournalPublish | |
|
153 EMaskJournalAdd | |
|
154 EMaskJournalCancel | |
|
155 EMaskFreeBusyPublish | |
|
156 EMaskFreeBusyRequest | |
|
157 EMaskFreeBusyReply, |
|
158 |
|
159 EICalDtStartFlags = EMaskEventPublish | |
|
160 EMaskEventRequest | |
|
161 EMaskEventReply | |
|
162 EMaskEventAdd | |
|
163 EMaskEventCancel | |
|
164 EMaskEventCounter | |
|
165 EMaskTodoPublish | |
|
166 EMaskTodoRequest | |
|
167 EMaskTodoReply | |
|
168 EMaskTodoAdd | |
|
169 EMaskTodoCancel | |
|
170 EMaskTodoCounter | |
|
171 EMaskTodoDeclineCounter | |
|
172 EMaskJournalPublish | |
|
173 EMaskJournalAdd | |
|
174 EMaskJournalCancel | |
|
175 EMaskFreeBusyPublish | |
|
176 EMaskFreeBusyRequest | |
|
177 EMaskFreeBusyReply, |
|
178 |
|
179 EICalOrganizerFlags = EMaskEventPublish | |
|
180 EMaskEventRequest | |
|
181 EMaskEventReply | |
|
182 EMaskEventAdd | |
|
183 EMaskEventCancel | |
|
184 EMaskEventRefresh | |
|
185 EMaskEventCounter | |
|
186 EMaskEventDeclineCounter| |
|
187 EMaskTodoPublish | |
|
188 EMaskTodoRequest | |
|
189 EMaskTodoReply | |
|
190 EMaskTodoAdd | |
|
191 EMaskTodoCancel | |
|
192 EMaskTodoCounter | |
|
193 EMaskTodoDeclineCounter | |
|
194 EMaskJournalPublish | |
|
195 EMaskJournalAdd | |
|
196 EMaskJournalCancel | |
|
197 EMaskFreeBusyPublish | |
|
198 EMaskFreeBusyRequest | |
|
199 EMaskFreeBusyReply, |
|
200 |
|
201 EICalSummaryFlags = EMaskEventPublish | |
|
202 EMaskEventRequest | |
|
203 EMaskEventReply | |
|
204 EMaskEventAdd | |
|
205 EMaskEventCancel | |
|
206 EMaskEventCounter | |
|
207 EMaskTodoPublish | |
|
208 EMaskTodoRequest | |
|
209 EMaskTodoReply | |
|
210 EMaskTodoAdd | |
|
211 EMaskTodoCounter | |
|
212 EMaskTodoCounter | |
|
213 EMaskJournalPublish | |
|
214 EMaskJournalAdd | |
|
215 EMaskJournalCancel, |
|
216 |
|
217 EICalUIDFlags = EMaskEventPublish | |
|
218 EMaskEventRequest | |
|
219 EMaskEventReply | |
|
220 EMaskEventAdd | |
|
221 EMaskEventCancel | |
|
222 EMaskEventRefresh | |
|
223 EMaskEventCounter | |
|
224 EMaskEventDeclineCounter| |
|
225 EMaskTodoPublish | |
|
226 EMaskTodoRequest | |
|
227 EMaskTodoReply | |
|
228 EMaskTodoAdd | |
|
229 EMaskTodoCancel | |
|
230 EMaskTodoRefresh | |
|
231 EMaskTodoCounter | |
|
232 EMaskTodoDeclineCounter | |
|
233 EMaskJournalPublish | |
|
234 EMaskJournalAdd | |
|
235 EMaskJournalCancel | |
|
236 EMaskFreeBusyRequest | |
|
237 EMaskFreeBusyReply, |
|
238 |
|
239 EICalRecurrenceIdFlags = EMaskEventPublish | |
|
240 EMaskEventRequest | |
|
241 EMaskEventReply | |
|
242 EMaskEventCancel | |
|
243 EMaskEventRefresh | |
|
244 EMaskEventCounter | |
|
245 EMaskEventDeclineCounter| |
|
246 EMaskTodoPublish | |
|
247 EMaskTodoRequest | |
|
248 EMaskTodoReply | |
|
249 EMaskTodoCancel | |
|
250 EMaskTodoRefresh | |
|
251 EMaskTodoCounter | |
|
252 EMaskTodoDeclineCounter | |
|
253 EMaskJournalPublish | |
|
254 EMaskJournalCancel, |
|
255 |
|
256 EICalSequenceFlags = EMaskEventPublish | |
|
257 EMaskEventRequest | |
|
258 EMaskEventReply | |
|
259 EMaskEventAdd | |
|
260 EMaskEventCancel | |
|
261 EMaskEventCounter | |
|
262 EMaskEventDeclineCounter| |
|
263 EMaskTodoPublish | |
|
264 EMaskTodoRequest | |
|
265 EMaskTodoReply | |
|
266 EMaskTodoAdd | |
|
267 EMaskTodoCancel | |
|
268 EMaskTodoCounter | |
|
269 EMaskTodoDeclineCounter | |
|
270 EMaskJournalPublish | |
|
271 EMaskJournalAdd | |
|
272 EMaskJournalCancel, |
|
273 |
|
274 EICalAttachFlags = EMaskEventPublish | |
|
275 EMaskEventRequest | |
|
276 EMaskEventReply | |
|
277 EMaskEventAdd | |
|
278 EMaskEventCancel | |
|
279 EMaskEventCounter | |
|
280 EMaskTodoPublish | |
|
281 EMaskTodoRequest | |
|
282 EMaskTodoReply | |
|
283 EMaskTodoAdd | |
|
284 EMaskTodoCancel | |
|
285 EMaskTodoCounter | |
|
286 EMaskTodoDeclineCounter | |
|
287 EMaskJournalPublish | |
|
288 EMaskJournalAdd | |
|
289 EMaskJournalCancel, |
|
290 |
|
291 EICalCategoriesFlags = EMaskEventPublish | |
|
292 EMaskEventRequest | |
|
293 EMaskEventReply | |
|
294 EMaskEventAdd | |
|
295 EMaskEventCancel | |
|
296 EMaskEventCounter | |
|
297 EMaskTodoPublish | |
|
298 EMaskTodoRequest | |
|
299 EMaskTodoReply | |
|
300 EMaskTodoAdd | |
|
301 EMaskTodoCancel | |
|
302 EMaskTodoCounter | |
|
303 EMaskTodoDeclineCounter | |
|
304 EMaskJournalPublish | |
|
305 EMaskJournalAdd | |
|
306 EMaskJournalCancel, |
|
307 |
|
308 EICalClassFlags = EMaskEventPublish | |
|
309 EMaskEventRequest | |
|
310 EMaskEventReply | |
|
311 EMaskEventAdd | |
|
312 EMaskEventCancel | |
|
313 EMaskEventCounter | |
|
314 EMaskTodoPublish | |
|
315 EMaskTodoRequest | |
|
316 EMaskTodoReply | |
|
317 EMaskTodoAdd | |
|
318 EMaskTodoCancel | |
|
319 EMaskTodoCounter | |
|
320 EMaskTodoDeclineCounter | |
|
321 EMaskJournalPublish | |
|
322 EMaskJournalAdd | |
|
323 EMaskJournalCancel, |
|
324 |
|
325 EICalCommentFlags = EMaskEventPublish | |
|
326 EMaskEventRequest | |
|
327 EMaskEventReply | |
|
328 EMaskEventAdd | |
|
329 EMaskEventCancel | |
|
330 EMaskEventRefresh | |
|
331 EMaskEventCounter | |
|
332 EMaskEventDeclineCounter| |
|
333 EMaskTodoPublish | |
|
334 EMaskTodoRequest | |
|
335 EMaskTodoReply | |
|
336 EMaskTodoAdd | |
|
337 EMaskTodoCancel | |
|
338 EMaskTodoDeclineCounter | |
|
339 EMaskJournalPublish | |
|
340 EMaskJournalAdd | |
|
341 EMaskJournalCancel | |
|
342 EMaskFreeBusyPublish | |
|
343 EMaskFreeBusyRequest | |
|
344 EMaskFreeBusyReply, |
|
345 |
|
346 EICalContactFlags = EMaskEventPublish | |
|
347 EMaskEventRequest | |
|
348 EMaskEventReply | |
|
349 EMaskEventAdd | |
|
350 EMaskEventCancel | |
|
351 EMaskEventCounter | |
|
352 EMaskTodoPublish | |
|
353 EMaskTodoRequest | |
|
354 EMaskTodoReply | |
|
355 EMaskTodoAdd | |
|
356 EMaskTodoCancel | |
|
357 EMaskTodoCounter | |
|
358 EMaskTodoDeclineCounter | |
|
359 EMaskJournalPublish | |
|
360 EMaskJournalAdd | |
|
361 EMaskJournalCancel | |
|
362 EMaskFreeBusyPublish | |
|
363 EMaskFreeBusyRequest | |
|
364 EMaskFreeBusyReply, |
|
365 |
|
366 EICalCreatedFlags = EMaskEventPublish | |
|
367 EMaskEventRequest | |
|
368 EMaskEventReply | |
|
369 EMaskEventAdd | |
|
370 EMaskEventCancel | |
|
371 EMaskEventCounter | |
|
372 EMaskTodoPublish | |
|
373 EMaskTodoRequest | |
|
374 EMaskTodoReply | |
|
375 EMaskTodoAdd | |
|
376 EMaskTodoCancel | |
|
377 EMaskTodoCounter | |
|
378 EMaskTodoDeclineCounter | |
|
379 EMaskJournalPublish | |
|
380 EMaskJournalAdd | |
|
381 EMaskJournalCancel, |
|
382 |
|
383 EICalDescriptionFlags = EMaskEventPublish | |
|
384 EMaskEventRequest | |
|
385 EMaskEventReply | |
|
386 EMaskEventAdd | |
|
387 EMaskEventCancel | |
|
388 EMaskEventCounter | |
|
389 EMaskTodoPublish | |
|
390 EMaskTodoRequest | |
|
391 EMaskTodoReply | |
|
392 EMaskTodoAdd | |
|
393 EMaskTodoCancel | |
|
394 EMaskTodoCounter | |
|
395 EMaskTodoDeclineCounter | |
|
396 EMaskJournalPublish | |
|
397 EMaskJournalAdd | |
|
398 EMaskJournalCancel, |
|
399 |
|
400 EICalDtEndFlags = EMaskEventPublish | |
|
401 EMaskEventRequest | |
|
402 EMaskEventReply | |
|
403 EMaskEventAdd | |
|
404 EMaskEventCancel | |
|
405 EMaskEventCounter | |
|
406 EMaskFreeBusyPublish | |
|
407 EMaskFreeBusyRequest | |
|
408 EMaskFreeBusyReply, |
|
409 |
|
410 EICalFreeBusyFlags = EMaskFreeBusyPublish | |
|
411 EMaskFreeBusyReply, |
|
412 |
|
413 EICalDueFlags = EMaskTodoPublish | |
|
414 EMaskTodoRequest | |
|
415 EMaskTodoReply | |
|
416 EMaskTodoAdd | |
|
417 EMaskTodoCancel | |
|
418 EMaskTodoCounter | |
|
419 EMaskTodoDeclineCounter, |
|
420 |
|
421 EICalDurationFlags = EMaskEventPublish | |
|
422 EMaskEventRequest | |
|
423 EMaskEventReply | |
|
424 EMaskEventAdd | |
|
425 EMaskEventCancel | |
|
426 EMaskEventCounter | |
|
427 EMaskTodoPublish | |
|
428 EMaskTodoRequest | |
|
429 EMaskTodoReply | |
|
430 EMaskTodoAdd | |
|
431 EMaskTodoCancel | |
|
432 EMaskTodoCounter | |
|
433 EMaskTodoDeclineCounter, |
|
434 |
|
435 EICalExDateFlags = EMaskEventPublish | |
|
436 EMaskEventRequest | |
|
437 EMaskEventReply | |
|
438 EMaskEventAdd | |
|
439 EMaskEventCancel | |
|
440 EMaskEventCounter | |
|
441 EMaskTodoPublish | |
|
442 EMaskTodoRequest | |
|
443 EMaskTodoReply | |
|
444 EMaskTodoAdd | |
|
445 EMaskTodoCancel | |
|
446 EMaskTodoCounter | |
|
447 EMaskTodoDeclineCounter | |
|
448 EMaskJournalPublish | |
|
449 EMaskJournalAdd | |
|
450 EMaskJournalCancel, |
|
451 |
|
452 EICalExRuleFlags = EMaskEventPublish | |
|
453 EMaskEventRequest | |
|
454 EMaskEventReply | |
|
455 EMaskEventAdd | |
|
456 EMaskEventCancel | |
|
457 EMaskEventCounter | |
|
458 EMaskTodoPublish | |
|
459 EMaskTodoRequest | |
|
460 EMaskTodoReply | |
|
461 EMaskTodoAdd | |
|
462 EMaskTodoCancel | |
|
463 EMaskTodoCounter | |
|
464 EMaskTodoDeclineCounter | |
|
465 EMaskJournalPublish | |
|
466 EMaskJournalAdd | |
|
467 EMaskJournalCancel, |
|
468 |
|
469 EICalGeoFlags = EMaskEventPublish | |
|
470 EMaskEventRequest | |
|
471 EMaskEventReply | |
|
472 EMaskEventAdd | |
|
473 EMaskEventCancel | |
|
474 EMaskEventCounter | |
|
475 EMaskTodoPublish | |
|
476 EMaskTodoRequest | |
|
477 EMaskTodoReply | |
|
478 EMaskTodoAdd | |
|
479 EMaskTodoCancel | |
|
480 EMaskTodoCounter | |
|
481 EMaskTodoDeclineCounter, |
|
482 |
|
483 EICalLastModifiedFlags = EMaskEventPublish | |
|
484 EMaskEventRequest | |
|
485 EMaskEventReply | |
|
486 EMaskEventAdd | |
|
487 EMaskEventCancel | |
|
488 EMaskEventCounter | |
|
489 EMaskTodoPublish | |
|
490 EMaskTodoRequest | |
|
491 EMaskTodoReply | |
|
492 EMaskTodoAdd | |
|
493 EMaskTodoCancel | |
|
494 EMaskTodoCounter | |
|
495 EMaskTodoDeclineCounter | |
|
496 EMaskJournalPublish | |
|
497 EMaskJournalAdd | |
|
498 EMaskJournalCancel, |
|
499 |
|
500 EICalLocationFlags = EMaskEventPublish | |
|
501 EMaskEventRequest | |
|
502 EMaskEventReply | |
|
503 EMaskEventAdd | |
|
504 EMaskEventCancel | |
|
505 EMaskEventCounter | |
|
506 EMaskTodoPublish | |
|
507 EMaskTodoRequest | |
|
508 EMaskTodoReply | |
|
509 EMaskTodoAdd | |
|
510 EMaskTodoCancel | |
|
511 EMaskTodoCounter | |
|
512 EMaskTodoDeclineCounter, |
|
513 |
|
514 EICalPercentCompleteFlags = EMaskTodoPublish | |
|
515 EMaskTodoRequest | |
|
516 EMaskTodoReply | |
|
517 EMaskTodoAdd | |
|
518 EMaskTodoCancel | |
|
519 EMaskTodoCounter | |
|
520 EMaskTodoDeclineCounter, |
|
521 |
|
522 EICalPriorityFlags = EMaskEventPublish | |
|
523 EMaskEventRequest | |
|
524 EMaskEventReply | |
|
525 EMaskEventAdd | |
|
526 EMaskEventCancel | |
|
527 EMaskEventCounter | |
|
528 EMaskTodoRequest | |
|
529 EMaskTodoReply | |
|
530 EMaskTodoAdd | |
|
531 EMaskTodoCancel | |
|
532 EMaskTodoDeclineCounter, |
|
533 |
|
534 EICalRDateFlags = EMaskEventPublish | |
|
535 EMaskEventRequest | |
|
536 EMaskEventReply | |
|
537 EMaskEventAdd | |
|
538 EMaskEventCancel | |
|
539 EMaskEventCounter | |
|
540 EMaskTodoPublish | |
|
541 EMaskTodoRequest | |
|
542 EMaskTodoReply | |
|
543 EMaskTodoAdd | |
|
544 EMaskTodoCancel | |
|
545 EMaskTodoCounter | |
|
546 EMaskTodoDeclineCounter | |
|
547 EMaskJournalPublish | |
|
548 EMaskJournalAdd | |
|
549 EMaskJournalCancel, |
|
550 |
|
551 EICalRelatedToFlags = EMaskEventPublish | |
|
552 EMaskEventRequest | |
|
553 EMaskEventReply | |
|
554 EMaskEventAdd | |
|
555 EMaskEventCancel | |
|
556 EMaskEventCounter | |
|
557 EMaskTodoPublish | |
|
558 EMaskTodoRequest | |
|
559 EMaskTodoReply | |
|
560 EMaskTodoAdd | |
|
561 EMaskTodoCancel | |
|
562 EMaskTodoCancel | |
|
563 EMaskTodoCounter | |
|
564 EMaskTodoDeclineCounter | |
|
565 EMaskJournalPublish | |
|
566 EMaskJournalAdd | |
|
567 EMaskJournalCancel, |
|
568 |
|
569 EICalRequestStatusFlags = EMaskEventRequest | |
|
570 EMaskEventCounter | |
|
571 EMaskEventDeclineCounter| |
|
572 EMaskTodoReply | |
|
573 EMaskTodoCounter | |
|
574 EMaskTodoDeclineCounter | |
|
575 EMaskFreeBusyReply, |
|
576 |
|
577 EICalResourcesFlags = EMaskEventPublish | |
|
578 EMaskEventRequest | |
|
579 EMaskEventReply | |
|
580 EMaskEventAdd | |
|
581 EMaskEventCancel | |
|
582 EMaskEventCounter | |
|
583 EMaskTodoPublish | |
|
584 EMaskTodoRequest | |
|
585 EMaskTodoReply | |
|
586 EMaskTodoAdd | |
|
587 EMaskTodoCancel | |
|
588 EMaskTodoCounter | |
|
589 EMaskTodoDeclineCounter, |
|
590 |
|
591 EICalRRuleFlags = EMaskEventPublish | |
|
592 EMaskEventRequest | |
|
593 EMaskEventReply | |
|
594 EMaskEventAdd | |
|
595 EMaskEventCancel | |
|
596 EMaskEventCounter | |
|
597 EMaskTodoPublish | |
|
598 EMaskTodoRequest | |
|
599 EMaskTodoReply | |
|
600 EMaskTodoAdd | |
|
601 EMaskTodoCancel | |
|
602 EMaskTodoCounter | |
|
603 EMaskTodoDeclineCounter | |
|
604 EMaskJournalPublish | |
|
605 EMaskJournalAdd | |
|
606 EMaskJournalCancel, |
|
607 |
|
608 EICalStatusFlags = EMaskEventPublish | |
|
609 EMaskEventRequest | |
|
610 EMaskEventReply | |
|
611 EMaskEventAdd | |
|
612 EMaskEventCancel | |
|
613 EMaskEventCounter | |
|
614 EMaskTodoPublish | |
|
615 EMaskTodoRequest | |
|
616 EMaskTodoReply | |
|
617 EMaskTodoAdd | |
|
618 EMaskTodoCancel | |
|
619 EMaskTodoCounter | |
|
620 EMaskTodoDeclineCounter | |
|
621 EMaskJournalPublish | |
|
622 EMaskJournalAdd | |
|
623 EMaskJournalCancel, |
|
624 |
|
625 EICalTranspFlags = EMaskEventPublish | |
|
626 EMaskEventRequest | |
|
627 EMaskEventReply | |
|
628 EMaskEventAdd | |
|
629 EMaskEventCancel | |
|
630 EMaskEventCounter, |
|
631 |
|
632 EICalUrlFlags = EMaskEventPublish | |
|
633 EMaskEventRequest | |
|
634 EMaskEventReply | |
|
635 EMaskEventAdd | |
|
636 EMaskEventCancel | |
|
637 EMaskEventCounter | |
|
638 EMaskTodoPublish | |
|
639 EMaskTodoRequest | |
|
640 EMaskTodoReply | |
|
641 EMaskTodoAdd | |
|
642 EMaskTodoCancel | |
|
643 EMaskTodoCounter | |
|
644 EMaskTodoDeclineCounter | |
|
645 EMaskJournalPublish | |
|
646 EMaskJournalAdd | |
|
647 EMaskJournalCancel | |
|
648 EMaskFreeBusyPublish | |
|
649 EMaskFreeBusyReply, |
|
650 |
|
651 |
|
652 |
|
653 |
|
654 // EICalClassFlags = 0b00000001111010111111010111111, |
|
655 |
|
656 }; |
|
657 public: // Destruction. |
|
658 ~CESMRICalBase(); |
|
659 |
|
660 public: // Methods. |
|
661 /** |
|
662 * Creates a new property with a value from the given parameters, adds it to |
|
663 * this object and returns a modifiable reference to it. |
|
664 * @param aName Name of the property to add. |
|
665 * @param aValue Value of the property to add. |
|
666 * @return A reference to a new property owned by this object. |
|
667 * @leave Leaves with KErrUnsupportedProperty if the given property is not valid. |
|
668 * for this component. |
|
669 * @publishedPartner |
|
670 */ |
|
671 IMPORT_C CESMRICalProperty& AddPropertyL(const TDesC& aName, const TDesC& aValue); |
|
672 |
|
673 /** |
|
674 * Creates a new property with a value and adds it to this object, returning a |
|
675 * reference to it. Ownership of aValue is transferred and it will be deleted if |
|
676 * this function leaves. |
|
677 * @leave Leaves with KErrPropertyHasNoValue if aValue is Null. |
|
678 * @leave Leaves with KErrUnsupportedProperty if the given property is not valid. |
|
679 * @return A new property |
|
680 * @publishedPartner |
|
681 */ |
|
682 IMPORT_C CESMRICalProperty& AddPropertyL(const TDesC& aName, CESMRICalValue* aValue); |
|
683 |
|
684 /** |
|
685 * Creates a new component, adds it to this object, and returns a modifiable |
|
686 * reference to it. |
|
687 * @param aType The type of component to be created. |
|
688 * @return A new component |
|
689 * @leave Leaves with KErrUnsupportedComponent if the given component is not a |
|
690 * valid subcomponent for this object. |
|
691 * @publishedPartner |
|
692 */ |
|
693 IMPORT_C CESMRICalComponent& AddComponentL(TICalComponentType aType); |
|
694 |
|
695 /** |
|
696 * Access function for the component array. |
|
697 * @return The array of components as a constant reference. |
|
698 * @publishedPartner |
|
699 */ |
|
700 IMPORT_C const RPointerArray<CESMRICalComponent>& Components() const; |
|
701 |
|
702 /** |
|
703 * Access function for the property array. |
|
704 * @return The array of properties as a constant reference. |
|
705 * @publishedPartner |
|
706 */ |
|
707 IMPORT_C const RPointerArray<CESMRICalProperty>& Properties() const; |
|
708 |
|
709 /** |
|
710 * Returns the descriptor form of this component type. |
|
711 * @return The descriptor form of this component type. |
|
712 * @publishedPartner |
|
713 */ |
|
714 IMPORT_C const TDesC& TypeStringL() const; |
|
715 |
|
716 /** |
|
717 * Access method returning the concrete type as an enumeration. |
|
718 * @return The type of the concrete derived class. |
|
719 * @publishedPartner |
|
720 */ |
|
721 IMPORT_C TICalComponentType Type() const; |
|
722 |
|
723 /** |
|
724 * Checks for a component already existing in current object's sub-components |
|
725 * @param aType The type of the component to check. |
|
726 * @return ETrue if the property does exist, EFalse otherwise |
|
727 * @publishedPartner |
|
728 */ |
|
729 IMPORT_C TBool ComponentExists(TICalComponentType aType) const; |
|
730 |
|
731 /** |
|
732 * Finds the first property with a particular name and returns a pointer to it. |
|
733 * Ownership is not passed out. |
|
734 * @param aName The name of the property to search for. |
|
735 * @return A pointer to the property, or NULL. |
|
736 * @publishedPartner |
|
737 */ |
|
738 IMPORT_C const CESMRICalProperty* FindProperty(const TDesC& aName) const; |
|
739 |
|
740 /** |
|
741 * Takes a line reader and reads lines from it until the end of the component is |
|
742 * located. Any other END:, or an end of file, are treated as errors. |
|
743 * @param aReader The line reader to read from. |
|
744 * @leave Leaves with KErrCorrupt if the component is corrupt. |
|
745 * @internalTechnology |
|
746 */ |
|
747 void InternalizeL(CESMRICalContentLineReader& aReader); |
|
748 |
|
749 /** |
|
750 * Takes a line writer and exports this component, including all owned properties |
|
751 * and sub components, to it. |
|
752 * @param aWriter the writer to export to. |
|
753 * @internalTechnology |
|
754 */ |
|
755 void ExternalizeL(CESMRICalContentLineWriter& aWriter) const; |
|
756 |
|
757 /** |
|
758 * Converts between a TICalComponentType and the type as a descriptor. |
|
759 * @param aName The type as a descriptor. |
|
760 * @return The type as an enumeration. |
|
761 * @leave KErrCorrupt if this is not a valid type. |
|
762 * @internalTechnology |
|
763 */ |
|
764 static TICalComponentType TypeFromNameL(const TDesC& aName); |
|
765 |
|
766 protected: // Construction. |
|
767 CESMRICalBase(); |
|
768 |
|
769 protected: // Methods. |
|
770 /** |
|
771 * Converts between a TICalComponentType and the type as a descriptor. |
|
772 * @param aType The type as an enumeration. |
|
773 * @return The type as a descriptor. |
|
774 * @leave KErrCorrupt if this is not a valid type. |
|
775 * @internalTechnology |
|
776 */ |
|
777 const TDesC& TypeStringL(TICalComponentType aType) const; |
|
778 |
|
779 TBool ValidateProperty(const TDesC& aName) const; |
|
780 |
|
781 protected: // must be implemented by subclasses |
|
782 virtual TBool ValidatePropertyImpl(const TDesC& aName) const = 0; |
|
783 virtual TBool ValidateComponent(TICalComponentType aType) const = 0; |
|
784 |
|
785 private: // Implementation. |
|
786 CESMRICalComponent* CreateComponentL(TICalComponentType aType); |
|
787 CESMRICalProperty* CreatePropertyL(const TDesC& aName); |
|
788 |
|
789 protected: // Data. |
|
790 RPointerArray<CESMRICalComponent> iComponents;//own |
|
791 RPointerArray<CESMRICalProperty> iProperties;//own |
|
792 |
|
793 TICalComponentType iComponentType;//own |
|
794 TICalMethod iMethod; |
|
795 TUint32 iComponentMethodBitMask; |
|
796 }; |
|
797 |
|
798 #endif // CESMRICALBASE_H |
|
799 |
|
800 // End of File |