epoc32/include/app/caluser.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.
williamr@2
     1
// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
williamr@2
     2
// All rights reserved.
williamr@2
     3
// This component and the accompanying materials are made available
williamr@4
     4
// under the terms of "Eclipse Public License v1.0"
williamr@2
     5
// which accompanies this distribution, and is available
williamr@4
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
williamr@2
     7
//
williamr@2
     8
// Initial Contributors:
williamr@2
     9
// Nokia Corporation - initial contribution.
williamr@2
    10
//
williamr@2
    11
// Contributors:
williamr@2
    12
//
williamr@2
    13
// Description:
williamr@2
    14
//
williamr@2
    15
williamr@2
    16
#ifndef __CALUSER_H__
williamr@2
    17
#define __CALUSER_H__
williamr@2
    18
williamr@2
    19
#include <e32base.h>
williamr@2
    20
williamr@2
    21
class CCalUserImpl;
williamr@2
    22
williamr@2
    23
/** Class representing a calendar user.
williamr@2
    24
williamr@2
    25
A calendar user is the base class representation of a meeting participant.
williamr@2
    26
It contains attributes common to all calendar users.
williamr@2
    27
williamr@2
    28
Contains methods to store and retrieve a user's ADDRESS, SENT-BY and CN
williamr@2
    29
fields.
williamr@2
    30
williamr@2
    31
@publishedAll
williamr@2
    32
@released
williamr@2
    33
*/
williamr@2
    34
NONSHARABLE_CLASS(CCalUser) : public CBase
williamr@2
    35
	{
williamr@2
    36
public:
williamr@2
    37
	IMPORT_C static CCalUser* NewL(const TDesC& aAddress);
williamr@2
    38
	IMPORT_C static CCalUser* NewL(const TDesC& aAddress, const TDesC& aSentBy);
williamr@2
    39
	IMPORT_C ~CCalUser();
williamr@2
    40
williamr@2
    41
	IMPORT_C void SetCommonNameL(const TDesC& aCommonName);
williamr@2
    42
	IMPORT_C const TDesC& Address() const;
williamr@2
    43
	IMPORT_C const TDesC& CommonName() const;
williamr@2
    44
	IMPORT_C const TDesC& SentBy() const;
williamr@2
    45
public:
williamr@2
    46
	static CCalUser* NewL(CCalUserImpl* aImpl);
williamr@2
    47
williamr@2
    48
	CCalUserImpl* Impl() const;
williamr@2
    49
protected:
williamr@2
    50
	CCalUser();
williamr@2
    51
	CCalUser(CCalUserImpl* aImpl);
williamr@2
    52
	void ConstructL(const TDesC& aAddress);
williamr@2
    53
	void ConstructL(const TDesC& aAddress, const TDesC& aSentBy);
williamr@2
    54
protected:
williamr@2
    55
/** Handle to CCalUser implementation */
williamr@2
    56
	CCalUserImpl*	iImpl;
williamr@2
    57
	};
williamr@2
    58
williamr@2
    59
williamr@2
    60
/** Class representing an attendee of an event.
williamr@2
    61
williamr@2
    62
CCalAttendee is a specialization of the CCalUser class.
williamr@2
    63
williamr@2
    64
This class contains extra methods to store and retrieve an Attendee's
williamr@2
    65
ROLE, PART-STAT, and RSVP fields.
williamr@2
    66
williamr@2
    67
@publishedAll
williamr@2
    68
@released
williamr@2
    69
*/
williamr@2
    70
