CZipDecompressor Class Reference
[Compression]

Search Toolkit Book for CZipDecompressor

#include <zlib.hpp>

Inheritance diagram for CZipDecompressor:

Inheritance graph
[legend]
Collaboration diagram for CZipDecompressor:

Collaboration graph
[legend]
List of all members.

Detailed Description

CZipCompressor -- zlib based decompressor.

Used in CZipStreamCompressor.

See also:
CZipStreamCompressor, CZipCompression, CCompressionProcessor

Definition at line 510 of file zlib.hpp.

Public Member Functions

 CZipDecompressor (int window_bits=kZlibDefaultWbits, TZipFlags flags=0)
 Constructor.
virtual ~CZipDecompressor (void)
 Destructor.

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

bool m_NeedCheckHeader
 TRUE if needed to check to file header.
bool m_IsGZ
 TRUE if data have gzip format.
size_t m_SkipInput
 Number of bytes to skip from input stream.
string m_Cache
 Buffer to cache small pieces of data.


Constructor & Destructor Documentation

CZipDecompressor::CZipDecompressor int  window_bits = kZlibDefaultWbits,
TZipFlags  flags = 0
 

Constructor.

Definition at line 1060 of file zlib.cpp.

References CCompression::SetFlags().

CZipDecompressor::~CZipDecompressor void   )  [virtual]
 

Destructor.

Definition at line 1068 of file zlib.cpp.

References End(), and CCompressionProcessor::IsBusy().


Member Function Documentation

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

Implements CCompressionProcessor.

Definition at line 1354 of file zlib.cpp.

References CCompression::eMode_TransparentRead, ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Success, CZipCompression::FormatErrorMessage(), CCompressionProcessor::GetProcessedSize(), inflateEnd(), CCompression::m_DecompressMode, CCompressionProcessor::SetBusy(), STREAM, and Z_OK.

Referenced by ~CZipDecompressor().

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

Implements CCompressionProcessor.

Definition at line 1335 of file zlib.cpp.

References CCompression::eMode_TransparentRead, CCompressionProcessor::eStatus_EndOfData, CCompressionProcessor::eStatus_Success, CCompression::m_DecompressMode, and Process().

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

Implements CCompressionProcessor.

Definition at line 1324 of file zlib.cpp.

References Process().

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

Implements CCompressionProcessor.

Definition at line 1077 of file zlib.cpp.

References ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Success, CZipCompression::FormatErrorMessage(), CCompressionProcessor::GetProcessedSize(), inflateInit2_(), kMaxHeaderSize, m_Cache, m_IsGZ, m_NeedCheckHeader, m_SkipInput, CZipCompression::m_WindowBits, CCompressionProcessor::Reset(), CCompressionProcessor::SetBusy(), CCompression::SetError(), STREAM, Z_OK, zError(), and ZLIB_VERSION.

CCompressionProcessor::EStatus CZipDecompressor::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 1104 of file zlib.cpp.

References CCompression::eMode_Decompress, CCompression::eMode_TransparentRead, CCompression::eMode_Unknown, ERR_COMPRESS, CCompressionProcessor::eStatus_Error, CCompressionProcessor::eStatus_Overflow, CCompressionProcessor::eStatus_Success, F_ISSET, CZipCompression::fAllowTransparentRead, CZipCompression::fCheckFileHeader, CZipCompression::FormatErrorMessage(), CCompressionProcessor::GetProcessedSize(), CCompressionProcessor::IncreaseProcessedSize(), kMax_UInt, kMaxHeaderSize, LIMIT_SIZE_PARAM_U, m_Cache, CCompression::m_DecompressMode, m_NeedCheckHeader, m_SkipInput, CCompression::SetError(), and Z_STREAM_ERROR.

Referenced by Finish(), and Flush().


Member Data Documentation

string CZipDecompressor::m_Cache [private]
 

Buffer to cache small pieces of data.

Definition at line 539 of file zlib.hpp.

Referenced by Init(), and Process().

bool CZipDecompressor::m_IsGZ [private]
 

TRUE if data have gzip format.

Definition at line 536 of file zlib.hpp.

Referenced by Init().

bool CZipDecompressor::m_NeedCheckHeader [private]
 

TRUE if needed to check to file header.

Definition at line 535 of file zlib.hpp.

Referenced by Init(), and Process().

size_t CZipDecompressor::m_SkipInput [private]
 

Number of bytes to skip from input stream.

Used to process concatenated .gz files.

Definition at line 537 of file zlib.hpp.

Referenced by Init(), and Process().


The documentation for this class was generated from the following files:
Generated on Wed Dec 9 08:12:35 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Wed Dec 09 08:20:12 2009 by modify_doxy.py rev. 173732