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 #include <QtCore/QStringList>
00034
00035 #include "listbase.h"
00036 #include "person.h"
00037
00038 namespace KCal {
00039
00057 class KCAL_EXPORT Attendee : private Person
00058 {
00059 public:
00060 using Person::setEmail;
00061 using Person::email;
00062 using Person::setName;
00063 using Person::name;
00064 using Person::fullName;
00065
00070 enum PartStat {
00071 NeedsAction,
00072 Accepted,
00073 Declined,
00074 Tentative,
00075 Delegated,
00076 Completed,
00077 InProcess
00078 };
00079
00083 enum Role {
00084 ReqParticipant,
00085 OptParticipant,
00086 NonParticipant,
00087 Chair
00088 };
00089
00093 typedef ListBase<Attendee> List;
00094
00107 Attendee( const QString &name, const QString &email,
00108 bool rsvp = false, PartStat status = NeedsAction,
00109 Role role = ReqParticipant, const QString &uid = QString() );
00110
00116 Attendee( const Attendee &attendee );
00117
00121 ~Attendee();
00122
00130 void setRole( Role role );
00131
00137 Role role() const;
00138
00144 QString roleStr() const;
00145
00153 static QString roleName( Role role );
00154
00158 static QStringList roleList();
00159
00167 void setUid ( const QString &uid );
00168
00174 QString uid() const;
00175
00183 void setStatus( PartStat status );
00184
00190 PartStat status() const;
00191
00197 QString statusStr() const;
00198
00206 static QString statusName( PartStat status );
00207
00211 static QStringList statusList();
00212
00221 void setRSVP( bool rsvp );
00222
00228 bool RSVP() const;
00229
00235 bool operator==( const Attendee &attendee );
00236
00243 void setDelegate( const QString &delegate );
00244
00249 QString delegate() const;
00250
00257 void setDelegator( const QString &delegator );
00258
00263 QString delegator() const;
00264
00270 Attendee &operator=( const Attendee &attendee );
00271
00272 private:
00273
00274 class Private;
00275 Private *const d;
00276
00277 };
00278
00279 }
00280
00281 #endif