epoc32/include/app/calcategory.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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".
     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__