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 #ifndef RAWSTR4_H
00026 #define RAWSTR4_H
00027
00028 #include <filemgr.h>
00029
00030 #include <defs.h>
00031
00032 class SWDLLEXPORT RawStr4
00033 {
00034 static int instance;
00035 char *path;
00036 long lastoff;
00037
00038 protected:
00039 FileDesc *idxfd;
00040 FileDesc *datfd;
00041 void preptext (char *buf);
00042 void settext (const char *key, const char *buf, long len = 0);
00043 void linkentry (const char *destkey, const char *srckey);
00044 public:
00045 char nl;
00046 RawStr4(const char *ipath, int fileMode = -1);
00047 virtual ~ RawStr4();
00048 void getidxbuf (long ioffset, char **buf);
00049 void getidxbufdat (long ioffset, char **buf);
00050 signed char findoffset (const char *key, long *start, unsigned long *size,
00051 long away = 0, long *idxoff = 0);
00052 void gettext (long start, unsigned long size, char *idxbuf, char *buf);
00053 static signed char createModule (const char *path);
00054 };
00055
00056 #endif