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 {
00051 public:
00055 enum MessageType {
00056 Appointment,
00057 MeetingCancelled,
00058 MeetingRequest,
00059 MeetingNo,
00060 MeetingYes,
00061 MeetingTent
00062 };
00063
00067 enum Method {
00068 PublishNew,
00069 Obsolete,
00070 RequestNew,
00071 RequestUpdate,
00072 Unknown
00073 };
00074
00078 enum Role {
00079 ReqParticipant,
00080 OptParticipant,
00081 NonParticipant,
00082 Chair
00083 };
00084
00088 enum PartStat {
00089 NeedsAction,
00090 Accepted,
00091 Declined,
00092 Tentative,
00093 Delegated,
00094 Completed,
00095 InProcess
00096 };
00097
00101 enum Priority {
00102 High = 2,
00103 Normal = 3,
00104 Low = 1
00105 };
00106
00110 enum AlarmAction {
00111 Display
00112 };
00113
00117 KTNEFWriter();
00118
00122 ~KTNEFWriter();
00123
00131 void addProperty( int tag, int type, const QVariant &value );
00132
00149 bool writeProperty( QDataStream &stream, int &bytes, int tag ) const;
00150
00157 bool writeFile( QIODevice &file ) const;
00158
00165 bool writeFile( QDataStream &stream ) const;
00166
00173 void setSender( const QString &name, const QString &email );
00174
00180 void setMessageType( MessageType methodType );
00181
00187 void setMethod( Method method );
00188
00192 void clearAttendees();
00193
00203 void addAttendee( const QString &name, Role role, PartStat partstat,
00204 bool rsvp, const QString &email );
00205
00213 void setOrganizer( const QString &organizer );
00214
00220 void setDtStart( const QDateTime &dtStart );
00221
00227 void setDtEnd( const QDateTime &dtEnd );
00228
00234 void setLocation( const QString &location );
00235
00241 void setUID( const QString &uid );
00242
00248 void setDtStamp( const QDateTime &dtStamp );
00249
00255 void setCategories( const QStringList &categories );
00256
00262 void setDescription( const QString &description );
00263
00269 void setSummary( const QString &summary );
00270
00276 void setPriority( Priority priority );
00277
00285 void setAlarm( const QString &description, AlarmAction action,
00286 const QDateTime &wakeBefore );
00287
00288 private:
00289
00290 class PrivateData;
00291 PrivateData *const d;
00292
00293
00294 Q_DISABLE_COPY( KTNEFWriter )
00295 };
00296
00297 }
00298
00299 #endif // KTNEFWRITER_H