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
bool load();
00060
00061
bool save();
00062
00063 KABC::Lock *lock();
00064
00066
void deleteEvent(
Event *);
00067
00071
void deleteTodo(
Todo * );
00072
00073
void dump() const;
00074
00075 protected slots:
00076
void reload( const QString & );
00077
00078 protected:
00079
bool doOpen();
00080
00082
void doClose();
00083
00087 virtual
void update(
IncidenceBase *incidence);
00088
00089 private:
00090
void init();
00091
bool deleteIncidenceFile(
Incidence *incidence);
00092
00093 KURL mURL;
00094
ICalFormat mFormat;
00095
00096
bool mOpen;
00097
00098 KDirWatch mDirWatch;
00099
00100 KABC::Lock *mLock;
00101
00102 class Private;
00103 Private *d;
00104 };
00105
00106 }
00107
00108 #endif