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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
23 /** Class representing a calendar user.
25 A calendar user is the base class representation of a meeting participant.
26 It contains attributes common to all calendar users.
28 Contains methods to store and retrieve a user's ADDRESS, SENT-BY and CN
34 NONSHARABLE_CLASS(CCalUser) : public CBase
37 IMPORT_C static CCalUser* NewL(const TDesC& aAddress);
38 IMPORT_C static CCalUser* NewL(const TDesC& aAddress, const TDesC& aSentBy);
41 IMPORT_C void SetCommonNameL(const TDesC& aCommonName);
42 IMPORT_C const TDesC& Address() const;
43 IMPORT_C const TDesC& CommonName() const;
44 IMPORT_C const TDesC& SentBy() const;
46 static CCalUser* NewL(CCalUserImpl* aImpl);
48 CCalUserImpl* Impl() const;
51 CCalUser(CCalUserImpl* aImpl);
52 void ConstructL(const TDesC& aAddress);
53 void ConstructL(const TDesC& aAddress, const TDesC& aSentBy);
55 /** Handle to CCalUser implementation */
60 /** Class representing an attendee of an event.
62 CCalAttendee is a specialization of the CCalUser class.
64 This class contains extra methods to store and retrieve an Attendee's
65 ROLE, PART-STAT, and RSVP fields.
70 NONSHARABLE_CLASS(CCalAttendee) : public CCalUser
79 /** A required participant of the event. */
81 /** An optional participant of the event. */
83 /** A non-participant of the event. */
85 /** This participant will chair the event. */
88 /** Indicates an attendee at the event or todo. This value is supported in vCalendar only. */
90 /** Indicates a delegate of another attendee. This value is supported in vCalendar only. */
92 /** Indicates owner of the event or todo (not the same as phone owner). This value is supported in vCalendar only. */
102 /** Action is required by attendee. */
104 /** Attendee has accepted request. */
106 /** Attendee has tentatively accepted the request. */
108 /** Attendee's presence is confirmed. */
110 /** Attendee has declined request. */
112 /** The required action has been completed by attendee. */
114 /** Attendee has delegated the request to another person. */
116 /** A to-do action in the process of being completed. */
119 /** An entry has been sent. This value is supported in vCalendar only. */
121 /** An entry has been received. This value is supported in vCalendar only. */
125 /** Attendee's expected participation response.
126 This property is supported in vCalendar only. It is not a property of iCalendar.
132 /** Indicates request is for your information. */
134 /** Indicates presence is definitely required. */
136 /** Indicates presence is being requested. */
138 /** Indicates an immediate response needed. */
143 IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress);
144 IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress, const TDesC& aSentBy);
146 IMPORT_C void SetRoleL(TCalRole aRole);
147 IMPORT_C void SetStatusL(TCalStatus aStatus);
148 IMPORT_C void SetResponseRequested(TBool aRsvp);
149 IMPORT_C void SetVCalExpect(TVCalExpect aExpected);
151 IMPORT_C TCalRole RoleL() const;
152 IMPORT_C TCalStatus StatusL() const;
153 IMPORT_C TBool ResponseRequested() const;
154 IMPORT_C TVCalExpect VCalExpect() const;
156 static CCalAttendee* NewL(CCalUserImpl* aImpl);
159 CCalAttendee(CCalUserImpl* aImpl);
163 #endif // __CALUSER_H__