1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/epoc32/include/app/caluser.h Wed Mar 31 12:27:01 2010 +0100
1.3 @@ -0,0 +1,163 @@
1.4 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// 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
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef __CALUSER_H__
1.20 +#define __CALUSER_H__
1.21 +
1.22 +#include <e32base.h>
1.23 +
1.24 +class CCalUserImpl;
1.25 +
1.26 +/** Class representing a calendar user.
1.27 +
1.28 +A calendar user is the base class representation of a meeting participant.
1.29 +It contains attributes common to all calendar users.
1.30 +
1.31 +Contains methods to store and retrieve a user's ADDRESS, SENT-BY and CN
1.32 +fields.
1.33 +
1.34 +@publishedAll
1.35 +@released
1.36 +*/
1.37 +NONSHARABLE_CLASS(CCalUser) : public CBase
1.38 + {
1.39 +public:
1.40 + IMPORT_C static CCalUser* NewL(const TDesC& aAddress);
1.41 + IMPORT_C static CCalUser* NewL(const TDesC& aAddress, const TDesC& aSentBy);
1.42 + IMPORT_C ~CCalUser();
1.43 +
1.44 + IMPORT_C void SetCommonNameL(const TDesC& aCommonName);
1.45 + IMPORT_C const TDesC& Address() const;
1.46 + IMPORT_C const TDesC& CommonName() const;
1.47 + IMPORT_C const TDesC& SentBy() const;
1.48 +public:
1.49 + static CCalUser* NewL(CCalUserImpl* aImpl);
1.50 +
1.51 + CCalUserImpl* Impl() const;
1.52 +protected:
1.53 + CCalUser();
1.54 + CCalUser(CCalUserImpl* aImpl);
1.55 + void ConstructL(const TDesC& aAddress);
1.56 + void ConstructL(const TDesC& aAddress, const TDesC& aSentBy);
1.57 +protected:
1.58 +/** Handle to CCalUser implementation */
1.59 + CCalUserImpl* iImpl;
1.60 + };
1.61 +
1.62 +
1.63 +/** Class representing an attendee of an event.
1.64 +
1.65 +CCalAttendee is a specialization of the CCalUser class.
1.66 +
1.67 +This class contains extra methods to store and retrieve an Attendee's
1.68 +ROLE, PART-STAT, and RSVP fields.
1.69 +
1.70 +@publishedAll
1.71 +@released
1.72 +*/
1.73 +NONSHARABLE_CLASS(CCalAttendee) : public CCalUser
1.74 + {
1.75 +public:
1.76 + /** Attendee's role.
1.77 + @publishedAll
1.78 + @released
1.79 + */
1.80 + enum TCalRole
1.81 + {
1.82 + /** A required participant of the event. */
1.83 + EReqParticipant=0,
1.84 + /** An optional participant of the event. */
1.85 + EOptParticipant,
1.86 + /** A non-participant of the event. */
1.87 + ENonParticipant,
1.88 + /** This participant will chair the event. */
1.89 + EChair,
1.90 +
1.91 + /** Indicates an attendee at the event or todo. This value is supported in vCalendar only. */
1.92 + EVCalAttendee,
1.93 + /** Indicates a delegate of another attendee. This value is supported in vCalendar only. */
1.94 + EVCalDelegate,
1.95 + /** Indicates owner of the event or todo (not the same as phone owner). This value is supported in vCalendar only. */
1.96 + EVCalOwner,
1.97 + };
1.98 +
1.99 + /** Attendee's status
1.100 + @publishedAll
1.101 + @released
1.102 + */
1.103 + enum TCalStatus
1.104 + {
1.105 + /** Action is required by attendee. */
1.106 + ENeedsAction=0,
1.107 + /** Attendee has accepted request. */
1.108 + EAccepted,
1.109 + /** Attendee has tentatively accepted the request. */
1.110 + ETentative,
1.111 + /** Attendee's presence is confirmed. */
1.112 + EConfirmed,
1.113 + /** Attendee has declined request. */
1.114 + EDeclined,
1.115 + /** The required action has been completed by attendee. */
1.116 + ECompleted,
1.117 + /** Attendee has delegated the request to another person. */
1.118 + EDelegated,
1.119 + /** A to-do action in the process of being completed. */
1.120 + EInProcess,
1.121 +
1.122 + /** An entry has been sent. This value is supported in vCalendar only. */
1.123 + EVCalSent,
1.124 + /** An entry has been received. This value is supported in vCalendar only. */
1.125 + EVCalXReceived,
1.126 + };
1.127 +
1.128 + /** Attendee's expected participation response.
1.129 + This property is supported in vCalendar only. It is not a property of iCalendar.
1.130 + @publishedAll
1.131 + @released
1.132 + */
1.133 + enum TVCalExpect
1.134 + {
1.135 + /** Indicates request is for your information. */
1.136 + EVCalFyi,
1.137 + /** Indicates presence is definitely required. */
1.138 + EVCalRequire,
1.139 + /** Indicates presence is being requested. */
1.140 + EVCalRequest,
1.141 + /** Indicates an immediate response needed. */
1.142 + EVCalImmediate
1.143 + };
1.144 +
1.145 +public:
1.146 + IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress);
1.147 + IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress, const TDesC& aSentBy);
1.148 +
1.149 + IMPORT_C void SetRoleL(TCalRole aRole);
1.150 + IMPORT_C void SetStatusL(TCalStatus aStatus);
1.151 + IMPORT_C void SetResponseRequested(TBool aRsvp);
1.152 + IMPORT_C void SetVCalExpect(TVCalExpect aExpected);
1.153 +
1.154 + IMPORT_C TCalRole RoleL() const;
1.155 + IMPORT_C TCalStatus StatusL() const;
1.156 + IMPORT_C TBool ResponseRequested() const;
1.157 + IMPORT_C TVCalExpect VCalExpect() const;
1.158 +public:
1.159 + static CCalAttendee* NewL(CCalUserImpl* aImpl);
1.160 +private:
1.161 + CCalAttendee();
1.162 + CCalAttendee(CCalUserImpl* aImpl);
1.163 + };
1.164 +
1.165 +
1.166 +#endif // __CALUSER_H__