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 "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
16 #ifndef __CALCATEGORY_H__
17 #define __CALCATEGORY_H__
21 class CCalCategoryImpl;
23 /** Calendar categories can be associated with a calendar entry.
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
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.
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.
37 NONSHARABLE_CLASS(CCalCategory) : public CBase
40 /** Calendar category type.
56 /** All other types */
64 /** Special occasion */
75 IMPORT_C static CCalCategory* NewL(TCalCategoryType aCategory);
76 IMPORT_C static CCalCategory* NewL(const TDesC& aExtendedName);
77 IMPORT_C ~CCalCategory();
79 IMPORT_C TCalCategoryType Category() const;
80 IMPORT_C const TDesC& ExtendedCategoryName() const;
83 CCalCategoryImpl* Impl() const;
84 static CCalCategory* NewL(CCalCategoryImpl* aImpl);
88 CCalCategory(CCalCategoryImpl* aImpl);
89 void ConstructL(TCalCategoryType aCategory);
90 void ConstructL(const TDesC& aExtendedName);
92 private: // member data
93 CCalCategoryImpl* iCalCategoryImpl;
96 #endif // __CALCATEGORY_H__