epoc32/include/app/calcategory.h
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 2fe1408b6811
child 4 837f303aceeb
equal deleted inserted replaced
2:2fe1408b6811 3:e1b950c65cb4
       
     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__