mirror of
https://github.com/uroni/urbackup_backend.git
synced 2025-10-26 11:36:50 +00:00
39 lines
983 B
C++
39 lines
983 B
C++
#pragma once
|
|
#include <zlib.h>
|
|
#include "CompressEncrypt.h"
|
|
|
|
class CdZlibCompressor : public ICompressor
|
|
{
|
|
public:
|
|
CdZlibCompressor(int compression_level, unsigned int compression_id);
|
|
~CdZlibCompressor();
|
|
|
|
// Inherited via ICompressor
|
|
virtual void setOut(char * next_out, size_t avail_out);
|
|
virtual void setIn(char * next_in, size_t avail_in);
|
|
virtual size_t getAvailOut();
|
|
virtual size_t getAvailIn();
|
|
virtual CompressResult compress(bool finish, int& code);
|
|
virtual unsigned int getId();
|
|
|
|
private:
|
|
z_stream strm;
|
|
unsigned int compression_id;
|
|
};
|
|
|
|
class CdZlibDecompressor : public IDecompressor
|
|
{
|
|
public:
|
|
CdZlibDecompressor();
|
|
~CdZlibDecompressor();
|
|
|
|
// Inherited via ICompressor
|
|
virtual void setOut(char * next_out, size_t avail_out);
|
|
virtual void setIn(char * next_in, size_t avail_in);
|
|
virtual size_t getAvailOut();
|
|
virtual size_t getAvailIn();
|
|
virtual DecompressResult decompress(int& code);
|
|
|
|
private:
|
|
z_stream strm;
|
|
}; |