00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
#ifndef KCAL_RESOURCELOCALDIRDIR_H
00022
#define KCAL_RESOURCELOCALDIRDIR_H
00023
00024
#include <qptrlist.h>
00025
#include <qstring.h>
00026
#include <qdatetime.h>
00027
00028
#include <kurl.h>
00029
#include <kconfig.h>
00030
#include <kdirwatch.h>
00031
00032
#include "incidence.h"
00033
#include "calendarlocal.h"
00034
#include "icalformat.h"
00035
00036
#include "resourcecached.h"
00037
00038
namespace KCal {
00039
00045
class ResourceLocalDir :
public ResourceCached
00046 {
00047 Q_OBJECT
00048
00049
friend class ResourceLocalDirConfig;
00050
00051
public:
00052 ResourceLocalDir(
const KConfig * );
00053 ResourceLocalDir(
const QString& fileName );
00054
virtual ~ResourceLocalDir();
00055
00056
void readConfig(
const KConfig *config );
00057
void writeConfig( KConfig* config );
00058
00059 KABC::Lock *lock();
00060
00062
void deleteEvent(
Event *);
00063
00067
void deleteTodo(
Todo * );
00068
00069
void dump() const;
00070
00071 protected slots:
00072
void reload( const
QString & );
00073
00074 protected:
00075
bool doOpen();
00076
void doClose();
00077
00078
bool doLoad();
00079
bool doSave();
00080
00081 private:
00082
void init();
00083
bool deleteIncidenceFile(
Incidence *incidence);
00084
00085 KURL mURL;
00086
ICalFormat mFormat;
00087
00088
bool mOpen;
00089
00090 KDirWatch mDirWatch;
00091
00092 KABC::Lock *mLock;
00093
00094 class Private;
00095 Private *d;
00096 };
00097
00098 }
00099
00100 #endif