NONSHARABLE_CLASS(CCalAttendee) : public CCalUser
williamr@2
    71
	{
williamr@2
    72
public:
williamr@2
    73
	/** Attendee's role. 
williamr@2
    74
	@publishedAll
williamr@2
    75
	@released
williamr@2
    76
	*/
williamr@2
    77
	enum TCalRole
williamr@2
    78
		{
williamr@2
    79
		/** A required participant of the event. */
williamr@2
    80
		EReqParticipant=0,
williamr@2
    81
		/** An optional participant of the event. */
williamr@2
    82
		EOptParticipant,
williamr@2
    83
		/** A non-participant of the event. */
williamr@2
    84
		ENonParticipant,
williamr@2
    85
		/** This participant will chair the event. */
williamr@2
    86
		EChair,
williamr@2
    87
		
williamr@2
    88
		/** Indicates an attendee at the event or todo. This value is supported in vCalendar only. */
williamr@2
    89
		EVCalAttendee,
williamr@2
    90
		/** Indicates a delegate of another attendee. This value is supported in vCalendar only. */
williamr@2
    91
		EVCalDelegate,
williamr@2
    92
		/** Indicates owner of the event or todo (not the same as phone owner). This value is supported in vCalendar only. */
williamr@2
    93
		EVCalOwner,
williamr@2
    94
		};
williamr@2
    95
williamr@2
    96
	/** Attendee's status
williamr@2
    97
	@publishedAll
williamr@2
    98
	@released
williamr@2
    99
	*/
williamr@2
   100
	enum TCalStatus
williamr@2
   101
		{
williamr@2
   102
		/** Action is required by attendee. */
williamr@2
   103
		ENeedsAction=0,
williamr@2
   104
		/** Attendee has accepted request. */
williamr@2
   105
		EAccepted,
williamr@2
   106
		/** Attendee has tentatively accepted the request. */
williamr@2
   107
		ETentative,
williamr@2
   108
		/** Attendee's presence is confirmed. */
williamr@2
   109
		EConfirmed,
williamr@2
   110
		/** Attendee has declined request. */
williamr@2
   111
		EDeclined,
williamr@2
   112
		/** The required action has been completed by attendee. */
williamr@2
   113
		ECompleted,
williamr@2
   114
		/** Attendee has delegated the request to another person. */
williamr@2
   115
		EDelegated,
williamr@2
   116
		/**	A to-do action in the process of being completed. */
williamr@2
   117
		EInProcess,
williamr@2
   118
		
williamr@2
   119
		/** An entry has been sent. This value is supported in vCalendar only. */
williamr@2
   120
		EVCalSent,
williamr@2
   121
		/** An entry has been received. This value is supported in vCalendar only. */
williamr@2
   122
		EVCalXReceived,
williamr@2
   123
		};
williamr@2
   124
	
williamr@2
   125
	/** Attendee's expected participation response.
williamr@2
   126
	This property is supported in vCalendar only. It is not a property of iCalendar.
williamr@2
   127
	@publishedAll
williamr@2
   128
	@released
williamr@2
   129
	*/
williamr@2
   130
	enum TVCalExpect
williamr@2
   131
		{
williamr@2
   132
		/** Indicates request is for your information. */
williamr@2
   133
		EVCalFyi,
williamr@2
   134
		/** Indicates presence is definitely required. */
williamr@2
   135
		EVCalRequire,
williamr@2
   136
		/** Indicates presence is being requested. */
williamr@2
   137
		EVCalRequest, 
williamr@2
   138
		/** Indicates an immediate response needed. */
williamr@2
   139
		EVCalImmediate 
williamr@2
   140
		};
williamr@2
   141
williamr@2
   142
public:
williamr@2
   143
	IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress);
williamr@2
   144
	IMPORT_C static CCalAttendee* NewL(const TDesC& aAddress, const TDesC& aSentBy);
williamr@2
   145
williamr@2
   146
	IMPORT_C void SetRoleL(TCalRole aRole);
williamr@2
   147
	IMPORT_C void SetStatusL(TCalStatus aStatus);
williamr@2
   148
	IMPORT_C void SetResponseRequested(TBool aRsvp);
williamr@2
   149
	IMPORT_C void SetVCalExpect(TVCalExpect aExpected);
williamr@2
   150
williamr@2
   151
	IMPORT_C TCalRole RoleL() const;
williamr@2
   152
	IMPORT_C TCalStatus StatusL() const;
williamr@2
   153
	IMPORT_C TBool ResponseRequested() const;
williamr@2
   154
	IMPORT_C TVCalExpect VCalExpect() const;
williamr@2
   155
public:
williamr@2
   156
	static CCalAttendee* NewL(CCalUserImpl* aImpl);
williamr@2
   157
private:
williamr@2
   158
	CCalAttendee();
williamr@2
   159
	CCalAttendee(CCalUserImpl* aImpl);
williamr@2
   160
	};
williamr@2
   161
williamr@2
   162
williamr@2
   163
#endif // __CALUSER_H__
williamr@4
   164