KCal Library
attendee.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00029 #ifndef KCAL_ATTENDEE_H
00030 #define KCAL_ATTENDEE_H
00031
00032 #include <QtCore/QString>
00033
00034 #include "listbase.h"
00035 #include "person.h"
00036
00037 namespace KCal {
00038
00056 class KCAL_EXPORT Attendee : private Person
00057 {
00058 public:
00059 using Person::setEmail;
00060 using Person::email;
00061 using Person::setName;
00062 using Person::name;
00063 using Person::fullName;
00064
00069 enum PartStat {
00070 NeedsAction,
00071 Accepted,
00072 Declined,
00073 Tentative,
00074 Delegated,
00075 Completed,
00076 InProcess
00077 };
00078
00082 enum Role {
00083 ReqParticipant,
00084 OptParticipant,
00085 NonParticipant,
00086 Chair
00087 };
00088
00092 typedef ListBase<Attendee> List;
00093
00106 Attendee( const QString &name, const QString &email,
00107 bool rsvp = false, PartStat status = NeedsAction,
00108 Role role = ReqParticipant, const QString &uid = QString() );
00109
00115 Attendee( const Attendee &attendee );
00116
00120 ~Attendee();
00121
00129 void setRole( Role role );
00130
00136 Role role() const;
00137
00143 QString roleStr() const;
00144
00152 static QString roleName( Role role );
00153
00157 static QStringList roleList();
00158
00166 void setUid ( const QString &uid );
00167
00173 QString uid() const;
00174
00182 void setStatus( PartStat status );
00183
00189 PartStat status() const;
00190
00196 QString statusStr() const;
00197
00205 static QString statusName( PartStat status );
00206
00210 static QStringList statusList();
00211
00220 void setRSVP( bool rsvp );
00221
00227 bool RSVP() const;
00228
00234 bool operator==( const Attendee &attendee );
00235
00242 void setDelegate( const QString &delegate );
00243
00248 QString delegate() const;
00249
00256 void setDelegator( const QString &delegator );
00257
00262 QString delegator() const;
00263
00269 Attendee &operator=( const Attendee &attendee );
00270
00271 private:
00272
00273 class Private;
00274 Private *const d;
00275
00276 };
00277
00278 }
00279
00280 #endif