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 None
00079 };
00080
00084 enum Role {
00085 ReqParticipant,
00086 OptParticipant,
00087 NonParticipant,
00088 Chair
00089 };
00090
00094 typedef ListBase<Attendee> List;
00095
00108 Attendee( const QString &name, const QString &email,
00109 bool rsvp = false, PartStat status = None,
00110 Role role = ReqParticipant, const QString &uid = QString() );
00111
00117 Attendee( const Attendee &attendee );
00118
00122 ~Attendee();
00123
00131 void setRole( Role role );
00132
00138 Role role() const;
00139
00145 QString roleStr() const;
00146
00154 static QString roleName( Role role );
00155
00159 static QStringList roleList();
00160
00168 void setUid ( const QString &uid );
00169
00175 QString uid() const;
00176
00184 void setStatus( PartStat status );
00185
00191 PartStat status() const;
00192
00198 QString statusStr() const;
00199
00207 static QString statusName( PartStat status );
00208
00212 static QStringList statusList();
00213
00222 void setRSVP( bool rsvp );
00223
00229 bool RSVP() const;
00230
00236 bool operator==( const Attendee &attendee );
00237
00244 void setDelegate( const QString &delegate );
00245
00250 QString delegate() const;
00251
00258 void setDelegator( const QString &delegator );
00259
00264 QString delegator() const;
00265
00271 Attendee &operator=( const Attendee &attendee );
00272
00273 private:
00274
00275 class Private;
00276 Private *const d;
00277
00278 };
00279
00280 }
00281
00282 #endif