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