Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

swcomprs.h

00001 /******************************************************************************
00002  *  swcomprs.h   - definition of Class SWCompress used for data compression
00003  *
00004  * $Id: swcomprs_8h-source.html,v 1.7 2002/06/20 20:23:10 mgruner Exp $
00005  *
00006  * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
00007  *      CrossWire Bible Society
00008  *      P. O. Box 2528
00009  *      Tempe, AZ  85280-2528
00010  *
00011  * This program is free software; you can redistribute it and/or modify it
00012  * under the terms of the GNU General Public License as published by the
00013  * Free Software Foundation version 2.
00014  *
00015  * This program is distributed in the hope that it will be useful, but
00016  * WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * General Public License for more details.
00019  *
00020  */
00021 
00022 #ifndef SWCOMPRS_H
00023 #define SWCOMPRS_H
00024 
00025 #include <defs.h>
00026 
00027 class SWDLLEXPORT SWCompress
00028 {
00029   void Init ();
00030   void cycleStream ();
00031 protected:
00032   char *buf, *zbuf, direct;     // 0 - encode; 1 - decode
00033   unsigned long zlen, zpos, pos, slen;
00034 public:
00035     SWCompress ();
00036     virtual ~ SWCompress ();
00037   virtual char *Buf (const char *buf = 0, unsigned long *len = 0);
00038   virtual char *zBuf (unsigned long *len, char *buf = 0);
00039   virtual unsigned long GetChars (char *buf, unsigned long len);        // override for other than buffer compression
00040   virtual unsigned long SendChars (char *buf, unsigned long len);       // override for other than buffer compression
00041   virtual void Encode (void);   // override to provide compression algorythm
00042   virtual void Decode (void);   // override to provide compression algorythm
00043 };
00044 
00045 #endif

Generated on Thu Jun 20 22:13:00 2002 for The Sword Project by doxygen1.2.15