Skip Navigation Links
Skip Navigation LinksHome > ZipArchive > How to Use > API Documentation
ZipArchiveLib::CBzip2Compressor Class Reference

#include <Bzip2Compressor.h>

Inheritance diagram for ZipArchiveLib::CBzip2Compressor:
Inheritance graph

Classes

struct  COptions
 

Public Member Functions

bool CanProcess (WORD uMethod)
 
 CBzip2Compressor (CZipStorage *pStorage)
 
void Compress (const void *pBuffer, DWORD uSize)
 
DWORD Decompress (void *pBuffer, DWORD uSize)
 
void FinishCompression (bool bAfterException)
 
void FinishDecompression (bool bAfterException)
 
const CZipCompressor::COptionsGetOptions () const
 
void InitCompression (int iLevel, CZipFileHeader *pFile, CZipCryptograph *pCryptograph)
 
void InitDecompression (CZipFileHeader *pFile, CZipCryptograph *pCryptograph)
 
- Public Member Functions inherited from ZipArchiveLib::CBaseLibCompressor
 CBaseLibCompressor (CZipStorage *pStorage)
 
- Public Member Functions inherited from CZipCompressor
bool PrepareForSeek (CZipFileHeader *pCurrentFile, COffsetsPair *pPair)
 
void UpdateOptions (const COptionsMap &optionsMap)
 

Protected Member Functions

int ConvertInternalError (int iErr) const
 
bool IsCodeErrorOK (int iErr) const
 
void UpdateOptions (const CZipCompressor::COptions *pOptions)
 
- Protected Member Functions inherited from ZipArchiveLib::CBaseLibCompressor
void CheckForError (int iErr)
 
void EmptyPtrList ()
 
void SetOpaque (void **opaque, const COptions *pOptions)
 
- Protected Member Functions inherited from CZipCompressor
 CZipCompressor (CZipStorage *pStorage)
 
DWORD FillBuffer ()
 
void FlushWriteBuffer ()
 
void InitBuffer ()
 
void ReleaseBuffer ()
 
void ThrowError (int iErr, bool bInternal=false)
 
void UpdateCrc (const void *pBuffer, DWORD uSize)
 
void UpdateFileCrc (const void *pBuffer, DWORD uSize)
 
void WriteBuffer (char *pBuffer, DWORD uSize)
 

Additional Inherited Members

- Public Types inherited from CZipCompressor
enum  CompressionLevel { levelDefault = -1, levelStore = 0, levelFastest = 1, levelBest = 9 }
 
enum  CompressionMethod { methodStore = 0, methodDeflate = 8, methodBzip2 = 12, methodWinZipAes = 99 }
 
enum  CompressorType { typeDeflate = 1, typeBzip2, typePPMd }
 
typedef CZipArray< COffsetsPair * > CZipOffsetsPairsArray
 
- Static Public Member Functions inherited from CZipCompressor
static CZipCompressorCreateCompressor (WORD uMethod, CZipStorage *pStorage)
 
static bool IsCompressionSupported (WORD uCompressionMethod)
 
- Public Attributes inherited from CZipCompressor
ZIP_SIZE_TYPE m_uComprLeft
 The number of bytes left to compress.
 
DWORD m_uCrc32
 The CRC32 file checksum.
 
ZIP_SIZE_TYPE m_uUncomprLeft
 The number of bytes left to decompress.
 
- Static Protected Member Functions inherited from ZipArchiveLib::CBaseLibCompressor
static void * _zipalloc (void *opaque, UINT items, UINT size)
 
static void _zipfree (void *opaque, void *address)
 
- Protected Attributes inherited from ZipArchiveLib::CBaseLibCompressor
bool m_bDecompressionDone
 

Detailed Description

A compressor that uses the bzip2 algorithm.

See Also
Compressing Data

Constructor & Destructor Documentation

ZipArchiveLib::CBzip2Compressor::CBzip2Compressor ( CZipStorage pStorage)

