67 lines
1.2 KiB
C
67 lines
1.2 KiB
C
![]() |
class IDecompressor {
|
||
|
public:
|
||
|
|
||
|
virtual ~IDecompressor() {};
|
||
|
|
||
|
virtual void init() = 0;
|
||
|
virtual void setNextIn(void *buffer, int size) = 0;
|
||
|
virtual void setNextOut(void *buffer, int size) = 0;
|
||
|
virtual int getAvailOut() = 0;
|
||
|
virtual int decompress() = 0;
|
||
|
|
||
|
};
|
||
|
|
||
|
class lzmaDecompressor : public IDecompressor {
|
||
|
public:
|
||
|
|
||
|
lzmaDecompressor();
|
||
|
virtual ~lzmaDecompressor();
|
||
|
|
||
|
virtual void init();
|
||
|
virtual void setNextIn(void *buffer, int size);
|
||
|
virtual void setNextOut(void *buffer, int size);
|
||
|
virtual int getAvailOut();
|
||
|
virtual int decompress();
|
||
|
|
||
|
private:
|
||
|
|
||
|
void *vs;
|
||
|
|
||
|
};
|
||
|
|
||
|
class bzip2Decompressor : public IDecompressor {
|
||
|
public:
|
||
|
|
||
|
bzip2Decompressor();
|
||
|
virtual ~bzip2Decompressor();
|
||
|
|
||
|
virtual void init();
|
||
|
virtual void setNextIn(void *buffer, int size);
|
||
|
virtual void setNextOut(void *buffer, int size);
|
||
|
virtual int getAvailOut();
|
||
|
virtual int decompress();
|
||
|
|
||
|
private:
|
||
|
|
||
|
void *vs;
|
||
|
|
||
|
};
|
||
|
|
||
|
class zlibDecompressor : public IDecompressor {
|
||
|
public:
|
||
|
|
||
|
zlibDecompressor();
|
||
|
virtual ~zlibDecompressor();
|
||
|
|
||
|
virtual void init();
|
||
|
virtual void setNextIn(void *buffer, int size);
|
||
|
virtual void setNextOut(void *buffer, int size);
|
||
|
virtual int getAvailOut();
|
||
|
virtual int decompress();
|
||
|
|
||
|
private:
|
||
|
|
||
|
void *vs;
|
||
|
|
||
|
};
|