incidencebase.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef KCAL_INCIDENCEBASE_H
00022 #define KCAL_INCIDENCEBASE_H
00023
00024 #include <qdatetime.h>
00025 #include <qstringlist.h>
00026 #include <qvaluelist.h>
00027 #include <qptrlist.h>
00028
00029 #include "customproperties.h"
00030 #include "attendee.h"
00031
00032 namespace KCal {
00033
00034 typedef QValueList<QDate> DateList;
00035 typedef QValueList<QDateTime> DateTimeList;
00036
00040 class IncidenceBase : public CustomProperties
00041 {
00042 public:
00043 class Observer {
00044 public:
00045 virtual void incidenceUpdated( IncidenceBase * ) = 0;
00046 };
00047
00048 IncidenceBase();
00049 IncidenceBase( const IncidenceBase & );
00050 virtual ~IncidenceBase();
00051 bool operator==( const IncidenceBase & ) const;
00052
00053 virtual QCString type() const = 0;
00054
00056 void setUid( const QString & );
00058 QString uid() const;
00059
00061 void setLastModified( const QDateTime &lm );
00063 QDateTime lastModified() const;
00064
00066 void setOrganizer( const QString &o );
00067 QString organizer() const;
00068
00070 virtual void setReadOnly( bool );
00072 bool isReadOnly() const { return mReadOnly; }
00073
00075 virtual void setDtStart( const QDateTime &dtStart );
00077 QDateTime dtStart() const;
00080 QString dtStartTimeStr() const;
00083 QString dtStartDateStr( bool shortfmt = true ) const;
00086 QString dtStartStr() const;
00087
00088 virtual void setDuration( int seconds );
00089 int duration() const;
00090 void setHasDuration( bool );
00091 bool hasDuration() const;
00092
00095 bool doesFloat() const;
00097 void setFloats( bool f );
00098
00105 void addAttendee( Attendee *a, bool doUpdate = true );
00109 void clearAttendees();
00113 const Attendee::List &attendees() const { return mAttendees; };
00117 int attendeeCount() const { return mAttendees.count(); };
00121 Attendee *attendeeByMail( const QString & );
00125 Attendee *attendeeByMails( const QStringList &,
00126 const QString &email = QString::null );
00127
00131 enum { SYNCNONE = 0, SYNCMOD = 1, SYNCDEL = 3 };
00135 void setSyncStatus( int status );
00139 int syncStatus() const;
00140
00144 void setPilotId( int id );
00148 int pilotId() const;
00149
00154 void registerObserver( Observer * );
00158 void unRegisterObserver( Observer * );
00163 void updated();
00164
00165 protected:
00166 bool mReadOnly;
00167
00168 private:
00169
00170 QDateTime mDtStart;
00171 QString mOrganizer;
00172 QString mUid;
00173 QDateTime mLastModified;
00174 Attendee::List mAttendees;
00175
00176 bool mFloats;
00177
00178 int mDuration;
00179 bool mHasDuration;
00180
00181
00182 int mPilotId;
00183 int mSyncStatus;
00184
00185 QPtrList<Observer> mObservers;
00186
00187 class Private;
00188 Private *d;
00189 };
00190
00191 }
00192
00193 #endif
This file is part of the documentation for libkcal Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Mar 6 17:18:03 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003