2002-08-02 10:01:35 +00:00
|
|
|
#ifndef __COMPRESSOR_H__
|
|
|
|
#define __COMPRESSOR_H__
|
|
|
|
|
|
|
|
#define C_OK 0
|
2004-10-10 20:58:33 +00:00
|
|
|
#define C_FINISH true
|
2002-08-02 10:01:35 +00:00
|
|
|
|
|
|
|
class ICompressor {
|
|
|
|
public:
|
|
|
|
virtual int Init(int level) = 0;
|
|
|
|
virtual int End() = 0;
|
2004-10-10 20:58:33 +00:00
|
|
|
virtual int Compress(bool finish) = 0;
|
2002-08-02 10:01:35 +00:00
|
|
|
|
|
|
|
virtual void SetNextIn(char *in, unsigned int size) = 0;
|
|
|
|
virtual void SetNextOut(char *out, unsigned int size) = 0;
|
|
|
|
|
|
|
|
virtual char* GetNextOut() = 0;
|
|
|
|
|
|
|
|
virtual unsigned int GetAvailIn() = 0;
|
|
|
|
virtual unsigned int GetAvailOut() = 0;
|
2003-02-07 23:04:25 +00:00
|
|
|
|
2003-11-24 00:08:58 +00:00
|
|
|
virtual const char* GetName() = 0;
|
2004-05-08 17:40:29 +00:00
|
|
|
|
|
|
|
virtual const char* GetErrStr(int err) = 0;
|
2002-08-02 10:01:35 +00:00
|
|
|
};
|
|
|
|
|
2004-03-12 20:43:54 +00:00
|
|
|
#endif
|