epoc32/include/app/calcategory.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:27:01 +0100
branchSymbian2
changeset 3 e1b950c65cb4
parent 2 epoc32/include/calcategory.h@2fe1408b6811
child 4 837f303aceeb
permissions -rw-r--r--
Attempt to represent the S^2->S^3 header reorganisation as a series of "hg rename" operations
     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__