00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef OPIMNOTIFY_H
00031 #define OPIMNOTIFY_H
00032
00033
00034 #include <qdatetime.h>
00035 #include <qvaluelist.h>
00036
00037 namespace Opie
00038 {
00047
00048
00049
00050
00051
00052 class OPimNotify
00053 {
00054
00055 public:
00056 typedef QValueList<OPimNotify> ValueList;
00057 OPimNotify( const QDateTime& start = QDateTime(), int duration = 0, int parent = 0 );
00058 OPimNotify( const OPimNotify& );
00059 virtual ~OPimNotify();
00060
00061 OPimNotify &operator=( const OPimNotify& );
00062 bool operator==( const OPimNotify& );
00063
00064 virtual QString type() const = 0;
00065
00067 QDateTime dateTime() const;
00068 QString service() const;
00069
00073 int parent() const;
00074
00078 int duration() const;
00079
00083 QDateTime endTime() const;
00084
00085 void setDateTime( const QDateTime& );
00086 void setDuration( int dur );
00087 void setParent( int uid );
00088 void setService( const QString& );
00089
00090
00091 private:
00092 inline void copyIntern();
00093 void deref();
00094 struct Data;
00095 Data* data;
00096
00097
00098 class NotifyPrivate;
00099 NotifyPrivate* d;
00100
00101 };
00107 class OPimAlarm : public OPimNotify
00108 {
00109 public:
00110 enum Sound{Loud = 1, Silent = 0, Custom = 2 };
00111 OPimAlarm( int sound = Silent, const QDateTime& start = QDateTime(), int duration = 0, int parent = 0 );
00112 OPimAlarm( const OPimAlarm& );
00113 ~OPimAlarm();
00114
00115 OPimAlarm &operator=( const OPimAlarm& );
00116 bool operator==( const OPimAlarm& );
00117 QString type() const;
00118
00119 int sound() const;
00120 QString file() const;
00121
00122 void setSound( int );
00123
00124 void setFile( const QString& sound );
00125
00126 private:
00127 void deref();
00128 void copyIntern();
00129 struct Data;
00130 Data * data;
00131
00132 class Private;
00133 Private* d;
00134
00135 };
00136
00143 class OPimReminder : public OPimNotify
00144 {
00145 public:
00153 OPimReminder( int uid = 0, const QDateTime& start = QDateTime(),
00154 int duration = 0, int parent = 0 );
00155 OPimReminder( const OPimReminder& );
00156 OPimReminder &operator=( const OPimReminder& );
00157
00158 QString type() const;
00159
00160 bool operator==( const OPimReminder& );
00161
00166 int recordUid() const;
00167 void setRecordUid( int uid );
00168
00169 private:
00170 void deref();
00171 void copyIntern();
00172
00173 struct Data;
00174 Data* data;
00175 class Private;
00176 Private *d;
00177 };
00178
00179 }
00180
00181 #endif