class CEZCompressor : public CEZZStream |
The CEZCompressor class provides in-memory compression functions, including integrity checks of the uncompressed data. This version of the library supports only one compression method (deflation). Compression can be done in a single step (using CompressL()) if the buffers are large enough (for example if an input file is mmap'ed), or can be done by repeated calls of the DeflateL() function. The source data is compressed to the target buffer (both source and target contained within the buffer manager argument), and various other arguments distinguish the different compression settings.
Note: In this version of the library a windowBits value of 8 is unsupported due to a problem with the window size being set to 256 bytes. Although a value of 8 will be accepted by the CEZCompressor constructors, as it is being changed internally by Zlib from 8 to 9, it will not be possible to use the same value for decompression. This is because the Zlib functions called by the CEZDecompressor constructors do not make the same change internally and as a result a KEZlibErrData is returned when calling InflateL(). It is therefore advised that for this version of the library windowBits of 9 is used in place of 8.
Public Member Functions | |
---|---|
~CEZCompressor() | |
IMPORT_C void | CompressL(TDes8 &, const TDesC8 &, TInt) |
IMPORT_C TBool | DeflateL() |
IMPORT_C CEZCompressor * | NewL(MEZBufferManager &, TInt, TInt, TInt, TStrategy) |
IMPORT_C CEZCompressor * | NewL(MEZBufferManager &, const TDesC8 &, TInt, TInt, TInt, TStrategy) |
IMPORT_C CEZCompressor * | NewLC(MEZBufferManager &, TInt, TInt, TInt, TStrategy) |
IMPORT_C CEZCompressor * | NewLC(MEZBufferManager &, const TDesC8 &, TInt, TInt, TInt, TStrategy) |
IMPORT_C void | ResetL(MEZBufferManager &) |
Private Member Functions | |
---|---|
CEZCompressor(MEZBufferManager *) | |
void | ConstructL(TInt, const TUint8 *, TInt, TInt, TInt, TStrategy) |
void | ConstructL(TInt, TInt, TInt, TStrategy) |
Public Member Enumerations | |
---|---|
enum | anonymous { EDefaultCompression = Z_DEFAULT_COMPRESSION, ENoCompression = Z_NO_COMPRESSION, EBestSpeed = Z_BEST_SPEED, EBestCompression = Z_BEST_COMPRESSION } |
enum | anonymous { EMaxWBits = MAX_WBITS } |
enum | anonymous { EDefMemLevel = MAX_MEM_LEVEL } |
enum | anonymous { EDeflateInitlialiserError = EUnexpected + 1, EDeflateTerminated } |
enum | TStrategy { EDefaultStrategy = Z_DEFAULT_STRATEGY, EFiltered = Z_FILTERED, EHuffmanOnly = Z_HUFFMAN_ONLY } |
Private Member Enumerations | |
---|---|
enum | TDeflationState { ENoFlush, EFinish, EFinalize, ETerminated } |
Inherited Enumerations | |
---|---|
CEZZStream:@176 |
Private Attributes | |
---|---|
MEZBufferManager * | iBufferInit |
TDeflationState | iDeflationState |
Inherited Attributes | |
---|---|
CEZZStream::iOutputBufferLength | |
CEZZStream::iOutputPointer | |
CEZZStream::iStream |
CEZCompressor | ( | MEZBufferManager * | aInit | ) | [private] |
MEZBufferManager * aInit |
IMPORT_C void | CompressL | ( | TDes8 & | aDestination, |
const TDesC8 & | aSource, | |||
TInt | aLevel = EDefaultCompression | |||
) | [static] |
void | ConstructL | ( | TInt | aLevel, |
const TUint8 * | aDictionary, | |||
TInt | aLength, | |||
TInt | aWindowBits, | |||
TInt | aMemLevel, | |||
TStrategy | aStrategy | |||
) | [private] |
void | ConstructL | ( | TInt | aLevel, |
TInt | aWindowBits, | |||
TInt | aMemLevel, | |||
TStrategy | aStrategy | |||
) | [private] |
IMPORT_C CEZCompressor * | NewL | ( | MEZBufferManager & | aInit, |
TInt | aLevel = EDefaultCompression, | |||
TInt | aWindowBits = EMaxWBits, | |||
TInt | aMemLevel = EDefMemLevel, | |||
TStrategy | aStrategy = EDefaultStrategy | |||
) | [static] |
MEZBufferManager & aInit | |
TInt aLevel = EDefaultCompression | |
TInt aWindowBits = EMaxWBits | |
TInt aMemLevel = EDefMemLevel | |
TStrategy aStrategy = EDefaultStrategy |
IMPORT_C CEZCompressor * | NewL | ( | MEZBufferManager & | aInit, |
const TDesC8 & | aDictionary, | |||
TInt | aLevel = EDefaultCompression, | |||
TInt | aWindowBits = EMaxWBits, | |||
TInt | aMemLevel = EDefMemLevel, | |||
TStrategy | aStrategy = EDefaultStrategy | |||
) | [static] |
IMPORT_C CEZCompressor * | NewLC | ( | MEZBufferManager & | aInit, |
TInt | aLevel = EDefaultCompression, | |||
TInt | aWindowBits = EMaxWBits, | |||
TInt | aMemLevel = EDefMemLevel, | |||
TStrategy | aStrategy = EDefaultStrategy | |||
) | [static] |
MEZBufferManager & aInit | |
TInt aLevel = EDefaultCompression | |
TInt aWindowBits = EMaxWBits | |
TInt aMemLevel = EDefMemLevel | |
TStrategy aStrategy = EDefaultStrategy |
IMPORT_C CEZCompressor * | NewLC | ( | MEZBufferManager & | aInit, |
const TDesC8 & | aDictionary, | |||
TInt | aLevel = EDefaultCompression, | |||
TInt | aWindowBits = EMaxWBits, | |||
TInt | aMemLevel = EDefMemLevel, | |||
TStrategy | aStrategy = EDefaultStrategy | |||
) | [static] |
IMPORT_C void | ResetL | ( | MEZBufferManager & | aInit | ) |
MEZBufferManager & aInit |
Compression levels
EDefaultCompression = Z_DEFAULT_COMPRESSION | |
ENoCompression = Z_NO_COMPRESSION | |
EBestSpeed = Z_BEST_SPEED | |
EBestCompression = Z_BEST_COMPRESSION |
Window Bits - the base two logarithm of the window size (the size of the history buffer)
EMaxWBits = MAX_WBITS |
Memory level - specifies how much memory should be allocated for the internal compression state
EDefMemLevel = MAX_MEM_LEVEL |
Compression panic values
EDeflateInitlialiserError = EUnexpected + 1 | |
EDeflateTerminated |
Compression strategy - used to tune the compression algorithm
EDefaultStrategy = Z_DEFAULT_STRATEGY |
Use for normal data |
EFiltered = Z_FILTERED |
Use for data produced by a filter (or predictor) |
EHuffmanOnly = Z_HUFFMAN_ONLY |
Force Huffman encoding only (no string match) |