pilotLocalDatabase.h
00001 #ifndef _KPILOT_PILOTLOCALDATABASE_H
00002 #define _KPILOT_PILOTLOCALDATABASE_H
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
00031
00032
00033 #include <time.h>
00034
00035 #ifndef _PILOT_MACROS_H_
00036 #include <pi-macros.h>
00037 #endif
00038
00039 #ifndef _KPILOT_PILOTDATABASE_H
00040 #include "pilotDatabase.h"
00041 #endif
00042
00043 class PilotLocalDatabase : public PilotDatabase
00044 {
00045 public:
00056 PilotLocalDatabase( const QString& path,
00057 const QString& name, bool useDefaultPath=true,
00058 QObject *p=0L,const char *n=0L);
00059 PilotLocalDatabase(const QString &name,
00060 QObject *p=0L,const char *n=0L);
00061
00062
00063 virtual ~PilotLocalDatabase();
00064
00066 virtual bool createDatabase(long creator=0, long type=0, int cardno=0, int flags=0, int version=0);
00068 virtual int deleteDatabase();
00069
00070 virtual int readAppBlock(unsigned char* buffer, int maxLen);
00071
00072 virtual int writeAppBlock(unsigned char* buffer, int len);
00073
00074 virtual int recordCount();
00075
00076 virtual QValueList<recordid_t> idList();
00077
00078 virtual PilotRecord* readRecordById(recordid_t id);
00079
00080 virtual PilotRecord* readRecordByIndex(int index);
00081
00082 virtual PilotRecord* readNextRecInCategory(int category);
00088 virtual PilotRecord* readNextModifiedRec(int *ind=NULL);
00089
00090 virtual recordid_t writeRecord(PilotRecord* newRecord);
00096 virtual int deleteRecord(recordid_t id, bool all=false);
00097
00098 virtual int resetSyncFlags();
00099
00100 virtual int resetDBIndex();
00101
00102 virtual int cleanup();
00103
00104
00105
00106 virtual recordid_t writeID(PilotRecord* rec);
00107 QString getDBName() const { return fDBName; }
00108
00114 virtual QString dbPathName() const;
00115
00119 int appInfoSize() const
00120 { if (isDBOpen()) return fAppLen; else return -1; } ;
00121 char *appInfo() { return fAppInfo; } ;
00122
00123 protected:
00124
00125 void fixupDBName();
00126 virtual void openDatabase();
00127 virtual void closeDatabase();
00128
00129 private:
00130 struct DBInfo fDBInfo;
00131 QString fPathName,fDBName;
00132 char* fAppInfo;
00133 int fAppLen;
00134 int fNumRecords;
00135 int fCurrentRecord;
00136 PilotRecord* fRecords[10000];
00137 int fPendingRec;
00138
00139
00145 public:
00146 static void setDBPath(const QString &);
00147 static const QString *getDBPath() { return fPathBase; } ;
00148 private:
00149 static QString *fPathBase;
00150 };
00151
00152 #endif
This file is part of the documentation for kdelibs Version 3.1.4.