resourcecalendar.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KCAL_RESOURCECALENDAR_H
00025 #define KCAL_RESOURCECALENDAR_H
00026
00027 #include <qstring.h>
00028 #include <qdatetime.h>
00029 #include <qptrlist.h>
00030
00031 #include <kconfig.h>
00032
00033 #include "alarm.h"
00034 #include "todo.h"
00035 #include "event.h"
00036 #include "journal.h"
00037
00038 #include <kresources/resource.h>
00039 #include <kresources/manager.h>
00040 #include <kabc/lock.h>
00041
00042 namespace KCal {
00043
00044 class CalFormat;
00045
00053 class ResourceCalendar : public KRES::Resource
00054 {
00055 Q_OBJECT
00056 public:
00057 ResourceCalendar( const KConfig * );
00058 virtual ~ResourceCalendar();
00059
00060 virtual void writeConfig( KConfig* config );
00061
00078 virtual bool load() = 0;
00079
00091 virtual bool save() = 0;
00092
00097 virtual bool isSaving() { return false; }
00098
00102 virtual KABC::Lock *lock() = 0;
00103
00107 virtual bool addIncidence( Incidence * );
00108
00112 virtual bool addEvent( Event *event ) = 0;
00113
00117 virtual void deleteEvent( Event * ) = 0;
00118
00122 virtual Event *event( const QString &uid ) = 0;
00123
00128 virtual Event::List rawEvents() = 0;
00129
00134 virtual Event::List rawEventsForDate( const QDate &date,
00135 bool sorted = false ) = 0;
00136
00140 virtual Event::List rawEventsForDate( const QDateTime &qdt ) = 0;
00141
00146 virtual Event::List rawEvents( const QDate &start, const QDate &end,
00147 bool inclusive = false ) = 0;
00148
00149 signals:
00153 void resourceChanged( ResourceCalendar * );
00158 void resourceLoaded( ResourceCalendar * );
00163 void resourceSaved( ResourceCalendar * );
00164
00165 public:
00169 virtual bool addTodo( Todo *todo ) = 0;
00173 virtual void deleteTodo( Todo * ) = 0;
00179 virtual Todo *todo( const QString &uid ) = 0;
00183 virtual Todo::List rawTodos() = 0;
00187 virtual Todo::List todos( const QDate &date ) = 0;
00188
00189
00193 virtual bool addJournal( Journal * ) = 0;
00194
00198 virtual void deleteJournal( Journal * ) = 0;
00199
00203 virtual Journal *journal( const QDate & ) = 0;
00204
00208 virtual Journal *journal( const QString &uid ) = 0;
00209
00213 virtual Journal::List journals() = 0;
00214
00215
00219 virtual Alarm::List alarms( const QDateTime &from,
00220 const QDateTime &to ) = 0;
00221
00225 virtual Alarm::List alarmsTo( const QDateTime &to ) = 0;
00226
00227
00233 virtual void update( IncidenceBase *incidence ) = 0;
00234
00236 Incidence::List rawIncidences();
00237
00241 virtual void setTimeZoneId( const QString &tzid ) = 0;
00242
00243 private:
00244 class Private;
00245 Private *d;
00246 };
00247
00248 typedef KRES::Manager<ResourceCalendar> CalendarResourceManager;
00249
00250 }
00251
00252 #endif
This file is part of the documentation for libkcal Library Version 3.2.2.