
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4862 212acab6-be3b-0410-9dea-997c60f758d6
66 lines
1.2 KiB
C++
66 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;
|
|
|
|
};
|