|
1 // Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
2 // All rights reserved. |
|
3 // This component and the accompanying materials are made available |
|
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 |
|
5 // which accompanies this distribution, and is available |
|
6 // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // |
|
15 |
|
16 #ifndef __CALCATEGORY_H__ |
|
17 #define __CALCATEGORY_H__ |
|
18 |
|
19 #include <e32base.h> |
|
20 |
|
21 class CCalCategoryImpl; |
|
22 |
|
23 /** Calendar categories can be associated with a calendar entry. |
|
24 |
|
25 There are 12 built in category types defined by TCalCategoryType. Additionally, |
|
26 it is possible to define extended category types which are held as a descriptor |
|
27 of any length. |
|
28 |
|
29 Any number of categories can be specified for an entry. CCalEntry provides member |
|
30 functions for adding, deleting and fetching categories for an entry. |
|
31 |
|
32 CCalCategoryManager functions enable the client to add\\delete\\fetch categories |
|
33 from a Calendar session and to get a list of entries filtered by their category. |
|
34 @publishedAll |
|
35 @released |
|
36 */ |
|
37 NONSHARABLE_CLASS(CCalCategory) : public CBase |
|
38 { |
|
39 public: |
|
40 /** Calendar category type. |
|
41 @publishedAll |
|
42 @released |
|
43 */ |
|
44 enum TCalCategoryType |
|
45 { |
|
46 /** Appointment */ |
|
47 ECalAppointment, |
|
48 /** Business */ |
|
49 ECalBusiness, |
|
50 /** Education */ |
|
51 ECalEducation, |
|
52 /** Holiday */ |
|
53 ECalHoliday, |
|
54 /** Meeting */ |
|
55 ECalMeeting, |
|
56 /** All other types */ |
|
57 ECalMiscellaneous, |
|
58 /** Personal */ |
|
59 ECalPersonal, |
|
60 /** Phone call */ |
|
61 ECalPhoneCall, |
|
62 /** Sick day */ |
|
63 ECalSickDay, |
|
64 /** Special occasion */ |
|
65 ECalSpecialOccasion, |
|
66 /** Travel */ |
|
67 ECalTravel, |
|
68 /** Vacation */ |
|
69 ECalVacation, |
|
70 /** Extended */ |
|
71 ECalExtended |
|
72 }; |
|
73 |
|
74 public: |
|
75 IMPORT_C static CCalCategory* NewL(TCalCategoryType aCategory); |
|
76 IMPORT_C static CCalCategory* NewL(const TDesC& aExtendedName); |
|
77 IMPORT_C ~CCalCategory(); |
|
78 |
|
79 IMPORT_C TCalCategoryType Category() const; |
|
80 IMPORT_C const TDesC& ExtendedCategoryName() const; |
|
81 |
|
82 public: |
|
83 CCalCategoryImpl* Impl() const; |
|
84 static CCalCategory* NewL(CCalCategoryImpl* aImpl); |
|
85 |
|
86 private: |
|
87 CCalCategory(); |
|
88 CCalCategory(CCalCategoryImpl* aImpl); |
|
89 void ConstructL(TCalCategoryType aCategory); |
|
90 void ConstructL(const TDesC& aExtendedName); |
|
91 |
|
92 private: // member data |
|
93 CCalCategoryImpl* iCalCategoryImpl; |
|
94 }; |
|
95 |
|
96 #endif // __CALCATEGORY_H__ |