20#ifndef INCLUDED_OOX_DUMP_OLEDUMPER_HXX
21#define INCLUDED_OOX_DUMP_OLEDUMPER_HXX
28#include <com/sun/star/uno/Reference.hxx>
32#include <rtl/textenc.h>
33#include <rtl/ustring.hxx>
39 namespace io {
class XInputStream; }
108 void dumpSection(
const OUString& rGuid, sal_uInt32 nStartPos );
110 void dumpProperty( sal_Int32 nPropId, sal_uInt32 nStartPos );
149 const css::uno::Reference< css::io::XInputStream >& rxStrm,
150 const OUString& rStrgPath,
151 const OUString& rStrmName,
152 const OUString& rSysFileName )
override;
161 sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16
nVersion,
162 bool bCommonPart,
bool bComplexPart );
170 bool dumpComCtlHeader( sal_uInt32 nExpId, sal_uInt16 nExpMajor = SAL_MAX_UINT16, sal_uInt16 nExpMinor = SAL_MAX_UINT16 );
283 const OUString& rSysFileName,
284 const String& rPropNameList,
285 bool b64BitPropFlags =
false );
288 const String& rPropNameList,
289 bool b64BitPropFlags =
false );
299 template<
typename Type >
306 template<
typename Type >
308 template<
typename Type >
312 sal_Int32
dumpHmmProperty() {
return dumpDecProperty< sal_Int32 >( 0,
"CONV-HMM-TO-CM" ); }
314 template<
typename Type >
316 template<
typename Type >
325 sal_uInt32
dumpFlagsProperty( sal_uInt32 nDefault,
const char* pcNameList =
"AX-FLAGS" );
371 std::vector< StreamProperty >
383template<
typename Type >
389template<
typename Type >
394 alignInput< Type >();
400template<
typename Type >
405 alignInput< Type >();
522 const OUString& rSysFileName,
523 const OUString* pProgId =
nullptr );
527 const OUString* pProgId =
nullptr );
601 const OUString& rSysFileName,
626 const OUString& rSysFileName,
667 const OUString& rSysFileName,
684 const OUString& rSysPath );
688 const css::uno::Reference< css::io::XInputStream >& rxStrm,
689 const OUString& rStrgPath,
690 const OUString& rStrmName,
691 const OUString& rSysFileName )
override;
695 const OUString& rStrgPath,
696 const OUString& rSysPath )
override;
726 const OUString& rSysFileName,
753 const OUString& rSysFileName,
755 sal_Int32 nStrmOffset );
772 const OUString& rSysPath,
777 const css::uno::Reference< css::io::XInputStream >& rxStrm,
778 const OUString& rStrgPath,
779 const OUString& rStrmName,
780 const OUString& rSysFileName )
override;
793 const OUString& rSysPath,
798 const css::uno::Reference< css::io::XInputStream >& rxStrm,
799 const OUString& rStrgPath,
800 const OUString& rStrmName,
801 const OUString& rSysFileName )
override;
815 const css::uno::Reference< css::io::XInputStream >& rxStrm,
816 const OUString& rStrgPath,
817 const OUString& rStrmName,
818 const OUString& rSysFileName )
override;
822 const OUString& rStrgPath,
823 const OUString& rSysPath )
override;
836 const OUString& rSysPath );
841 const OUString& rSysFileName )
override;
virtual void implDumpBaseStream(const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName) override
ActiveXStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
virtual void implDumpShortProperties() override
AxCFontNewObject(const InputObjectBase &rParent)
virtual void implDumpShortProperties() override
AxColumnInfoObject(const InputObjectBase &rParent)
AxImageObject(const InputObjectBase &rParent)
virtual void implDumpShortProperties() override
virtual void implDumpShortProperties() override
AxLabelObject(const InputObjectBase &rParent)
virtual void implDumpExtended() override
virtual void implDumpExtended() override
sal_uInt16 mnColInfoCount
AxMorphControlObject(const InputObjectBase &rParent)
virtual void implDumpShortProperties() override
Type dumpDecProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
sal_Int64 mnPropertiesEnd
sal_uInt32 dumpFlagsProperty(sal_uInt32 nDefault, const char *pcNameList="AX-FLAGS")
void dumpShortProperties()
void dumpStringArrayProperty()
sal_Int64 mnPropertiesStart
sal_uInt32 dumpColorProperty(sal_uInt32 nDefault)
sal_Int32 dumpHmmProperty()
std::vector< StreamProperty > maStreamProps
void construct(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, const String &rPropNameList, bool b64BitPropFlags=false)
LargePropertyVector maLargeProps
void dumpStringProperty(OUString *pValue=nullptr)
OUString dumpString(const String &rName, sal_uInt32 nSize, bool bArray)
Type dumpHexProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
void dumpGuidProperty(OUString *pValue=nullptr)
sal_uInt8 dumpImageAlignProperty()
sal_uInt8 dumpMousePtrProperty()
void constructAxPropObj(const String &rPropNameList, bool b64BitPropFlags)
void dumpToPosition(sal_Int64 nPos)
void dumpStreamProperty()
void dumpLargeProperties()
OUString getPropertyName() const
virtual void implDumpShortProperties()
sal_uInt32 dumpEnabledProperty()
Type dumpBorderStyleProperty(Type nDefault)
bool ensureValid(bool bCondition=true)
void dumpUnknownProperty()
sal_Unicode dumpUnicodeProperty()
sal_uInt8 dumpImageSizeModeProperty()
sal_Int32 dumpOrientationProperty()
::std::vector< LargeProperty > LargePropertyVector
virtual bool implIsValid() const override
virtual void implDump() override
Type dumpSpecialEffectProperty(Type nDefault)
sal_uInt32 dumpImagePosProperty()
virtual void implDumpExtended()
sal_Int32 dumpDelayProperty()
AxTabStripObject(const InputObjectBase &rParent)
virtual void implDumpShortProperties() override
virtual void implDumpExtended() override
virtual void implDumpCommonTrailing() override
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
ComCtlImageListObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpProperties() override
virtual void implDump() override
bool dumpComCtlCommon(sal_uInt32 nPartSize)
virtual void implDumpCommonExtra(sal_Int64 nEndPos)
virtual void implDumpCommonTrailing()
bool dumpComCtlHeader(sal_uInt32 nExpId, sal_uInt16 nExpMajor=SAL_MAX_UINT16, sal_uInt16 nExpMinor=SAL_MAX_UINT16)
bool dumpComCtlData(sal_uInt32 &ornCommonPartSize)
virtual void implDumpProperties()=0
ComCtlObjectBase(const InputObjectBase &rParent, sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16 nVersion, bool bCommonPart, bool bComplexPart)
virtual void implDumpProperties() override
ComCtlProgressBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpProperties() override
ComCtlSliderObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpProperties() override
ComCtlStatusBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
virtual void implDumpCommonTrailing() override
virtual void implDumpProperties() override
ComCtlTabStripObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
ComCtlTreeViewObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
virtual void implDumpProperties() override
virtual void implDumpProperties() override
ComCtlUpDownObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
OleCompObjObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
virtual void implDump() override
OUString dumpCharArray8(const String &rName, sal_Int32 nLen)
OlePropertyStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
OUString dumpString16(const String &rName)
void dumpProperty(sal_Int32 nPropId, sal_uInt32 nStartPos)
bool startElement(sal_uInt32 nStartPos)
sal_uInt16 dumpPropertyType()
void dumpHlinks(sal_Int32 nSize)
OUString dumpString8(const String &rName)
void dumpDictionaryProperty(sal_uInt32 nStartPos)
void dumpSection(const OUString &rGuid, sal_uInt32 nStartPos)
sal_uInt16 dumpPropertyContents(sal_Int32 nPropId)
void dumpBlob(sal_Int32 nPropId, const String &rName)
virtual void implDump() override
void writePropertyHeader(sal_Int32 nPropId, sal_uInt32 nStartPos)
void dumpPropertyValue(sal_Int32 nPropId, sal_uInt16 nBaseType)
bool dumpTypedProperty(const String &rName, sal_uInt16 nExpectedType)
void dumpPropertyVector(sal_Int32 nPropId, sal_uInt16 nBaseType)
OUString dumpCharArray16(const String &rName, sal_Int32 nLen)
void dumpCodePageProperty(sal_uInt32 nStartPos)
void writeSectionHeader(const OUString &rGuid, sal_uInt32 nStartPos)
rtl_TextEncoding meTextEnc
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
OleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
StdFontObject(const InputObjectBase &rParent)
virtual void implDump() override
StdPicObject(const InputObjectBase &rParent)
virtual void implDump() override
void construct(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
VbaContainerStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
bool isFormStorage(std::u16string_view rStrgPath) const
VbaFormSharedData maFormData
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
virtual bool implIsValid() const override
BinaryInputStreamRef mxInStrm
virtual void implDumpRecordBody() override
OUString dumpByteString(const String &rName)
VbaSharedData & mrVbaData
OUString dumpUniString(const String &rName)
virtual bool implReadRecordHeader(BinaryInputStream &rBaseStrm, sal_Int64 &ornRecId, sal_Int64 &ornRecSize) override
OUString dumpByteStringWithLength(const String &rName)
VbaDirStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData)
virtual void implDumpShortProperties() override
void dumpDesignExtender()
VbaFStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
VbaFormSharedData & mrFormData
virtual void implDumpExtended() override
void dumpFormSites(sal_uInt32 nCount)
VbaSharedData & mrVbaData
VbaModuleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData, sal_Int32 nStrmOffset)
virtual void implDump() override
VbaMultiPageObject(const InputObjectBase &rParent)
virtual void implDumpExtended() override
virtual void implDumpShortProperties() override
VbaFormSharedData & mrFormData
virtual void implDump() override
VbaOStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
VbaPageObject(const InputObjectBase &rParent)
virtual void implDumpShortProperties() override
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
VbaProjectStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
VbaSharedData & mrVbaData
VbaStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath, VbaSharedData &rVbaData)
VbaXStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
virtual void implDump() override
VbaFormSharedData & mrFormData
::std::vector< OUString > OUStringVector
std::shared_ptr< NameListBase > NameListRef
const NameListWrapper NO_LIST
std::shared_ptr< StorageBase > StorageRef
LargeProperty(LargePropertyType ePropType, String aItemName, sal_uInt32 nDataSize, OUString *pItemValue=nullptr)
LargePropertyType mePropType
StreamProperty(String aItemName, sal_uInt16 nData)
::std::map< OUString, sal_Int32 > StreamOffsetMap
StreamOffsetMap maStrmOffsets
bool isModuleStream(const OUString &rStrmName) const
sal_Int32 getStreamOffset(const OUString &rStrmName) const
rtl_TextEncoding meTextEnc