KTNEF Library
ktnefwriter.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
00021
00022
00031 #ifndef KTNEFWRITER_H
00032 #define KTNEFWRITER_H
00033
00034 class QString;
00035 class QVariant;
00036 class QIODevice;
00037 class QDataStream;
00038 class QDateTime;
00039 class QStringList;
00040
00041 #include "ktnef_export.h"
00042
00043 namespace KTnef {
00044
00049 class KTNEF_EXPORT KTNEFWriter {
00050 public:
00054 enum MessageType {
00055 Appointment,
00056 MeetingCancelled,
00057 MeetingRequest,
00058 MeetingNo,
00059 MeetingYes,
00060 MeetingTent
00061 };
00062
00066 enum Method {
00067 PublishNew,
00068 Obsolete,
00069 RequestNew,
00070 RequestUpdate,
00071 Unknown
00072 };
00073
00077 enum Role {
00078 ReqParticipant,
00079 OptParticipant,
00080 NonParticipant,
00081 Chair
00082 };
00083
00087 enum PartStat {
00088 NeedsAction,
00089 Accepted,
00090 Declined,
00091 Tentative,
00092 Delegated,
00093 Completed,
00094 InProcess
00095 };
00096
00100 enum Priority {
00101 High = 2,
00102 Normal = 3,
00103 Low = 1
00104 };
00105
00109 enum AlarmAction {
00110 Display
00111 };
00112
00116 KTNEFWriter();
00117
00121 ~KTNEFWriter();
00122
00130 void addProperty( int tag, int type, const QVariant &value );
00131
00148 bool writeProperty( QDataStream &stream, int &bytes, int tag ) const;
00149
00156 bool writeFile( QIODevice &file ) const;
00157
00164 bool writeFile( QDataStream &stream ) const;
00165
00172 void setSender( const QString &name, const QString &email );
00173
00179 void setMessageType( MessageType methodType );
00180
00186 void setMethod( Method method );
00187
00191 void clearAttendees();
00192
00202 void addAttendee( const QString &name, Role role, PartStat partstat,
00203 bool rsvp, const QString &email );
00204
00212 void setOrganizer( const QString &organizer );
00213
00219 void setDtStart( const QDateTime &dtStart );
00220
00226 void setDtEnd( const QDateTime &dtEnd );
00227
00233 void setLocation( const QString &location );
00234
00240 void setUID( const QString &uid );
00241
00247 void setDtStamp( const QDateTime &dtStamp );
00248
00254 void setCategories( const QStringList &categories );
00255
00261 void setDescription( const QString &description );
00262
00268 void setSummary( const QString &summary );
00269
00275 void setPriority( Priority priority );
00276
00284 void setAlarm( const QString &description, AlarmAction action,
00285 const QDateTime &wakeBefore );
00286
00287 private:
00288
00289 class PrivateData;
00290 PrivateData *const d;
00291
00292
00293 Q_DISABLE_COPY( KTNEFWriter )
00294 };
00295
00296 }
00297
00298 #endif // KTNEFWRITER_H