Initializes a new instance of the CBzip2Compressor class.

Parameters
pStorageThe current storage object.

Member Function Documentation

bool ZipArchiveLib::CBzip2Compressor::CanProcess ( WORD  uMethod)
inlinevirtual

Returns the value indicating whether the current CZipCompressor object supports the given compression method.

Parameters
uMethodThe compression method. It can be one of the CompressionMethod values.
Returns
true, if the compression method is supported; false otherwise.

Implements CZipCompressor.

void ZipArchiveLib::CBzip2Compressor::Compress ( const void *  pBuffer,
DWORD  uSize 
)
virtual

Compresses the given data.

Parameters
pBufferThe buffer that holds the data to compress.
uSizeThe size of pBuffer.
See Also
InitCompression
FinishCompression

Implements CZipCompressor.

int ZipArchiveLib::CBzip2Compressor::ConvertInternalError ( int  iErr) const
inlineprotectedvirtual

Converts an internal error code of the compressor to the ZipArchive Library error code.

Parameters
iErrAn internal error code.
Returns
A ZipArchive Library error code.

Reimplemented from CZipCompressor.

DWORD ZipArchiveLib::CBzip2Compressor::Decompress ( void *  pBuffer,
DWORD  uSize 
)
virtual

Decompresses the given data.

Parameters
pBufferThe buffer that receives the decompressed data.
uSizeThe size of pBuffer.
Returns
The number of bytes decompressed and written to pBuffer.
Note
This method should be called repeatedly until it returns 0.
See Also
InitDecompression
FinishDecompression

Implements CZipCompressor.

void ZipArchiveLib::CBzip2Compressor::FinishCompression ( bool  bAfterException)
virtual

The method called at the end of the compression process.

Parameters
bAfterExceptionSet to true, if an exception occurred before or to false otherwise.
See Also
InitCompression
Compress

Reimplemented from CZipCompressor.

void ZipArchiveLib::CBzip2Compressor::FinishDecompression ( bool  bAfterException)
virtual

The method called at the end of the decompression process.

Parameters
bAfterExceptionSet to true, if an exception occurred before or to false otherwise.
See Also
InitDecompression
Decompress

Reimplemented from CZipCompressor.

const CZipCompressor::COptions* ZipArchiveLib::CBzip2Compressor::GetOptions ( ) const
inlinevirtual

Returns the current options of the compressor.

Returns
The current options for the compressor.
See Also
Compressing Data
CZipArchive::SetCompressionOptions
UpdateOptions

Reimplemented from CZipCompressor.

void ZipArchiveLib::CBzip2Compressor::InitCompression ( int  iLevel,
CZipFileHeader pFile,
CZipCryptograph pCryptograph 
)
virtual

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

Parameters
iLevelThe compression level.
pFileThe file being compressed.
pCryptographThe current CZipCryptograph. It can be NULL, if no encryption is used.
See Also
Compress
FinishCompression

Reimplemented from CZipCompressor.

void ZipArchiveLib::CBzip2Compressor::InitDecompression ( CZipFileHeader pFile,
CZipCryptograph pCryptograph 
)
virtual

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

Parameters
pFileThe file being extracted.
pCryptographThe current CZipCryptograph. It can be NULL, if no decryption is used.
See Also
Decompress
FinishDecompression

Reimplemented from ZipArchiveLib::CBaseLibCompressor.

bool ZipArchiveLib::CBzip2Compressor::IsCodeErrorOK ( int  iErr) const
inlineprotectedvirtual

Checks whether iErr value is an error code.

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

Implements ZipArchiveLib::CBaseLibCompressor.

void ZipArchiveLib::CBzip2Compressor::UpdateOptions ( const CZipCompressor::COptions pOptions)
inlineprotectedvirtual

Updates the current options with the new options.

Parameters
pOptionsThe new options to apply.

Reimplemented from CZipCompressor.


The documentation for this class was generated from the following file:
Back To Top Up