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 53 of file vbaexport.hxx.

Constructor & Destructor Documentation

◆ VBACompressionChunk()

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

Definition at line 85 of file vbaexport.cxx.

References pData.

Member Function Documentation

◆ compressToken()

void VBACompressionChunk::compressToken ( size_t  index,
sal_uInt8 nFlagByte 
)
private

◆ compressTokenSequence()

void VBACompressionChunk::compressTokenSequence ( )
private

◆ CopyToken()

sal_uInt16 VBACompressionChunk::CopyToken ( size_t  nLength,
size_t  nOffset 
)
private

Definition at line 239 of file vbaexport.cxx.

References CopyTokenHelp(), nBitCount, nLength, and nToken.

Referenced by compressToken().

◆ CopyTokenHelp()

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

Definition at line 295 of file vbaexport.cxx.

References mnDecompressedCurrent.

Referenced by CopyToken(), and match().

◆ handleHeader()

sal_uInt16 VBACompressionChunk::handleHeader ( bool  bCompressed)
private

◆ match()

void VBACompressionChunk::match ( size_t &  rLength,
size_t &  rOffset 
)
private

Definition at line 254 of file vbaexport.cxx.

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

Referenced by compressToken().

◆ PackCompressedChunkFlag()

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

Definition at line 163 of file vbaexport.cxx.

Referenced by handleHeader().

◆ PackCompressedChunkSignature()

void VBACompressionChunk::PackCompressedChunkSignature ( sal_uInt16 &  rHeader)
staticprivate

Definition at line 171 of file vbaexport.cxx.

Referenced by handleHeader().

◆ PackCompressedChunkSize()

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

Definition at line 155 of file vbaexport.cxx.

Referenced by handleHeader().

◆ SetFlagBit()

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

Definition at line 231 of file vbaexport.cxx.

References index.

Referenced by compressToken().

◆ write()

void VBACompressionChunk::write ( )

◆ writeRawChunk()

void VBACompressionChunk::writeRawChunk ( )
private

Member Data Documentation

◆ mnChunkSize

std::size_t VBACompressionChunk::mnChunkSize
private

Definition at line 67 of file vbaexport.hxx.

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

◆ mnCompressedCurrent

sal_uInt64 VBACompressionChunk::mnCompressedCurrent
private

Definition at line 70 of file vbaexport.hxx.

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

◆ mnCompressedEnd

sal_uInt64 VBACompressionChunk::mnCompressedEnd
private

Definition at line 73 of file vbaexport.hxx.

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

◆ mnDecompressedCurrent

sal_uInt64 VBACompressionChunk::mnDecompressedCurrent
private

Definition at line 76 of file vbaexport.hxx.

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

◆ mnDecompressedEnd

sal_uInt64 VBACompressionChunk::mnDecompressedEnd
private

Definition at line 79 of file vbaexport.hxx.

Referenced by compressTokenSequence(), and write().

◆ mpCompressedChunkStream

sal_uInt8* VBACompressionChunk::mpCompressedChunkStream
private

Definition at line 64 of file vbaexport.hxx.

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

◆ mpUncompressedData

const sal_uInt8* VBACompressionChunk::mpUncompressedData
private

Definition at line 63 of file vbaexport.hxx.

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

◆ mrCompressedStream

SvStream& VBACompressionChunk::mrCompressedStream
private

Definition at line 62 of file vbaexport.hxx.

Referenced by write(), and writeRawChunk().


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