From c9458897ebbb739d8db83c80e06512d8a612f743 Mon Sep 17 00:00:00 2001 From: danglassey Date: Wed, 14 Aug 2002 09:57:17 +0000 Subject: *** empty log message *** --- include/rawstr4.h | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 include/rawstr4.h (limited to 'include/rawstr4.h') diff --git a/include/rawstr4.h b/include/rawstr4.h new file mode 100644 index 0000000..129ca54 --- /dev/null +++ b/include/rawstr4.h @@ -0,0 +1,55 @@ +/***************************************************************************** + * rawstr.h - code for class 'RawStr'- a module that reads raw text + * files: ot and nt using indexs ??.bks ??.cps ??.vss + * and provides lookup and parsing functions based on + * class StrKey + * + * $Id: rawstr4.h,v 1.7 2002/07/30 10:17:30 scribe Exp $ + * + * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org) + * CrossWire Bible Society + * P. O. Box 2528 + * Tempe, AZ 85280-2528 + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation version 2. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + */ + +#ifndef RAWSTR4_H +#define RAWSTR4_H + +#include + +#include + +class SWDLLEXPORT RawStr4 { + static int instance; // number of instantiated RawStr4 objects or derivitives + char *path; + long lastoff; + +protected: + FileDesc *idxfd; + FileDesc *datfd; + void preptext(char *buf); + void setText(const char *key, const char *buf, long len = -1); + void linkentry(const char *destkey, const char *srckey); +public: + char nl; + RawStr4(const char *ipath, int fileMode = -1); + virtual ~RawStr4(); + void getidxbuf(long ioffset, char **buf); + void getidxbufdat(long ioffset, char **buf); + signed char findoffset(const char *key, long *start, unsigned long *size, + long away = 0, long *idxoff = 0); + void readtext(long start, unsigned long *size, char **idxbuf, char **buf); + static signed char createModule(const char *path); +}; + +#endif -- cgit