10#ifndef INCLUDED_OOX_OLE_VBAEXPORT_HXX
11#define INCLUDED_OOX_OLE_VBAEXPORT_HXX
15#include <com/sun/star/uno/Reference.hxx>
17#include <rtl/ustring.hxx>
25 namespace container {
class XNameContainer; }
26 namespace frame {
class XModel; }
27 namespace script {
class XLibraryContainer; }
37 bool containsVBAProject();
41 css::uno::Reference<css::container::XNameContainer>
42 getBasicLibrary()
const;
44 css::uno::Reference<css::script::XLibraryContainer>
45 getLibraryContainer()
const;
47 OUString getProjectName()
const;
48 rtl_TextEncoding getVBATextEncoding()
const;
50 css::uno::Reference<css::frame::XModel>
mxModel;
93 sal_uInt16
CopyToken(
size_t nLength,
size_t nOffset);
95 void match(
size_t& rLength,
size_t& rOffset);
97 void CopyTokenHelp(sal_uInt16& rLengthMask, sal_uInt16& rOffsetMask,
98 sal_uInt16& rBitCount, sal_uInt16& rMaximumLength);
125 rtl_TextEncoding eTextEncoding);
129 static sal_uInt8 calculateProjKey(
const OUString& rString);
146 void writeVersionEnc();
147 void writeProjKeyEnc();
148 void writeIgnoredEnc();
149 void writeDataLengthEnc();
void compressToken(size_t index, sal_uInt8 &nFlagByte)
sal_uInt64 mnDecompressedEnd
VBACompressionChunk(SvStream &rCompressedStream, const sal_uInt8 *pData, std::size_t nChunkSize)
void CopyTokenHelp(sal_uInt16 &rLengthMask, sal_uInt16 &rOffsetMask, sal_uInt16 &rBitCount, sal_uInt16 &rMaximumLength)
static void PackCompressedChunkSignature(sal_uInt16 &rHeader)
sal_uInt16 CopyToken(size_t nLength, size_t nOffset)
const sal_uInt8 * mpUncompressedData
void match(size_t &rLength, size_t &rOffset)
SvStream & mrCompressedStream
static void SetFlagBit(size_t index, bool bVal, sal_uInt8 &rFlag)
sal_uInt64 mnCompressedEnd
sal_uInt16 handleHeader(bool bCompressed)
sal_uInt64 mnCompressedCurrent
sal_uInt8 * mpCompressedChunkStream
static void PackCompressedChunkFlag(bool bCompressed, sal_uInt16 &rHeader)
static void PackCompressedChunkSize(size_t nSize, sal_uInt16 &rHeader)
void compressTokenSequence()
sal_uInt64 mnDecompressedCurrent
SvStream & mrCompressedStream
SvMemoryStream & mrUncompressedStream
SvStream & mrEncryptedData
sal_uInt8 mnEncryptedByte2
sal_uInt8 mnEncryptedByte1
sal_uInt8 mnIgnoredLength
const sal_uInt16 mnLength
rtl_TextEncoding meTextEncoding
sal_uInt8 mnUnencryptedByte1
css::uno::Reference< css::frame::XModel > mxModel
std::unique_ptr< sal_Int32[]> pData
Reference< XModel > xModel