LibreOffice Module oox (master)  1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
VBACompressionChunk Class Reference

#include <vbaexport.hxx>

Collaboration diagram for VBACompressionChunk:
[legend]

Public Member Functions

 VBACompressionChunk (SvStream &rCompressedStream, const sal_uInt8 *pData, std::size_t nChunkSize)
 
void write ()
 

Private Member Functions

void compressTokenSequence ()
 
void compressToken (size_t index, sal_uInt8 &nFlagByte)
 
sal_uInt16 CopyToken (size_t nLength, size_t nOffset)
 
void match (size_t &rLength, size_t &rOffset)
 
void CopyTokenHelp (sal_uInt16 &rLengthMask, sal_uInt16 &rOffsetMask, sal_uInt16 &rBitCount, sal_uInt16 &rMaximumLength)
 
void writeRawChunk ()
 
sal_uInt16 handleHeader (bool bCompressed)
 

Static Private Member Functions

static void PackCompressedChunkSize (size_t nSize, sal_uInt16 &rHeader)
 
static void PackCompressedChunkFlag (bool bCompressed, sal_uInt16 &rHeader)
 
static void PackCompressedChunkSignature (sal_uInt16 &rHeader)
 
static void SetFlagBit (size_t index, bool bVal, sal_uInt8 &rFlag)
 

Private Attributes

SvStreammrCompressedStream
 
const sal_uInt8mpUncompressedData
 
sal_uInt8mpCompressedChunkStream
 
std::size_t mnChunkSize
 
sal_uInt64 mnCompressedCurrent
 
sal_uInt64 mnCompressedEnd
 
sal_uInt64 mnDecompressedCurrent
 
sal_uInt64 mnDecompressedEnd
 

Detailed Description

Definition at line 52 of file vbaexport.hxx.

Constructor & Destructor Documentation

VBACompressionChunk::VBACompressionChunk ( SvStream rCompressedStream,
const sal_uInt8 pData,
std::size_t  nChunkSize 
)

Definition at line 90 of file vbaexport.cxx.

Member Function Documentation

void VBACompressionChunk::compressToken ( size_t  index,
sal_uInt8 nFlagByte 
)
private
void VBACompressionChunk::compressTokenSequence ( )
private
sal_uInt16 VBACompressionChunk::CopyToken ( size_t  nLength,
size_t  nOffset 
)
private

Definition at line 244 of file vbaexport.cxx.

References CopyTokenHelp(), nBitCount, and nToken.

Referenced by compressToken().

void VBACompressionChunk::CopyTokenHelp ( sal_uInt16 &  rLengthMask,
sal_uInt16 &  rOffsetMask,
sal_uInt16 &  rBitCount,
sal_uInt16 &  rMaximumLength 
)
private

Definition at line 300 of file vbaexport.cxx.

References mnDecompressedCurrent.

Referenced by CopyToken(), and match().

sal_uInt16 VBACompressionChunk::handleHeader ( bool  bCompressed)
private
void VBACompressionChunk::match ( size_t &  rLength,
size_t &  rOffset 
)
private

Definition at line 259 of file vbaexport.cxx.

References CopyTokenHelp(), mnChunkSize, mnDecompressedCurrent, mpUncompressedData, and nBitCount.

Referenced by compressToken().

void VBACompressionChunk::PackCompressedChunkFlag ( bool  bCompressed,
sal_uInt16 &  rHeader 
)
staticprivate

Definition at line 168 of file vbaexport.cxx.

Referenced by handleHeader().

void VBACompressionChunk::PackCompressedChunkSignature ( sal_uInt16 &  rHeader)
staticprivate

Definition at line 176 of file vbaexport.cxx.

Referenced by handleHeader().

void VBACompressionChunk::PackCompressedChunkSize ( size_t  nSize,
sal_uInt16 &  rHeader 
)
staticprivate

Definition at line 160 of file vbaexport.cxx.

Referenced by handleHeader().

void VBACompressionChunk::SetFlagBit ( size_t  index,
bool  bVal,
sal_uInt8 rFlag 
)
staticprivate

Definition at line 236 of file vbaexport.cxx.

Referenced by compressToken().

void VBACompressionChunk::write ( )
void VBACompressionChunk::writeRawChunk ( )
private

Member Data Documentation

std::size_t VBACompressionChunk::mnChunkSize
private

Definition at line 66 of file vbaexport.hxx.

Referenced by match(), write(), and writeRawChunk().

sal_uInt64 VBACompressionChunk::mnCompressedCurrent
private

Definition at line 69 of file vbaexport.hxx.

Referenced by compressToken(), compressTokenSequence(), handleHeader(), and write().

sal_uInt64 VBACompressionChunk::mnCompressedEnd
private

Definition at line 72 of file vbaexport.hxx.

Referenced by compressToken(), compressTokenSequence(), and write().

sal_uInt64 VBACompressionChunk::mnDecompressedCurrent
private

Definition at line 75 of file vbaexport.hxx.

Referenced by compressToken(), compressTokenSequence(), CopyTokenHelp(), match(), and write().

sal_uInt64 VBACompressionChunk::mnDecompressedEnd
private

Definition at line 78 of file vbaexport.hxx.

Referenced by compressTokenSequence(), and write().

sal_uInt8* VBACompressionChunk::mpCompressedChunkStream
private

Definition at line 63 of file vbaexport.hxx.

Referenced by compressToken(), compressTokenSequence(), and write().

const sal_uInt8* VBACompressionChunk::mpUncompressedData
private

Definition at line 62 of file vbaexport.hxx.

Referenced by compressToken(), match(), and writeRawChunk().

SvStream& VBACompressionChunk::mrCompressedStream
private

Definition at line 61 of file vbaexport.hxx.

Referenced by write(), and writeRawChunk().


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