CZipCompressor Class Reference
[Compression]

Search Toolkit Book for CZipCompressor

#include <zlib.hpp>

Inheritance diagram for CZipCompressor:

Inheritance graph
[legend]
Collaboration diagram for CZipCompressor:

Collaboration graph
[legend]
List of all members.

Detailed Description

CZipCompressor -- zlib based compressor.

Used in CZipStreamCompressor.

See also:
CZipStreamCompressor, CZipCompression, CCompressionProcessor

Definition at line 461 of file zlib.hpp.

Public Member Functions

 CZipCompressor (ELevel level=eLevel_Default, int window_bits=kZlibDefaultWbits, int mem_level=kZlibDefaultMemLevel, int strategy=kZlibDefaultStrategy, TZipFlags flags=0)
 Constructor.
virtual ~CZipCompressor (void)
 Destructor.
void SetFileInfo (const SFileInfo &info)
 Set information about compressed file.

Protected Member Functions

virtual EStatus Init (void)
virtual EStatus Process (const char *in_buf, size_t in_len, char *out_buf, size_t out_size, size_t *in_avail, size_t *out_avail)
virtual EStatus Flush (char *out_buf, size_t out_size, size_t *out_avail)
virtual EStatus Finish (char *out_buf, size_t out_size, size_t *out_avail)
virtual EStatus End (void)

Private Attributes

unsigned long m_CRC32
 CRC32 for compressed data.
string m_Cache
 Buffer to cache small pieces of data.
bool m_NeedWriteHeader
 Is true if needed to write a file header.
SFileInfo m_FileInfo
 Compressed file info.


Constructor & Destructor Documentation

CZipCompressor::CZipCompressor ELevel  level = eLevel_Default,
int  window_bits = kZlibDefaultWbits,
int  mem_level = kZlibDefaultMemLevel,
int  strategy = kZlibDefaultStrategy,
TZipFlags  flags = 0
 

Constructor.

Definition at line 861 of file zlib.cpp.

References CCompression::SetFlags().

CZipCompressor::~CZipCompressor void   )  [virtual]
 

Destructor.

Definition at line 870 of file zlib.cpp.


Member Function Documentation

CCompressionProcessor::EStatus CZipCompressor::End void   )  [protected, virtual]
 

Implements CCompressionProcessor.

Definition at line 1039 of file zlib.cpp.

References deflateEnd(), ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Success, CZipCompression::FormatErrorMessage(), CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::SetBusy(), CCompression::SetError(), STREAM, Z_OK, and zError().

Referenced by Init().

CCompressionProcessor::EStatus CZipCompressor::Finish char *  out_buf,
size_t  out_size,
size_t *  out_avail
[protected, virtual]
 

Implements CCompressionProcessor.

Definition at line 998 of file zlib.cpp.

References deflate(), ERR_COMPRESS, CCompressionProcessor::eStatus_EndOfData, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Overflow, F_ISSET, CZipCompression::FormatErrorMessage(), CZipCompression::fWriteGZipFormat, CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::IncreaseOutputSize(), LIMIT_SIZE_PARAM_U, m_CRC32, s_WriteGZipFooter(), CCompression::SetError(), STREAM, Z_FINISH, Z_OK, Z_STREAM_END, and zError().

CCompressionProcessor::EStatus CZipCompressor::Flush char *  out_buf,
size_t  out_size,
size_t *  out_avail
[protected, virtual]
 

Implements CCompressionProcessor.

Definition at line 967 of file zlib.cpp.

References deflate(), ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Overflow, CCompressionProcessor::eStatus_Success, CZipCompression::FormatErrorMessage(), CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::IncreaseOutputSize(), LIMIT_SIZE_PARAM_U, CCompression::SetError(), STREAM, Z_BUF_ERROR, Z_OK, Z_SYNC_FLUSH, and zError().

CCompressionProcessor::EStatus CZipCompressor::Init void   )  [protected, virtual]
 

Implements CCompressionProcessor.

Definition at line 881 of file zlib.cpp.

References deflateInit2_(), End(), ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Success, F_ISSET, CZipCompression::FormatErrorMessage(), CZipCompression::fWriteGZipFormat, CCompression::GetLevel(), CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::IsBusy(), m_Cache, m_CRC32, CZipCompression::m_MemLevel, m_NeedWriteHeader, CZipCompression::m_Strategy, CZipCompression::m_WindowBits, CCompressionProcessor::Reset(), CCompressionProcessor::SetBusy(), CCompression::SetError(), STREAM, Z_DEFLATED, Z_OK, zError(), and ZLIB_VERSION.

CCompressionProcessor::EStatus CZipCompressor::Process const char *  in_buf,
size_t  in_len,
char *  out_buf,
size_t  out_size,
size_t *  in_avail,
size_t *  out_avail
[protected, virtual]
 

Implements CCompressionProcessor.

Definition at line 912 of file zlib.cpp.

References crc32(), deflate(), ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Overflow, CCompressionProcessor::eStatus_Success, F_ISSET, CZipCompression::FormatErrorMessage(), CZipCompression::fWriteGZipFormat, CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::IncreaseOutputSize(), CCompressionProcessor::IncreaseProcessedSize(), kMax_UInt, LIMIT_SIZE_PARAM_U, m_CRC32, m_FileInfo, m_NeedWriteHeader, s_WriteGZipHeader(), CCompression::SetError(), STREAM, Z_NO_FLUSH, Z_OK, Z_STREAM_ERROR, and zError().

void CZipCompressor::SetFileInfo const SFileInfo &  info  ) 
 

Set information about compressed file.

Used for compression of gzip files.

Definition at line 875 of file zlib.cpp.

References m_FileInfo.


Member Data Documentation

string CZipCompressor::m_Cache [private]
 

Buffer to cache small pieces of data.

Definition at line 495 of file zlib.hpp.

Referenced by Init().

unsigned long CZipCompressor::m_CRC32 [private]
 

CRC32 for compressed data.

Definition at line 494 of file zlib.hpp.

Referenced by Finish(), Init(), and Process().

SFileInfo CZipCompressor::m_FileInfo [private]
 

Compressed file info.

Definition at line 498 of file zlib.hpp.

Referenced by Process(), and SetFileInfo().

bool CZipCompressor::m_NeedWriteHeader [private]
 

Is true if needed to write a file header.

Definition at line 497 of file zlib.hpp.

Referenced by Init(), and Process().


The documentation for this class was generated from the following files:
Generated on Mon Dec 7 15:27:52 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:24:23 2009 by modify_doxy.py rev. 173732