LibreOffice Module oox (master) 1
oledumper.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#ifndef INCLUDED_OOX_DUMP_OLEDUMPER_HXX
21#define INCLUDED_OOX_DUMP_OLEDUMPER_HXX
22
23#include <map>
24#include <memory>
25#include <utility>
26#include <vector>
27
28#include <com/sun/star/uno/Reference.hxx>
32#include <rtl/textenc.h>
33#include <rtl/ustring.hxx>
34#include <sal/types.h>
35
36#ifdef DBG_UTIL
37
38namespace com::sun::star {
39 namespace io { class XInputStream; }
40}
41
42namespace oox::dump {
43
44
46{
47protected:
49
50 OUString dumpAnsiString32( const String& rName );
51 OUString dumpUniString32( const String& rName );
52
53 sal_Int32 dumpStdClipboardFormat( const String& rName );
54 OUString dumpAnsiString32OrStdClip( const String& rName );
55 OUString dumpUniString32OrStdClip( const String& rName );
56
57 void writeOleColorItem( const String& rName, sal_uInt32 nColor );
58 sal_uInt32 dumpOleColor( const String& rName );
59};
60
61
63{
64public:
65 explicit StdFontObject( const InputObjectBase& rParent );
66
67protected:
68 virtual void implDump() override;
69};
70
71
73{
74public:
75 explicit StdPicObject( const InputObjectBase& rParent );
76
77protected:
78 virtual void implDump() override;
79};
80
81
83{
84public:
85 explicit OleStreamObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
86};
87
88
90{
91public:
92 explicit OleCompObjObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
93
94protected:
95 virtual void implDump() override;
96};
97
98
100{
101public:
102 explicit OlePropertyStreamObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
103
104protected:
105 virtual void implDump() override;
106
107private:
108 void dumpSection( const OUString& rGuid, sal_uInt32 nStartPos );
109
110 void dumpProperty( sal_Int32 nPropId, sal_uInt32 nStartPos );
111 void dumpCodePageProperty( sal_uInt32 nStartPos );
112 void dumpDictionaryProperty( sal_uInt32 nStartPos );
113
114 sal_uInt16 dumpPropertyContents( sal_Int32 nPropId );
115 void dumpPropertyValue( sal_Int32 nPropId, sal_uInt16 nBaseType );
116 void dumpPropertyVector( sal_Int32 nPropId, sal_uInt16 nBaseType );
117
118 sal_uInt16 dumpPropertyType();
119 void dumpBlob( sal_Int32 nPropId, const String& rName );
120 OUString dumpString8( const String& rName );
121 OUString dumpCharArray8( const String& rName, sal_Int32 nLen );
122 OUString dumpString16( const String& rName );
123 OUString dumpCharArray16( const String& rName, sal_Int32 nLen );
124 bool dumpTypedProperty( const String& rName, sal_uInt16 nExpectedType );
125 void dumpHlinks( sal_Int32 nSize );
126
127 bool startElement( sal_uInt32 nStartPos );
128 void writeSectionHeader( const OUString& rGuid, sal_uInt32 nStartPos );
129 void writePropertyHeader( sal_Int32 nPropId, sal_uInt32 nStartPos );
130
131private:
133 rtl_TextEncoding meTextEnc;
135};
136
137
139{
140public:
141 explicit OleStorageObject( const ObjectBase& rParent, const StorageRef& rxStrg, const OUString& rSysPath );
142
143protected:
145
147
148 virtual void implDumpStream(
149 const css::uno::Reference< css::io::XInputStream >& rxStrm,
150 const OUString& rStrgPath,
151 const OUString& rStrmName,
152 const OUString& rSysFileName ) override;
153};
154
155
157{
158protected:
159 explicit ComCtlObjectBase(
160 const InputObjectBase& rParent,
161 sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16 nVersion,
162 bool bCommonPart, bool bComplexPart );
163
164 virtual void implDump() override;
165 virtual void implDumpProperties() = 0;
166 virtual void implDumpCommonExtra( sal_Int64 nEndPos );
167 virtual void implDumpCommonTrailing();
168
169private:
170 bool dumpComCtlHeader( sal_uInt32 nExpId, sal_uInt16 nExpMajor = SAL_MAX_UINT16, sal_uInt16 nExpMinor = SAL_MAX_UINT16 );
171 bool dumpComCtlSize();
172 bool dumpComCtlData( sal_uInt32& ornCommonPartSize );
173 bool dumpComCtlCommon( sal_uInt32 nPartSize );
174 bool dumpComCtlComplex();
175
176protected:
177 sal_uInt32 mnDataId5;
178 sal_uInt32 mnDataId6;
179 sal_uInt16 mnVersion;
182};
183
184
186{
187public:
188 explicit ComCtlScrollBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
189
190protected:
191 virtual void implDumpProperties() override;
192};
193
194
196{
197public:
198 explicit ComCtlProgressBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
199
200protected:
201 virtual void implDumpProperties() override;
202};
203
204
206{
207public:
208 explicit ComCtlSliderObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
209
210protected:
211 virtual void implDumpProperties() override;
212};
213
214
216{
217public:
218 explicit ComCtlUpDownObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
219
220protected:
221 virtual void implDumpProperties() override;
222};
223
224
226{
227public:
228 explicit ComCtlImageListObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
229
230protected:
231 virtual void implDumpProperties() override;
232 virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
233 virtual void implDumpCommonTrailing() override;
234};
235
236
238{
239public:
240 explicit ComCtlTabStripObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
241
242protected:
243 virtual void implDumpProperties() override;
244 virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
245};
246
247
249{
250public:
251 explicit ComCtlTreeViewObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
252
253protected:
254 virtual void implDumpProperties() override;
255 virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
256
257private:
258 sal_uInt32 mnStringFlags;
259};
260
261
263{
264public:
265 explicit ComCtlStatusBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
266
267protected:
268 virtual void implDumpProperties() override;
269 virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
270 virtual void implDumpCommonTrailing() override;
271};
272
273
275{
276protected:
278
280 void construct(
281 const ObjectBase& rParent,
282 const BinaryInputStreamRef& rxStrm,
283 const OUString& rSysFileName,
284 const String& rPropNameList,
285 bool b64BitPropFlags = false );
286 void construct(
287 const InputObjectBase& rParent,
288 const String& rPropNameList,
289 bool b64BitPropFlags = false );
290
291 virtual bool implIsValid() const override;
292 virtual void implDump() override;
293
294 virtual void implDumpShortProperties();
295 virtual void implDumpExtended();
296
297 bool ensureValid( bool bCondition = true );
298
299 template< typename Type >
300 void alignInput();
301
302 void setAlignAnchor();
303 bool startNextProperty();
304 OUString getPropertyName() const;
305
306 template< typename Type >
307 Type dumpDecProperty( Type nDefault, const NameListWrapper& rListWrp = NO_LIST );
308 template< typename Type >
309 Type dumpHexProperty( Type nDefault, const NameListWrapper& rListWrp = NO_LIST );
310
312 sal_Int32 dumpHmmProperty() { return dumpDecProperty< sal_Int32 >( 0, "CONV-HMM-TO-CM" ); }
313 sal_uInt8 dumpMousePtrProperty() { return dumpDecProperty< sal_uInt8 >( 0, "OLE-MOUSEPTR" ); }
314 template< typename Type >
315 Type dumpBorderStyleProperty( Type nDefault ) { return dumpDecProperty< Type >( nDefault, "AX-BORDERSTYLE" ); }
316 template< typename Type >
317 Type dumpSpecialEffectProperty( Type nDefault ) { return dumpDecProperty< Type >( nDefault, "AX-SPECIALEFFECT" ); }
318 sal_uInt32 dumpEnabledProperty() { return dumpDecProperty< sal_uInt32 >( 1, "AX-ENABLED" ); }
319 sal_Int32 dumpOrientationProperty() { return dumpDecProperty< sal_Int32 >( -1, "AX-ORIENTATION" ); }
320 sal_Int32 dumpDelayProperty() { return dumpDecProperty< sal_Int32 >( 50, "AX-CONV-MS" ); }
321 sal_uInt32 dumpImagePosProperty() { return dumpHexProperty< sal_uInt32 >( 0x00070001, "AX-IMAGEPOS" ); }
322 sal_uInt8 dumpImageSizeModeProperty() { return dumpDecProperty< sal_uInt8 >( 0, "AX-IMAGESIZEMODE" ); }
323 sal_uInt8 dumpImageAlignProperty() { return dumpDecProperty< sal_uInt8 >( 2, "AX-IMAGEALIGN" ); }
324
325 sal_uInt32 dumpFlagsProperty( sal_uInt32 nDefault, const char* pcNameList = "AX-FLAGS" );
326 sal_uInt32 dumpColorProperty( sal_uInt32 nDefault );
328 void dumpUnknownProperty();
329
330 void dumpPosProperty();
331 void dumpSizeProperty();
332 void dumpGuidProperty( OUString* pValue = nullptr );
333 void dumpStringProperty( OUString* pValue = nullptr );
335 void dumpStreamProperty();
336
337 void dumpEmbeddedFont();
338 void dumpToPosition( sal_Int64 nPos );
339
340private:
341 void constructAxPropObj( const String& rPropNameList, bool b64BitPropFlags );
342
343 void dumpVersion();
344 OUString dumpString( const String& rName, sal_uInt32 nSize, bool bArray );
345 void dumpShortProperties();
346 void dumpLargeProperties();
347
348private:
350 {
352
354 OUString maItemName;
355 sal_uInt32 mnDataSize;
356 OUString* mpItemValue;
357 explicit LargeProperty( LargePropertyType ePropType, String aItemName, sal_uInt32 nDataSize, OUString* pItemValue = nullptr ) :
358 mePropType( ePropType ), maItemName(std::move( aItemName )), mnDataSize( nDataSize ), mpItemValue( pItemValue ) {}
359 };
360 typedef ::std::vector< LargeProperty > LargePropertyVector;
361
363 {
364 OUString maItemName;
365 sal_uInt16 mnData;
366 explicit StreamProperty( String aItemName, sal_uInt16 nData ) :
367 maItemName(std::move( aItemName )), mnData( nData ) {}
368 };
369
371 std::vector< StreamProperty >
376 sal_Int64 mnPropFlags;
377 sal_Int64 mnCurrProp;
380};
381
382
383template< typename Type >
385{
386 mxStrm->skip( (sizeof( Type ) - ((mxStrm->tell() - mnPropertiesStart) % sizeof( Type ))) % sizeof( Type ) );
387}
388
389template< typename Type >
391{
392 if( startNextProperty() )
393 {
394 alignInput< Type >();
395 return dumpDec< Type >( getPropertyName(), rListWrp );
396 }
397 return nDefault;
398}
399
400template< typename Type >
402{
403 if( startNextProperty() )
404 {
405 alignInput< Type >();
406 return dumpHex< Type >( getPropertyName(), rListWrp );
407 }
408 return nDefault;
409}
410
411
413{
414public:
415 explicit AxCFontNewObject( const InputObjectBase& rParent );
416
417protected:
418 virtual void implDumpShortProperties() override;
419};
420
421
423{
424public:
425 explicit AxColumnInfoObject( const InputObjectBase& rParent );
426
427protected:
428 virtual void implDumpShortProperties() override;
429};
430
431
433{
434public:
435 explicit AxCommandButtonObject( const InputObjectBase& rParent );
436
437protected:
438 virtual void implDumpShortProperties() override;
439 virtual void implDumpExtended() override;
440};
441
442
444{
445public:
446 explicit AxMorphControlObject( const InputObjectBase& rParent );
447
448protected:
449 virtual void implDumpShortProperties() override;
450 virtual void implDumpExtended() override;
451
452private:
453 void dumpColumnInfos();
454
455private:
456 sal_uInt16 mnColInfoCount;
458};
459
460
462{
463public:
464 explicit AxLabelObject( const InputObjectBase& rParent );
465
466protected:
467 virtual void implDumpShortProperties() override;
468 virtual void implDumpExtended() override;
469};
470
471
473{
474public:
475 explicit AxImageObject( const InputObjectBase& rParent );
476
477protected:
478 virtual void implDumpShortProperties() override;
479};
480
481
483{
484public:
485 explicit AxScrollBarObject( const InputObjectBase& rParent );
486
487protected:
488 virtual void implDumpShortProperties() override;
489};
490
491
493{
494public:
495 explicit AxSpinButtonObject( const InputObjectBase& rParent );
496
497protected:
498 virtual void implDumpShortProperties() override;
499};
500
501
503{
504public:
505 explicit AxTabStripObject( const InputObjectBase& rParent );
506
507protected:
508 virtual void implDumpShortProperties() override;
509 virtual void implDumpExtended() override;
510
511private:
512 sal_Int32 mnTabFlagCount;
513};
514
515
517{
518public:
520 const ObjectBase& rParent,
521 const BinaryInputStreamRef& rxStrm,
522 const OUString& rSysFileName,
523 const OUString* pProgId = nullptr );
525 const OutputObjectBase& rParent,
526 const BinaryInputStreamRef& rxStrm,
527 const OUString* pProgId = nullptr );
528
529protected:
530 virtual void implDump() override;
531
532private:
533 void constructFormCtrlStrmObj( const OUString* pProgId );
534
535private:
536 OUString maProgId;
538};
539
540
542{
543 OUString maProgId;
544 sal_Int32 mnId;
545 sal_uInt32 mnLength;
547
548 VbaFormSiteInfo() : mnId( 0 ), mnLength( 0 ), mbInStream( false ) {}
549};
550
551
553{
555 std::vector< VbaFormSiteInfo > maSiteInfos;
556};
557
558
560{
561public:
562 explicit VbaFormClassInfoObject( const InputObjectBase& rParent, VbaFormSharedData& rFormData );
563
564protected:
565 virtual void implDumpShortProperties() override;
566
567private:
569};
570
571
573{
574public:
575 explicit VbaFormSiteObject( const InputObjectBase& rParent, VbaFormSharedData& rFormData );
576
577protected:
578 virtual void implDumpShortProperties() override;
579
580private:
582};
583
584
586{
587public:
588 explicit VbaFormDesignExtObject( const InputObjectBase& rParent );
589
590protected:
591 virtual void implDumpShortProperties() override;
592};
593
594
596{
597public:
598 explicit VbaFStreamObject(
599 const ObjectBase& rParent,
600 const BinaryInputStreamRef& rxStrm,
601 const OUString& rSysFileName,
602 VbaFormSharedData& rFormData );
603
604protected:
605 virtual void implDumpShortProperties() override;
606 virtual void implDumpExtended() override;
607
608private:
609 void dumpClassInfos();
610 void dumpFormSites( sal_uInt32 nCount );
611 void dumpSiteData();
612 void dumpDesignExtender();
613
614private:
616 sal_uInt32 mnFlags;
617};
618
619
621{
622public:
623 explicit VbaOStreamObject(
624 const ObjectBase& rParent,
625 const BinaryInputStreamRef& rxStrm,
626 const OUString& rSysFileName,
627 VbaFormSharedData& rFormData );
628
629protected:
630 virtual void implDump() override;
631
632private:
634};
635
636
638{
639public:
640 explicit VbaPageObject( const InputObjectBase& rParent );
641
642protected:
643 virtual void implDumpShortProperties() override;
644};
645
646
648{
649public:
650 explicit VbaMultiPageObject( const InputObjectBase& rParent );
651
652protected:
653 virtual void implDumpShortProperties() override;
654 virtual void implDumpExtended() override;
655
656private:
657 sal_Int32 mnPageCount;
658};
659
660
662{
663public:
664 explicit VbaXStreamObject(
665 const ObjectBase& rParent,
666 const BinaryInputStreamRef& rxStrm,
667 const OUString& rSysFileName,
668 VbaFormSharedData& rFormData );
669
670protected:
671 virtual void implDump() override;
672
673private:
675};
676
677
679{
680public:
682 const ObjectBase& rParent,
683 const StorageRef& rxStrg,
684 const OUString& rSysPath );
685
686protected:
687 virtual void implDumpStream(
688 const css::uno::Reference< css::io::XInputStream >& rxStrm,
689 const OUString& rStrgPath,
690 const OUString& rStrmName,
691 const OUString& rSysFileName ) override;
692
693 virtual void implDumpStorage(
694 const StorageRef& rxStrg,
695 const OUString& rStrgPath,
696 const OUString& rSysPath ) override;
697
698private:
699 bool isFormStorage( std::u16string_view rStrgPath ) const;
700
701private:
703};
704
705
707{
708 typedef ::std::map< OUString, sal_Int32 > StreamOffsetMap;
709
711 rtl_TextEncoding meTextEnc;
712
714
715 bool isModuleStream( const OUString& rStrmName ) const;
716 sal_Int32 getStreamOffset( const OUString& rStrmName ) const;
717};
718
719
721{
722public:
723 explicit VbaDirStreamObject(
724 const ObjectBase& rParent,
725 const BinaryInputStreamRef& rxStrm,
726 const OUString& rSysFileName,
727 VbaSharedData& rVbaData );
728
729protected:
730 virtual bool implIsValid() const override;
731 virtual bool implReadRecordHeader( BinaryInputStream& rBaseStrm, sal_Int64& ornRecId, sal_Int64& ornRecSize ) override;
732 virtual void implDumpRecordBody() override;
733
734private:
735 OUString dumpByteString( const String& rName );
736 OUString dumpUniString( const String& rName );
737 OUString dumpByteStringWithLength( const String& rName );
738
739private:
742 OUString maCurrStream;
743 sal_Int32 mnCurrOffset;
744};
745
746
748{
749public:
750 explicit VbaModuleStreamObject(
751 const ObjectBase& rParent,
752 const BinaryInputStreamRef& rxStrm,
753 const OUString& rSysFileName,
754 VbaSharedData& rVbaData,
755 sal_Int32 nStrmOffset );
756
757protected:
758 virtual void implDump() override;
759
760private:
762 sal_Int32 mnStrmOffset;
763};
764
765
767{
768public:
769 explicit VbaStorageObject(
770 const ObjectBase& rParent,
771 const StorageRef& rxStrg,
772 const OUString& rSysPath,
773 VbaSharedData& rVbaData );
774
775protected:
776 virtual void implDumpStream(
777 const css::uno::Reference< css::io::XInputStream >& rxStrm,
778 const OUString& rStrgPath,
779 const OUString& rStrmName,
780 const OUString& rSysFileName ) override;
781
782private:
784};
785
786
788{
789public:
790 explicit VbaFormStorageObject(
791 const ObjectBase& rParent,
792 const StorageRef& rxStrg,
793 const OUString& rSysPath,
794 VbaSharedData& rVbaData );
795
796protected:
797 virtual void implDumpStream(
798 const css::uno::Reference< css::io::XInputStream >& rxStrm,
799 const OUString& rStrgPath,
800 const OUString& rStrmName,
801 const OUString& rSysFileName ) override;
802
803private:
805};
806
807
809{
810public:
811 explicit VbaProjectStorageObject( const ObjectBase& rParent, const StorageRef& rxStrg, const OUString& rSysPath );
812
813protected:
814 virtual void implDumpStream(
815 const css::uno::Reference< css::io::XInputStream >& rxStrm,
816 const OUString& rStrgPath,
817 const OUString& rStrmName,
818 const OUString& rSysFileName ) override;
819
820 virtual void implDumpStorage(
821 const StorageRef& rxStrg,
822 const OUString& rStrgPath,
823 const OUString& rSysPath ) override;
824
825private:
827};
828
829
831{
832public:
833 explicit ActiveXStorageObject(
834 const ObjectBase& rParent,
835 const StorageRef& rxStrg,
836 const OUString& rSysPath );
837
838protected:
839 virtual void implDumpBaseStream(
840 const BinaryInputStreamRef& rxStrm,
841 const OUString& rSysFileName ) override;
842};
843
844
845} // namespace oox::dump
846
847#endif
848#endif
849
850/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Interface for binary input stream classes.
virtual void implDumpBaseStream(const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName) override
Definition: oledumper.cxx:2076
ActiveXStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:2071
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1154
AxCFontNewObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1149
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1171
AxColumnInfoObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1166
AxCommandButtonObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1176
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1181
virtual void implDumpExtended() override
Definition: oledumper.cxx:1196
AxImageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1290
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1295
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1268
AxLabelObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1263
virtual void implDumpExtended() override
Definition: oledumper.cxx:1285
virtual void implDumpExtended() override
Definition: oledumper.cxx:1243
AxMorphControlObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1201
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1206
Type dumpDecProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
Definition: oledumper.hxx:390
sal_uInt32 dumpFlagsProperty(sal_uInt32 nDefault, const char *pcNameList="AX-FLAGS")
Definition: oledumper.cxx:918
sal_uInt32 dumpColorProperty(sal_uInt32 nDefault)
Definition: oledumper.cxx:928
std::vector< StreamProperty > maStreamProps
Definition: oledumper.hxx:372
void construct(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, const String &rPropNameList, bool b64BitPropFlags=false)
Definition: oledumper.cxx:841
LargePropertyVector maLargeProps
Definition: oledumper.hxx:370
void dumpStringProperty(OUString *pValue=nullptr)
Definition: oledumper.cxx:972
OUString dumpString(const String &rName, sal_uInt32 nSize, bool bArray)
Definition: oledumper.cxx:1039
Type dumpHexProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
Definition: oledumper.hxx:401
void dumpGuidProperty(OUString *pValue=nullptr)
Definition: oledumper.cxx:966
void constructAxPropObj(const String &rPropNameList, bool b64BitPropFlags)
Definition: oledumper.cxx:1019
void dumpToPosition(sal_Int64 nPos)
Definition: oledumper.cxx:1012
OUString getPropertyName() const
Definition: oledumper.cxx:913
virtual void implDumpShortProperties()
Definition: oledumper.cxx:881
Type dumpBorderStyleProperty(Type nDefault)
Definition: oledumper.hxx:315
bool ensureValid(bool bCondition=true)
Definition: oledumper.cxx:889
::std::vector< LargeProperty > LargePropertyVector
Definition: oledumper.hxx:360
virtual bool implIsValid() const override
Definition: oledumper.cxx:855
virtual void implDump() override
Definition: oledumper.cxx:860
Type dumpSpecialEffectProperty(Type nDefault)
Definition: oledumper.hxx:317
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1319
AxScrollBarObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1314
AxSpinButtonObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1340
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1345
AxTabStripObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1364
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1369
virtual void implDumpExtended() override
Definition: oledumper.cxx:1398
virtual void implDumpCommonTrailing() override
Definition: oledumper.cxx:717
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:700
ComCtlImageListObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:686
virtual void implDumpProperties() override
Definition: oledumper.cxx:691
virtual void implDump() override
Definition: oledumper.cxx:517
bool dumpComCtlCommon(sal_uInt32 nPartSize)
Definition: oledumper.cxx:569
virtual void implDumpCommonExtra(sal_Int64 nEndPos)
Definition: oledumper.cxx:523
virtual void implDumpCommonTrailing()
Definition: oledumper.cxx:527
bool dumpComCtlHeader(sal_uInt32 nExpId, sal_uInt16 nExpMajor=SAL_MAX_UINT16, sal_uInt16 nExpMinor=SAL_MAX_UINT16)
Definition: oledumper.cxx:531
bool dumpComCtlData(sal_uInt32 &ornCommonPartSize)
Definition: oledumper.cxx:556
virtual void implDumpProperties()=0
ComCtlObjectBase(const InputObjectBase &rParent, sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16 nVersion, bool bCommonPart, bool bComplexPart)
Definition: oledumper.cxx:506
virtual void implDumpProperties() override
Definition: oledumper.cxx:632
ComCtlProgressBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:627
virtual void implDumpProperties() override
Definition: oledumper.cxx:617
ComCtlScrollBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:612
virtual void implDumpProperties() override
Definition: oledumper.cxx:648
ComCtlSliderObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:643
virtual void implDumpProperties() override
Definition: oledumper.cxx:799
ComCtlStatusBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:794
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:806
virtual void implDumpCommonTrailing() override
Definition: oledumper.cxx:828
virtual void implDumpProperties() override
Definition: oledumper.cxx:735
ComCtlTabStripObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:730
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:749
ComCtlTreeViewObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:769
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:784
virtual void implDumpProperties() override
Definition: oledumper.cxx:775
virtual void implDumpProperties() override
Definition: oledumper.cxx:671
ComCtlUpDownObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:666
virtual void implDump() override
Definition: oledumper.cxx:1423
FormControlStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, const OUString *pProgId=nullptr)
Definition: oledumper.cxx:1411
void constructFormCtrlStrmObj(const OUString *pProgId)
Definition: oledumper.cxx:1484
void construct(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
BinaryInputStreamRef mxStrm
OleCompObjObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:109
virtual void implDump() override
Definition: oledumper.cxx:114
void writeOleColorItem(const String &rName, sal_uInt32 nColor)
Definition: oledumper.cxx:64
OUString dumpAnsiString32OrStdClip(const String &rName)
Definition: oledumper.cxx:52
OUString dumpAnsiString32(const String &rName)
Definition: oledumper.cxx:37
OUString dumpUniString32OrStdClip(const String &rName)
Definition: oledumper.cxx:58
OUString dumpUniString32(const String &rName)
Definition: oledumper.cxx:42
sal_Int32 dumpStdClipboardFormat(const String &rName)
Definition: oledumper.cxx:47
sal_uInt32 dumpOleColor(const String &rName)
Definition: oledumper.cxx:70
OUString dumpCharArray8(const String &rName, sal_Int32 nLen)
Definition: oledumper.cxx:417
OlePropertyStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:178
OUString dumpString16(const String &rName)
Definition: oledumper.cxx:425
void dumpProperty(sal_Int32 nPropId, sal_uInt32 nStartPos)
Definition: oledumper.cxx:288
bool startElement(sal_uInt32 nStartPos)
Definition: oledumper.cxx:467
void dumpHlinks(sal_Int32 nSize)
Definition: oledumper.cxx:447
OUString dumpString8(const String &rName)
Definition: oledumper.cxx:411
void dumpDictionaryProperty(sal_uInt32 nStartPos)
Definition: oledumper.cxx:318
void dumpSection(const OUString &rGuid, sal_uInt32 nStartPos)
Definition: oledumper.cxx:219
sal_uInt16 dumpPropertyContents(sal_Int32 nPropId)
Definition: oledumper.cxx:338
void dumpBlob(sal_Int32 nPropId, const String &rName)
Definition: oledumper.cxx:398
virtual void implDump() override
Definition: oledumper.cxx:183
void writePropertyHeader(sal_Int32 nPropId, sal_uInt32 nStartPos)
Definition: oledumper.cxx:483
void dumpPropertyValue(sal_Int32 nPropId, sal_uInt16 nBaseType)
Definition: oledumper.cxx:352
bool dumpTypedProperty(const String &rName, sal_uInt16 nExpectedType)
Definition: oledumper.cxx:440
void dumpPropertyVector(sal_Int32 nPropId, sal_uInt16 nBaseType)
Definition: oledumper.cxx:381
OUString dumpCharArray16(const String &rName, sal_Int32 nLen)
Definition: oledumper.cxx:431
void dumpCodePageProperty(sal_uInt32 nStartPos)
Definition: oledumper.cxx:297
void writeSectionHeader(const OUString &rGuid, sal_uInt32 nStartPos)
Definition: oledumper.cxx:475
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:496
OleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:104
StdFontObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:77
virtual void implDump() override
Definition: oledumper.cxx:82
StdPicObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:92
virtual void implDump() override
Definition: oledumper.cxx:97
void construct(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
Definition: oledumper.cxx:1822
VbaContainerStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:1804
bool isFormStorage(std::u16string_view rStrgPath) const
Definition: oledumper.cxx:1830
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:1810
virtual bool implIsValid() const override
Definition: oledumper.cxx:1874
BinaryInputStreamRef mxInStrm
Definition: oledumper.hxx:741
virtual void implDumpRecordBody() override
Definition: oledumper.cxx:1891
OUString dumpByteString(const String &rName)
Definition: oledumper.cxx:1984
OUString dumpUniString(const String &rName)
Definition: oledumper.cxx:1989
virtual bool implReadRecordHeader(BinaryInputStream &rBaseStrm, sal_Int64 &ornRecId, sal_Int64 &ornRecSize) override
Definition: oledumper.cxx:1879
OUString dumpByteStringWithLength(const String &rName)
Definition: oledumper.cxx:1994
VbaDirStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData)
Definition: oledumper.cxx:1862
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1599
VbaFStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1593
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:615
virtual void implDumpExtended() override
Definition: oledumper.cxx:1631
void dumpFormSites(sal_uInt32 nCount)
Definition: oledumper.cxx:1655
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:568
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1497
VbaFormClassInfoObject(const InputObjectBase &rParent, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1491
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1574
VbaFormDesignExtObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1569
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:581
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1532
VbaFormSiteObject(const InputObjectBase &rParent, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1526
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2041
VbaFormStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath, VbaSharedData &rVbaData)
Definition: oledumper.cxx:2035
VbaModuleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData, sal_Int32 nStrmOffset)
Definition: oledumper.cxx:1999
virtual void implDump() override
Definition: oledumper.cxx:2008
VbaMultiPageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1753
virtual void implDumpExtended() override
Definition: oledumper.cxx:1766
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1758
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:633
virtual void implDump() override
Definition: oledumper.cxx:1722
VbaOStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1715
VbaPageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1741
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1746
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
Definition: oledumper.cxx:2063
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2055
VbaProjectStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:2049
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2025
VbaSharedData & mrVbaData
Definition: oledumper.hxx:783
VbaStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath, VbaSharedData &rVbaData)
Definition: oledumper.cxx:2018
VbaXStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1778
virtual void implDump() override
Definition: oledumper.cxx:1785
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:674
int nCount
sal_Int16 nVersion
Type
::std::vector< OUString > OUStringVector
Definition: dumperbase.hxx:94
std::shared_ptr< NameListBase > NameListRef
Definition: dumperbase.hxx:499
const NameListWrapper NO_LIST
Definition: dumperbase.hxx:736
std::shared_ptr< StorageBase > StorageRef
Definition: storagebase.hxx:42
LargeProperty(LargePropertyType ePropType, String aItemName, sal_uInt32 nDataSize, OUString *pItemValue=nullptr)
Definition: oledumper.hxx:357
StreamProperty(String aItemName, sal_uInt16 nData)
Definition: oledumper.hxx:366
std::vector< VbaFormSiteInfo > maSiteInfos
Definition: oledumper.hxx:555
OUStringVector maClassInfoProgIds
Definition: oledumper.hxx:554
::std::map< OUString, sal_Int32 > StreamOffsetMap
Definition: oledumper.hxx:708
StreamOffsetMap maStrmOffsets
Definition: oledumper.hxx:710
bool isModuleStream(const OUString &rStrmName) const
Definition: oledumper.cxx:1851
sal_Int32 getStreamOffset(const OUString &rStrmName) const
Definition: oledumper.cxx:1856
rtl_TextEncoding meTextEnc
Definition: oledumper.hxx:711
unsigned char sal_uInt8
sal_uInt16 sal_Unicode