ZipArchiveLib::CBaseLibCompressor Class Reference

#include <BaseLibCompressor.h>

Inheritance diagram for ZipArchiveLib::CBaseLibCompressor:

Inheritance graph
[legend]

List of all members.

Classes

struct  COptions

Public Member Functions

 CBaseLibCompressor (CZipStorage *pStorage)
void InitDecompression (CZipFileHeader *pFile, CZipCryptograph *pCryptograph)

Protected Member Functions

void CheckForError (int iErr)
void EmptyPtrList ()
virtual bool IsCodeErrorOK (int iErr) const =0
void SetOpaque (void **opaque, const COptions *pOptions)

Static Protected Member Functions

static void * _zipalloc (void *opaque, UINT items, UINT size)
static void _zipfree (void *opaque, void *address)

Protected Attributes

bool m_bDecompressionDone


Detailed Description

A base class for compressors that use external libraries, such as zlib or bzip2.

Definition at line 39 of file BaseLibCompressor.h.


Constructor & Destructor Documentation

ZipArchiveLib::CBaseLibCompressor::CBaseLibCompressor ( CZipStorage pStorage  )  [inline]

Initializes a new instance of the CBaseLibCompressor class.

Parameters:
pStorage The current storage object.

Definition at line 70 of file BaseLibCompressor.h.


Member Function Documentation

static void* ZipArchiveLib::CBaseLibCompressor::_zipalloc ( void *  opaque,
UINT  items,
UINT  size 
) [inline, static, protected]

A memory allocation method called by an external library.

Parameters:
opaque Internal data.
items The number of blocks to allocate.
size The size of each block to allocate.
Returns:
The address of a newly allocated memory.

Definition at line 102 of file BaseLibCompressor.h.

static void ZipArchiveLib::CBaseLibCompressor::_zipfree ( void *  opaque,
void *  address 
) [inline, static, protected]

A memory deallocation method called by an external library.

Parameters:
opaque Internal data.
address Memory address to free.

Definition at line 122 of file BaseLibCompressor.h.

void ZipArchiveLib::CBaseLibCompressor::CheckForError ( int  iErr  )  [inline, protected]

Checks whether iErr value is an error code and throws an exception if it is.

Parameters:
iErr The error code.

Definition at line 158 of file BaseLibCompressor.h.

void ZipArchiveLib::CBaseLibCompressor::EmptyPtrList (  )  [protected]

Frees the memory allocated by an external library that hasn't been freed due to an error in the library (it should never happen).

void ZipArchiveLib::CBaseLibCompressor::InitDecompression ( CZipFileHeader pFile,
CZipCryptograph pCryptograph 
) [inline, virtual]

The method called when a new file is opened for extraction.

Parameters:
pFile The file being extracted.
pCryptograph The current CZipCryptograph. It can be NULL, if no decryption is used.
See also:
Decompress

FinishDecompression

Reimplemented from CZipCompressor.

Reimplemented in ZipArchiveLib::CDeflateCompressor.

Definition at line 75 of file BaseLibCompressor.h.

virtual bool ZipArchiveLib::CBaseLibCompressor::IsCodeErrorOK ( int  iErr  )  const [protected, pure virtual]

Checks whether iErr value is an error code.

Parameters:
iErr The code to check.
Returns:
true, if iErr is an error code; false otherwise.

Implemented in ZipArchiveLib::CDeflateCompressor.

void ZipArchiveLib::CBaseLibCompressor::SetOpaque ( void **  opaque,
const COptions pOptions 
) [protected]

Sets an address of internal data used in ZipArchive Library memory allocation and deallocation methods.

Parameters:
opaque Receives an address of the internal data.
pOptions The current decompressor options.


Member Data Documentation

Signalizes that the decompression process reached the end of the compressed data. It is internally set by derived classes.

Definition at line 177 of file BaseLibCompressor.h.


The documentation for this class was generated from the following file:

The ZipArchive Library Copyright © 2000 - 2009 Artpol Software - Tadeusz Dracz. Generated at Fri Apr 24 16:46:40 2009.