CCompressionProcessor Class Reference
[Compression]

Search Toolkit Book for CCompressionProcessor

#include <compress.hpp>

Inheritance diagram for CCompressionProcessor:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 280 of file compress.hpp.

Public Types

enum  EStatus {
  eStatus_Success, eStatus_EndOfData, eStatus_Error, eStatus_Overflow,
  eStatus_Unknown
}

Public Member Functions

 CCompressionProcessor (void)
virtual ~CCompressionProcessor (void)
bool IsBusy (void) const
unsigned long GetProcessedSize (void)
unsigned long GetOutputSize (void)

Protected Member Functions

virtual EStatus Init (void)=0
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)=0
virtual EStatus Flush (char *out_buf, size_t out_size, size_t *out_avail)=0
virtual EStatus Finish (char *out_buf, size_t out_size, size_t *out_avail)=0
virtual EStatus End (void)=0
void Reset (void)
void SetBusy (bool busy=true)
void IncreaseProcessedSize (unsigned long n_bytes)
void IncreaseOutputSize (unsigned long n_bytes)

Private Attributes

unsigned long m_ProcessedSize
unsigned long m_OutputSize
bool m_Busy

Friends

class CCompressionStream
class CCompressionStreambuf
class CCompressionStreamProcessor


Member Enumeration Documentation

enum CCompressionProcessor::EStatus
 

Enumerator:
eStatus_Success 
eStatus_EndOfData 
eStatus_Error 
eStatus_Overflow 
eStatus_Unknown 

Definition at line 284 of file compress.hpp.


Constructor & Destructor Documentation

CCompressionProcessor::CCompressionProcessor void   ) 
 

Definition at line 168 of file compress.cpp.

References Reset().

CCompressionProcessor::~CCompressionProcessor void   )  [virtual]
 

Definition at line 175 of file compress.cpp.


Member Function Documentation

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

Implemented in CBZip2Compressor, CBZip2Decompressor, CZipCompressor, and CZipDecompressor.

Referenced by CCompressionStreamProcessor::Init(), and CCompressionStreambuf::~CCompressionStreambuf().

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

Implemented in CBZip2Compressor, CBZip2Decompressor, CZipCompressor, and CZipDecompressor.

Referenced by CCompressionStreambuf::Flush().

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

Implemented in CBZip2Compressor, CBZip2Decompressor, CZipCompressor, and CZipDecompressor.

Referenced by CCompressionStreambuf::Flush(), and CCompressionStreambuf::ProcessStreamRead().

unsigned long CCompressionProcessor::GetOutputSize void   )  [inline]
 

Definition at line 480 of file compress.hpp.

References m_OutputSize.

Referenced by CCompressionStream::x_GetOutputSize().

unsigned long CCompressionProcessor::GetProcessedSize void   )  [inline]
 

Definition at line 474 of file compress.hpp.

References m_ProcessedSize.

Referenced by CZipCompressor::Finish(), and CCompressionStream::x_GetProcessedSize().

void CCompressionProcessor::IncreaseOutputSize unsigned long  n_bytes  )  [inline, protected]
 

Definition at line 468 of file compress.hpp.

References m_OutputSize.

Referenced by CZipCompressor::Finish(), CBZip2Compressor::Finish(), CZipCompressor::Flush(), CBZip2Compressor::Flush(), CZipCompressor::Process(), CBZip2Decompressor::Process(), and CBZip2Compressor::Process().

void CCompressionProcessor::IncreaseProcessedSize unsigned long  n_bytes  )  [inline, protected]
 

Definition at line 462 of file compress.hpp.

References m_ProcessedSize.

Referenced by CZipCompressor::Process(), CBZip2Decompressor::Process(), and CBZip2Compressor::Process().

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

Implemented in CBZip2Compressor, CBZip2Decompressor, CZipCompressor, and CZipDecompressor.

Referenced by CCompressionStreamProcessor::Init().

bool CCompressionProcessor::IsBusy void   )  const [inline]
 

Definition at line 446 of file compress.hpp.

References m_Busy.

Referenced by CZipCompressor::Init(), CBZip2Compressor::Init(), CCompressionStreambuf::IsStreamProcessorOkay(), CBZip2Compressor::~CBZip2Compressor(), and CZipDecompressor::~CZipDecompressor().

virtual EStatus CCompressionProcessor::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, pure virtual]
 

Implemented in CBZip2Compressor, CBZip2Decompressor, CZipCompressor, and CZipDecompressor.

Referenced by CCompressionStreambuf::ProcessStreamRead(), and CCompressionStreambuf::ProcessStreamWrite().

void CCompressionProcessor::Reset void   )  [inline, protected]
 

Definition at line 438 of file compress.hpp.

References m_Busy, m_OutputSize, and m_ProcessedSize.

Referenced by CCompressionProcessor(), CZipDecompressor::Init(), CZipCompressor::Init(), CBZip2Decompressor::Init(), and CBZip2Compressor::Init().

void CCompressionProcessor::SetBusy bool  busy = true  )  [inline, protected]
 

Definition at line 452 of file compress.hpp.

References m_Busy, and NCBI_THROW.

Referenced by CZipDecompressor::End(), CZipCompressor::End(), CBZip2Decompressor::End(), CBZip2Compressor::End(), CZipDecompressor::Init(), CZipCompressor::Init(), CBZip2Decompressor::Init(), and CBZip2Compressor::Init().


Friends And Related Function Documentation

friend class CCompressionStream [friend]
 

Definition at line 372 of file compress.hpp.

friend class CCompressionStreambuf [friend]
 

Definition at line 373 of file compress.hpp.

friend class CCompressionStreamProcessor [friend]
 

Definition at line 374 of file compress.hpp.


Member Data Documentation

bool CCompressionProcessor::m_Busy [private]
 

Definition at line 369 of file compress.hpp.

Referenced by IsBusy(), Reset(), and SetBusy().

unsigned long CCompressionProcessor::m_OutputSize [private]
 

Definition at line 368 of file compress.hpp.

Referenced by GetOutputSize(), IncreaseOutputSize(), and Reset().

unsigned long CCompressionProcessor::m_ProcessedSize [private]
 

Definition at line 367 of file compress.hpp.

Referenced by GetProcessedSize(), IncreaseProcessedSize(), and Reset().


The documentation for this class was generated from the following files:
Generated on Mon Aug 4 12:19:32 2008 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Aug 04 16:26:54 2008 by modify_doxy.py rev. 117643