/* * This file is a part of CMSLU -- Content Management System like Unix * and is not publicly distributed * * Copyright (c) 2008-2009, Tomasz Sowa * All rights reserved. * */ #ifndef headerfilecmslucorecompress #define headerfilecmslucorecompress #include #include #include class Compress { public: Compress(); ~Compress(); int Init(int compress_level = 6); int CompressAndPut(const char * source, size_t source_len, FCGX_Stream * out_stream, int level = 6); size_t last_out_size; private: bool AllocateMemory(); int MakeCompress(const char * source, size_t source_len, FCGX_Stream * out_stream); size_t buffer_max_len; char * buffer; z_stream strm; bool ready_for_compress; }; #endif