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 <vector>
26 
27 #include <com/sun/star/uno/Reference.hxx>
28 #include <oox/dump/dumperbase.hxx>
31 #include <rtl/textenc.h>
32 #include <rtl/ustring.hxx>
33 #include <sal/types.h>
34 
35 #ifdef DBG_UTIL
36 
37 namespace com::sun::star {
38  namespace io { class XInputStream; }
39 }
40 
41 namespace oox::dump {
42 
43 
45 {
46 protected:
48 
49  OUString dumpAnsiString32( const String& rName );
50  OUString dumpUniString32( const String& rName );
51 
52  sal_Int32 dumpStdClipboardFormat( const String& rName );
53  OUString dumpAnsiString32OrStdClip( const String& rName );
54  OUString dumpUniString32OrStdClip( const String& rName );
55 
56  void writeOleColorItem( const String& rName, sal_uInt32 nColor );
57  sal_uInt32 dumpOleColor( const String& rName );
58 };
59 
60 
62 {
63 public:
64  explicit StdFontObject( const InputObjectBase& rParent );
65 
66 protected:
67  virtual void implDump() override;
68 };
69 
70 
72 {
73 public:
74  explicit StdPicObject( const InputObjectBase& rParent );
75 
76 protected:
77  virtual void implDump() override;
78 };
79 
80 
82 {
83 public:
84  explicit OleStreamObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
85 };
86 
87 
89 {
90 public:
91  explicit OleCompObjObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
92 
93 protected:
94  virtual void implDump() override;
95 };
96 
97 
99 {
100 public:
101  explicit OlePropertyStreamObject( const ObjectBase& rParent, const BinaryInputStreamRef& rxStrm, const OUString& rSysFileName );
102 
103 protected:
104  virtual void implDump() override;
105 
106 private:
107  void dumpSection( const OUString& rGuid, sal_uInt32 nStartPos );
108 
109  void dumpProperty( sal_Int32 nPropId, sal_uInt32 nStartPos );
110  void dumpCodePageProperty( sal_uInt32 nStartPos );
111  void dumpDictionaryProperty( sal_uInt32 nStartPos );
112 
113  sal_uInt16 dumpPropertyContents( sal_Int32 nPropId );
114  void dumpPropertyValue( sal_Int32 nPropId, sal_uInt16 nBaseType );
115  void dumpPropertyVector( sal_Int32 nPropId, sal_uInt16 nBaseType );
116 
117  sal_uInt16 dumpPropertyType();
118  void dumpBlob( sal_Int32 nPropId, const String& rName );
119  OUString dumpString8( const String& rName );
120  OUString dumpCharArray8( const String& rName, sal_Int32 nLen );
121  OUString dumpString16( const String& rName );
122  OUString dumpCharArray16( const String& rName, sal_Int32 nLen );
123  bool dumpTypedProperty( const String& rName, sal_uInt16 nExpectedType );
124  void dumpHlinks( sal_Int32 nSize );
125 
126  bool startElement( sal_uInt32 nStartPos );
127  void writeSectionHeader( const OUString& rGuid, sal_uInt32 nStartPos );
128  void writePropertyHeader( sal_Int32 nPropId, sal_uInt32 nStartPos );
129 
130 private:
132  rtl_TextEncoding meTextEnc;
134 };
135 
136 
138 {
139 public:
140  explicit OleStorageObject( const ObjectBase& rParent, const StorageRef& rxStrg, const OUString& rSysPath );
141 
142 protected:
144 
146 
147  virtual void implDumpStream(
148  const css::uno::Reference< css::io::XInputStream >& rxStrm,
149  const OUString& rStrgPath,
150  const OUString& rStrmName,
151  const OUString& rSysFileName ) override;
152 };
153 
154 
156 {
157 protected:
158  explicit ComCtlObjectBase(
159  const InputObjectBase& rParent,
160  sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16 nVersion,
161  bool bCommonPart, bool bComplexPart );
162 
163  virtual void implDump() override;
164  virtual void implDumpProperties() = 0;
165  virtual void implDumpCommonExtra( sal_Int64 nEndPos );
166  virtual void implDumpCommonTrailing();
167 
168 private:
169  bool dumpComCtlHeader( sal_uInt32 nExpId, sal_uInt16 nExpMajor = SAL_MAX_UINT16, sal_uInt16 nExpMinor = SAL_MAX_UINT16 );
170  bool dumpComCtlSize();
171  bool dumpComCtlData( sal_uInt32& ornCommonPartSize );
172  bool dumpComCtlCommon( sal_uInt32 nPartSize );
173  bool dumpComCtlComplex();
174 
175 protected:
176  sal_uInt32 mnDataId5;
177  sal_uInt32 mnDataId6;
178  sal_uInt16 mnVersion;
181 };
182 
183 
185 {
186 public:
187  explicit ComCtlScrollBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
188 
189 protected:
190  virtual void implDumpProperties() override;
191 };
192 
193 
195 {
196 public:
197  explicit ComCtlProgressBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
198 
199 protected:
200  virtual void implDumpProperties() override;
201 };
202 
203 
205 {
206 public:
207  explicit ComCtlSliderObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
208 
209 protected:
210  virtual void implDumpProperties() override;
211 };
212 
213 
215 {
216 public:
217  explicit ComCtlUpDownObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
218 
219 protected:
220  virtual void implDumpProperties() override;
221 };
222 
223 
225 {
226 public:
227  explicit ComCtlImageListObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
228 
229 protected:
230  virtual void implDumpProperties() override;
231  virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
232  virtual void implDumpCommonTrailing() override;
233 };
234 
235 
237 {
238 public:
239  explicit ComCtlTabStripObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
240 
241 protected:
242  virtual void implDumpProperties() override;
243  virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
244 };
245 
246 
248 {
249 public:
250  explicit ComCtlTreeViewObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
251 
252 protected:
253  virtual void implDumpProperties() override;
254  virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
255 
256 private:
257  sal_uInt32 mnStringFlags;
258 };
259 
260 
262 {
263 public:
264  explicit ComCtlStatusBarObject( const InputObjectBase& rParent, sal_uInt16 nVersion );
265 
266 protected:
267  virtual void implDumpProperties() override;
268  virtual void implDumpCommonExtra( sal_Int64 nEndPos ) override;
269  virtual void implDumpCommonTrailing() override;
270 };
271 
272 
274 {
275 protected:
277 
279  void construct(
280  const ObjectBase& rParent,
281  const BinaryInputStreamRef& rxStrm,
282  const OUString& rSysFileName,
283  const String& rPropNameList,
284  bool b64BitPropFlags = false );
285  void construct(
286  const InputObjectBase& rParent,
287  const String& rPropNameList,
288  bool b64BitPropFlags = false );
289 
290  virtual bool implIsValid() const override;
291  virtual void implDump() override;
292 
293  virtual void implDumpShortProperties();
294  virtual void implDumpExtended();
295 
296  bool ensureValid( bool bCondition = true );
297 
298  template< typename Type >
299  void alignInput();
300 
301  void setAlignAnchor();
302  bool startNextProperty();
303  OUString getPropertyName() const;
304 
305  template< typename Type >
306  Type dumpDecProperty( Type nDefault, const NameListWrapper& rListWrp = NO_LIST );
307  template< typename Type >
308  Type dumpHexProperty( Type nDefault, const NameListWrapper& rListWrp = NO_LIST );
309 
310  bool dumpBoolProperty() { return startNextProperty(); }
311  sal_Int32 dumpHmmProperty() { return dumpDecProperty< sal_Int32 >( 0, "CONV-HMM-TO-CM" ); }
312  sal_uInt8 dumpMousePtrProperty() { return dumpDecProperty< sal_uInt8 >( 0, "OLE-MOUSEPTR" ); }
313  template< typename Type >
314  Type dumpBorderStyleProperty( Type nDefault ) { return dumpDecProperty< Type >( nDefault, "AX-BORDERSTYLE" ); }
315  template< typename Type >
316  Type dumpSpecialEffectProperty( Type nDefault ) { return dumpDecProperty< Type >( nDefault, "AX-SPECIALEFFECT" ); }
317  sal_uInt32 dumpEnabledProperty() { return dumpDecProperty< sal_uInt32 >( 1, "AX-ENABLED" ); }
318  sal_Int32 dumpOrientationProperty() { return dumpDecProperty< sal_Int32 >( -1, "AX-ORIENTATION" ); }
319  sal_Int32 dumpDelayProperty() { return dumpDecProperty< sal_Int32 >( 50, "AX-CONV-MS" ); }
320  sal_uInt32 dumpImagePosProperty() { return dumpHexProperty< sal_uInt32 >( 0x00070001, "AX-IMAGEPOS" ); }
321  sal_uInt8 dumpImageSizeModeProperty() { return dumpDecProperty< sal_uInt8 >( 0, "AX-IMAGESIZEMODE" ); }
322  sal_uInt8 dumpImageAlignProperty() { return dumpDecProperty< sal_uInt8 >( 2, "AX-IMAGEALIGN" ); }
323 
324  sal_uInt32 dumpFlagsProperty( sal_uInt32 nDefault, const char* pcNameList = "AX-FLAGS" );
325  sal_uInt32 dumpColorProperty( sal_uInt32 nDefault );
327  void dumpUnknownProperty();
328 
329  void dumpPosProperty();
330  void dumpSizeProperty();
331  void dumpGuidProperty( OUString* pValue = nullptr );
332  void dumpStringProperty( OUString* pValue = nullptr );
334  void dumpStreamProperty();
335 
336  void dumpEmbeddedFont();
337  void dumpToPosition( sal_Int64 nPos );
338 
339 private:
340  void constructAxPropObj( const String& rPropNameList, bool b64BitPropFlags );
341 
342  void dumpVersion();
343  OUString dumpString( const String& rName, sal_uInt32 nSize, bool bArray );
344  void dumpShortProperties();
345  void dumpLargeProperties();
346 
347 private:
349  {
351 
353  OUString maItemName;
354  sal_uInt32 mnDataSize;
355  OUString* mpItemValue;
356  explicit LargeProperty( LargePropertyType ePropType, const String& rItemName, sal_uInt32 nDataSize, OUString* pItemValue = nullptr ) :
357  mePropType( ePropType ), maItemName( rItemName ), mnDataSize( nDataSize ), mpItemValue( pItemValue ) {}
358  };
359  typedef ::std::vector< LargeProperty > LargePropertyVector;
360 
362  {
363  OUString maItemName;
364  sal_uInt16 mnData;
365  explicit StreamProperty( const String& rItemName, sal_uInt16 nData ) :
366  maItemName( rItemName ), mnData( nData ) {}
367  };
368 
369  LargePropertyVector maLargeProps;
370  std::vector< StreamProperty >
373  sal_Int64 mnPropertiesStart;
374  sal_Int64 mnPropertiesEnd;
375  sal_Int64 mnPropFlags;
376  sal_Int64 mnCurrProp;
378  bool mbValid;
379 };
380 
381 
382 template< typename Type >
384 {
385  mxStrm->skip( (sizeof( Type ) - ((mxStrm->tell() - mnPropertiesStart) % sizeof( Type ))) % sizeof( Type ) );
386 }
387 
388 template< typename Type >
390 {
391  if( startNextProperty() )
392  {
393  alignInput< Type >();
394  return dumpDec< Type >( getPropertyName(), rListWrp );
395  }
396  return nDefault;
397 }
398 
399 template< typename Type >
401 {
402  if( startNextProperty() )
403  {
404  alignInput< Type >();
405  return dumpHex< Type >( getPropertyName(), rListWrp );
406  }
407  return nDefault;
408 }
409 
410 
412 {
413 public:
414  explicit AxCFontNewObject( const InputObjectBase& rParent );
415 
416 protected:
417  virtual void implDumpShortProperties() override;
418 };
419 
420 
422 {
423 public:
424  explicit AxColumnInfoObject( const InputObjectBase& rParent );
425 
426 protected:
427  virtual void implDumpShortProperties() override;
428 };
429 
430 
432 {
433 public:
434  explicit AxCommandButtonObject( const InputObjectBase& rParent );
435 
436 protected:
437  virtual void implDumpShortProperties() override;
438  virtual void implDumpExtended() override;
439 };
440 
441 
443 {
444 public:
445  explicit AxMorphControlObject( const InputObjectBase& rParent );
446 
447 protected:
448  virtual void implDumpShortProperties() override;
449  virtual void implDumpExtended() override;
450 
451 private:
452  void dumpColumnInfos();
453 
454 private:
455  sal_uInt16 mnColInfoCount;
457 };
458 
459 
461 {
462 public:
463  explicit AxLabelObject( const InputObjectBase& rParent );
464 
465 protected:
466  virtual void implDumpShortProperties() override;
467  virtual void implDumpExtended() override;
468 };
469 
470 
472 {
473 public:
474  explicit AxImageObject( const InputObjectBase& rParent );
475 
476 protected:
477  virtual void implDumpShortProperties() override;
478 };
479 
480 
482 {
483 public:
484  explicit AxScrollBarObject( const InputObjectBase& rParent );
485 
486 protected:
487  virtual void implDumpShortProperties() override;
488 };
489 
490 
492 {
493 public:
494  explicit AxSpinButtonObject( const InputObjectBase& rParent );
495 
496 protected:
497  virtual void implDumpShortProperties() override;
498 };
499 
500 
502 {
503 public:
504  explicit AxTabStripObject( const InputObjectBase& rParent );
505 
506 protected:
507  virtual void implDumpShortProperties() override;
508  virtual void implDumpExtended() override;
509 
510 private:
511  sal_Int32 mnTabFlagCount;
512 };
513 
514 
516 {
517 public:
518  explicit FormControlStreamObject(
519  const ObjectBase& rParent,
520  const BinaryInputStreamRef& rxStrm,
521  const OUString& rSysFileName,
522  const OUString* pProgId = nullptr );
523  explicit FormControlStreamObject(
524  const OutputObjectBase& rParent,
525  const BinaryInputStreamRef& rxStrm,
526  const OUString* pProgId = nullptr );
527 
528 protected:
529  virtual void implDump() override;
530 
531 private:
532  void constructFormCtrlStrmObj( const OUString* pProgId );
533 
534 private:
535  OUString maProgId;
537 };
538 
539 
541 {
542  OUString maProgId;
543  sal_Int32 mnId;
544  sal_uInt32 mnLength;
546 
547  VbaFormSiteInfo() : mnId( 0 ), mnLength( 0 ), mbInStream( false ) {}
548 };
549 
550 
552 {
554  std::vector< VbaFormSiteInfo > maSiteInfos;
555 };
556 
557 
559 {
560 public:
561  explicit VbaFormClassInfoObject( const InputObjectBase& rParent, VbaFormSharedData& rFormData );
562 
563 protected:
564  virtual void implDumpShortProperties() override;
565 
566 private:
568 };
569 
570 
572 {
573 public:
574  explicit VbaFormSiteObject( const InputObjectBase& rParent, VbaFormSharedData& rFormData );
575 
576 protected:
577  virtual void implDumpShortProperties() override;
578 
579 private:
581 };
582 
583 
585 {
586 public:
587  explicit VbaFormDesignExtObject( const InputObjectBase& rParent );
588 
589 protected:
590  virtual void implDumpShortProperties() override;
591 };
592 
593 
595 {
596 public:
597  explicit VbaFStreamObject(
598  const ObjectBase& rParent,
599  const BinaryInputStreamRef& rxStrm,
600  const OUString& rSysFileName,
601  VbaFormSharedData& rFormData );
602 
603 protected:
604  virtual void implDumpShortProperties() override;
605  virtual void implDumpExtended() override;
606 
607 private:
608  void dumpClassInfos();
609  void dumpFormSites( sal_uInt32 nCount );
610  void dumpSiteData();
611  void dumpDesignExtender();
612 
613 private:
615  sal_uInt32 mnFlags;
616 };
617 
618 
620 {
621 public:
622  explicit VbaOStreamObject(
623  const ObjectBase& rParent,
624  const BinaryInputStreamRef& rxStrm,
625  const OUString& rSysFileName,
626  VbaFormSharedData& rFormData );
627 
628 protected:
629  virtual void implDump() override;
630 
631 private:
633 };
634 
635 
637 {
638 public:
639  explicit VbaPageObject( const InputObjectBase& rParent );
640 
641 protected:
642  virtual void implDumpShortProperties() override;
643 };
644 
645 
647 {
648 public:
649  explicit VbaMultiPageObject( const InputObjectBase& rParent );
650 
651 protected:
652  virtual void implDumpShortProperties() override;
653  virtual void implDumpExtended() override;
654 
655 private:
656  sal_Int32 mnPageCount;
657 };
658 
659 
661 {
662 public:
663  explicit VbaXStreamObject(
664  const ObjectBase& rParent,
665  const BinaryInputStreamRef& rxStrm,
666  const OUString& rSysFileName,
667  VbaFormSharedData& rFormData );
668 
669 protected:
670  virtual void implDump() override;
671 
672 private:
674 };
675 
676 
678 {
679 public:
680  explicit VbaContainerStorageObject(
681  const ObjectBase& rParent,
682  const StorageRef& rxStrg,
683  const OUString& rSysPath );
684 
685 protected:
686  virtual void implDumpStream(
687  const css::uno::Reference< css::io::XInputStream >& rxStrm,
688  const OUString& rStrgPath,
689  const OUString& rStrmName,
690  const OUString& rSysFileName ) override;
691 
692  virtual void implDumpStorage(
693  const StorageRef& rxStrg,
694  const OUString& rStrgPath,
695  const OUString& rSysPath ) override;
696 
697 private:
698  bool isFormStorage( const OUString& rStrgPath ) const;
699 
700 private:
702 };
703 
704 
706 {
707  typedef ::std::map< OUString, sal_Int32 > StreamOffsetMap;
708 
709  StreamOffsetMap maStrmOffsets;
710  rtl_TextEncoding meTextEnc;
711 
712  VbaSharedData();
713 
714  bool isModuleStream( const OUString& rStrmName ) const;
715  sal_Int32 getStreamOffset( const OUString& rStrmName ) const;
716 };
717 
718 
720 {
721 public:
722  explicit VbaDirStreamObject(
723  const ObjectBase& rParent,
724  const BinaryInputStreamRef& rxStrm,
725  const OUString& rSysFileName,
726  VbaSharedData& rVbaData );
727 
728 protected:
729  virtual bool implIsValid() const override;
730  virtual bool implReadRecordHeader( BinaryInputStream& rBaseStrm, sal_Int64& ornRecId, sal_Int64& ornRecSize ) override;
731  virtual void implDumpRecordBody() override;
732 
733 private:
734  OUString dumpByteString( const String& rName );
735  OUString dumpUniString( const String& rName );
736  OUString dumpByteStringWithLength( const String& rName );
737 
738 private:
741  OUString maCurrStream;
742  sal_Int32 mnCurrOffset;
743 };
744 
745 
747 {
748 public:
749  explicit VbaModuleStreamObject(
750  const ObjectBase& rParent,
751  const BinaryInputStreamRef& rxStrm,
752  const OUString& rSysFileName,
753  VbaSharedData& rVbaData,
754  sal_Int32 nStrmOffset );
755 
756 protected:
757  virtual void implDump() override;
758 
759 private:
761  sal_Int32 mnStrmOffset;
762 };
763 
764 
766 {
767 public:
768  explicit VbaStorageObject(
769  const ObjectBase& rParent,
770  const StorageRef& rxStrg,
771  const OUString& rSysPath,
772  VbaSharedData& rVbaData );
773 
774 protected:
775  virtual void implDumpStream(
776  const css::uno::Reference< css::io::XInputStream >& rxStrm,
777  const OUString& rStrgPath,
778  const OUString& rStrmName,
779  const OUString& rSysFileName ) override;
780 
781 private:
783 };
784 
785 
787 {
788 public:
789  explicit VbaFormStorageObject(
790  const ObjectBase& rParent,
791  const StorageRef& rxStrg,
792  const OUString& rSysPath,
793  VbaSharedData& rVbaData );
794 
795 protected:
796  virtual void implDumpStream(
797  const css::uno::Reference< css::io::XInputStream >& rxStrm,
798  const OUString& rStrgPath,
799  const OUString& rStrmName,
800  const OUString& rSysFileName ) override;
801 
802 private:
804 };
805 
806 
808 {
809 public:
810  explicit VbaProjectStorageObject( const ObjectBase& rParent, const StorageRef& rxStrg, const OUString& rSysPath );
811 
812 protected:
813  virtual void implDumpStream(
814  const css::uno::Reference< css::io::XInputStream >& rxStrm,
815  const OUString& rStrgPath,
816  const OUString& rStrmName,
817  const OUString& rSysFileName ) override;
818 
819  virtual void implDumpStorage(
820  const StorageRef& rxStrg,
821  const OUString& rStrgPath,
822  const OUString& rSysPath ) override;
823 
824 private:
826 };
827 
828 
830 {
831 public:
832  explicit ActiveXStorageObject(
833  const ObjectBase& rParent,
834  const StorageRef& rxStrg,
835  const OUString& rSysPath );
836 
837 protected:
838  virtual void implDumpBaseStream(
839  const BinaryInputStreamRef& rxStrm,
840  const OUString& rSysFileName ) override;
841 };
842 
843 
844 } // namespace oox::dump
845 
846 #endif
847 #endif
848 
849 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
OUString dumpUniString(const String &rName)
Definition: oledumper.cxx:1988
Type
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:614
virtual void implDumpCommonTrailing() override
Definition: oledumper.cxx:827
virtual void implDumpProperties() override
Definition: oledumper.cxx:647
virtual void implDumpCommonTrailing()
Definition: oledumper.cxx:526
virtual void implDump() override
Definition: oledumper.cxx:859
OUString dumpUniString32OrStdClip(const String &rName)
Definition: oledumper.cxx:57
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2054
void dumpDictionaryProperty(sal_uInt32 nStartPos)
Definition: oledumper.cxx:317
ComCtlScrollBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:611
exports com.sun.star. io
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1267
StreamProperty(const String &rItemName, sal_uInt16 nData)
Definition: oledumper.hxx:365
ComCtlSliderObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:642
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:783
bool startElement(sal_uInt32 nStartPos)
Definition: oledumper.cxx:466
virtual void implDump() override
Definition: oledumper.cxx:81
void constructAxPropObj(const String &rPropNameList, bool b64BitPropFlags)
Definition: oledumper.cxx:1018
virtual void implDumpExtended() override
Definition: oledumper.cxx:1397
OUString dumpByteString(const String &rName)
Definition: oledumper.cxx:1983
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1205
void writeSectionHeader(const OUString &rGuid, sal_uInt32 nStartPos)
Definition: oledumper.cxx:474
virtual void implDumpRecordBody() override
Definition: oledumper.cxx:1890
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:632
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1573
void dumpCodePageProperty(sal_uInt32 nStartPos)
Definition: oledumper.cxx:296
OUStringVector maClassInfoProgIds
Definition: oledumper.hxx:553
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:805
virtual void implDump() override
Definition: oledumper.cxx:516
::std::vector< OUString > OUStringVector
Definition: dumperbase.hxx:94
VbaStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath, VbaSharedData &rVbaData)
Definition: oledumper.cxx:2017
StreamOffsetMap maStrmOffsets
Definition: oledumper.hxx:709
void dumpFormSites(sal_uInt32 nCount)
Definition: oledumper.cxx:1654
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:673
virtual void implDumpCommonExtra(sal_Int64 nEndPos)
Definition: oledumper.cxx:522
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2040
virtual void implDumpProperties() override
Definition: oledumper.cxx:631
VbaModuleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData, sal_Int32 nStrmOffset)
Definition: oledumper.cxx:1998
std::shared_ptr< StorageBase > StorageRef
Definition: storagebase.hxx:42
StdPicObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:91
ComCtlImageListObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:685
VbaProjectStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:2048
VbaXStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1777
AxCFontNewObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1148
VbaFormSiteObject(const InputObjectBase &rParent, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1525
OlePropertyStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:177
VbaDirStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaSharedData &rVbaData)
Definition: oledumper.cxx:1861
ActiveXStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:2070
void writeOleColorItem(const String &rName, sal_uInt32 nColor)
Definition: oledumper.cxx:63
sal_uInt16 sal_Unicode
void dumpPropertyVector(sal_Int32 nPropId, sal_uInt16 nBaseType)
Definition: oledumper.cxx:380
BinaryInputStreamRef mxInStrm
Definition: oledumper.hxx:740
#define SAL_MAX_UINT16
void dumpPropertyValue(sal_Int32 nPropId, sal_uInt16 nBaseType)
Definition: oledumper.cxx:351
virtual void implDumpExtended() override
Definition: oledumper.cxx:1765
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:748
int nCount
sal_uInt32 dumpFlagsProperty(sal_uInt32 nDefault, const char *pcNameList="AX-FLAGS")
Definition: oledumper.cxx:917
rtl_TextEncoding meTextEnc
Definition: oledumper.hxx:710
virtual void implDump() override
Definition: oledumper.cxx:1784
OUString dumpAnsiString32OrStdClip(const String &rName)
Definition: oledumper.cxx:51
LargeProperty(LargePropertyType ePropType, const String &rItemName, sal_uInt32 nDataSize, OUString *pItemValue=nullptr)
Definition: oledumper.hxx:356
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1598
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1531
VbaOStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1714
sal_uInt32 dumpColorProperty(sal_uInt32 nDefault)
Definition: oledumper.cxx:927
AxColumnInfoObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1165
virtual void implDumpProperties() override
Definition: oledumper.cxx:734
void construct(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
bool dumpTypedProperty(const String &rName, sal_uInt16 nExpectedType)
Definition: oledumper.cxx:439
ComCtlTabStripObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:729
Interface for binary input stream classes.
OUString dumpByteStringWithLength(const String &rName)
Definition: oledumper.cxx:1993
ComCtlProgressBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:626
Type dumpDecProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
Definition: oledumper.hxx:389
void dumpSection(const OUString &rGuid, sal_uInt32 nStartPos)
Definition: oledumper.cxx:218
OUString dumpString16(const String &rName)
Definition: oledumper.cxx:424
VbaFormDesignExtObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1568
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1153
void dumpGuidProperty(OUString *pValue=nullptr)
Definition: oledumper.cxx:965
bool isModuleStream(const OUString &rStrmName) const
Definition: oledumper.cxx:1850
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:495
::std::vector< LargeProperty > LargePropertyVector
Definition: oledumper.hxx:359
void construct(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
virtual void implDumpShortProperties()
Definition: oledumper.cxx:880
Type dumpBorderStyleProperty(Type nDefault)
Definition: oledumper.hxx:314
ComCtlStatusBarObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:793
VbaContainerStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath)
Definition: oledumper.cxx:1803
virtual void implDumpExtended() override
Definition: oledumper.cxx:1630
virtual void implDumpExtended() override
Definition: oledumper.cxx:1242
virtual void implDumpExtended() override
Definition: oledumper.cxx:1284
virtual void implDumpProperties() override
Definition: oledumper.cxx:690
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:2024
AxCommandButtonObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1175
void dumpProperty(sal_Int32 nPropId, sal_uInt32 nStartPos)
Definition: oledumper.cxx:287
void constructFormCtrlStrmObj(const OUString *pProgId)
Definition: oledumper.cxx:1483
OUString getPropertyName() const
Definition: oledumper.cxx:912
sal_Int32 getStreamOffset(const OUString &rStrmName) const
Definition: oledumper.cxx:1855
VbaFormStorageObject(const ObjectBase &rParent, const StorageRef &rxStrg, const OUString &rSysPath, VbaSharedData &rVbaData)
Definition: oledumper.cxx:2034
OUString dumpString(const String &rName, sal_uInt32 nSize, bool bArray)
Definition: oledumper.cxx:1038
virtual void implDumpCommonTrailing() override
Definition: oledumper.cxx:716
void dumpToPosition(sal_Int64 nPos)
Definition: oledumper.cxx:1011
void construct(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, const String &rPropNameList, bool b64BitPropFlags=false)
Definition: oledumper.cxx:840
void dumpStringProperty(OUString *pValue=nullptr)
Definition: oledumper.cxx:971
sal_Int16 nVersion
AxTabStripObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1363
virtual bool implReadRecordHeader(BinaryInputStream &rBaseStrm, sal_Int64 &ornRecId, sal_Int64 &ornRecSize) override
Definition: oledumper.cxx:1878
virtual void implDumpProperties() override
Definition: oledumper.cxx:798
OUString dumpAnsiString32(const String &rName)
Definition: oledumper.cxx:36
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1318
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1294
OUString dumpCharArray16(const String &rName, sal_Int32 nLen)
Definition: oledumper.cxx:430
std::vector< StreamProperty > maStreamProps
Definition: oledumper.hxx:371
AxScrollBarObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1313
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:567
Type dumpSpecialEffectProperty(Type nDefault)
Definition: oledumper.hxx:316
sal_Int32 dumpStdClipboardFormat(const String &rName)
Definition: oledumper.cxx:46
Type dumpHexProperty(Type nDefault, const NameListWrapper &rListWrp=NO_LIST)
Definition: oledumper.hxx:400
virtual void implDumpBaseStream(const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName) override
Definition: oledumper.cxx:2075
void writePropertyHeader(sal_Int32 nPropId, sal_uInt32 nStartPos)
Definition: oledumper.cxx:482
const NameListWrapper NO_LIST
Definition: dumperbase.hxx:736
std::shared_ptr< NameListBase > NameListRef
Definition: dumperbase.hxx:499
bool dumpComCtlData(sal_uInt32 &ornCommonPartSize)
Definition: oledumper.cxx:555
virtual void implDumpStream(const css::uno::Reference< css::io::XInputStream > &rxStrm, const OUString &rStrgPath, const OUString &rStrmName, const OUString &rSysFileName) override
Definition: oledumper.cxx:1809
virtual void implDump() override
Definition: oledumper.cxx:96
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1496
ComCtlObjectBase(const InputObjectBase &rParent, sal_uInt32 nDataId5, sal_uInt32 nDataId6, sal_uInt16 nVersion, bool bCommonPart, bool bComplexPart)
Definition: oledumper.cxx:505
StdFontObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:76
virtual void implDump() override
Definition: oledumper.cxx:1721
unsigned char sal_uInt8
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1745
ComCtlUpDownObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:665
VbaMultiPageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1752
OUString dumpString8(const String &rName)
Definition: oledumper.cxx:410
virtual void implDumpProperties() override
Definition: oledumper.cxx:774
LargePropertyVector maLargeProps
Definition: oledumper.hxx:369
::std::map< OUString, sal_Int32 > StreamOffsetMap
Definition: oledumper.hxx:707
virtual bool implIsValid() const override
Definition: oledumper.cxx:854
virtual void implDump() override
Definition: oledumper.cxx:2007
VbaFormSharedData & mrFormData
Definition: oledumper.hxx:580
std::vector< VbaFormSiteInfo > maSiteInfos
Definition: oledumper.hxx:554
OleStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:103
VbaPageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1740
bool dumpComCtlHeader(sal_uInt32 nExpId, sal_uInt16 nExpMajor=SAL_MAX_UINT16, sal_uInt16 nExpMinor=SAL_MAX_UINT16)
Definition: oledumper.cxx:530
FormControlStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, const OUString *pProgId=nullptr)
Definition: oledumper.cxx:1410
bool ensureValid(bool bCondition=true)
Definition: oledumper.cxx:888
void dumpHlinks(sal_Int32 nSize)
Definition: oledumper.cxx:446
virtual void implDumpProperties() override
Definition: oledumper.cxx:670
virtual bool implIsValid() const override
Definition: oledumper.cxx:1873
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1344
virtual void implDumpCommonExtra(sal_Int64 nEndPos) override
Definition: oledumper.cxx:699
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
Definition: oledumper.cxx:1821
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1368
virtual void implDump() override
Definition: oledumper.cxx:113
VbaFStreamObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1592
virtual void implDumpExtended() override
Definition: oledumper.cxx:1195
bool dumpComCtlCommon(sal_uInt32 nPartSize)
Definition: oledumper.cxx:568
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1757
OUString dumpCharArray8(const String &rName, sal_Int32 nLen)
Definition: oledumper.cxx:416
AxLabelObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1262
virtual void implDump() override
Definition: oledumper.cxx:182
VbaFormClassInfoObject(const InputObjectBase &rParent, VbaFormSharedData &rFormData)
Definition: oledumper.cxx:1490
OUString dumpUniString32(const String &rName)
Definition: oledumper.cxx:41
OleCompObjObject(const ObjectBase &rParent, const BinaryInputStreamRef &rxStrm, const OUString &rSysFileName)
Definition: oledumper.cxx:108
AxMorphControlObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1200
AxImageObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1289
AxSpinButtonObject(const InputObjectBase &rParent)
Definition: oledumper.cxx:1339
sal_uInt16 dumpPropertyContents(sal_Int32 nPropId)
Definition: oledumper.cxx:337
virtual void implDumpProperties() override
Definition: oledumper.cxx:616
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1170
virtual void implDump() override
Definition: oledumper.cxx:1422
virtual void implDumpShortProperties() override
Definition: oledumper.cxx:1180
virtual void implDumpProperties()=0
sal_uInt32 dumpOleColor(const String &rName)
Definition: oledumper.cxx:69
virtual void implDumpStorage(const StorageRef &rxStrg, const OUString &rStrgPath, const OUString &rSysPath) override
Definition: oledumper.cxx:2062
ComCtlTreeViewObject(const InputObjectBase &rParent, sal_uInt16 nVersion)
Definition: oledumper.cxx:768
void dumpBlob(sal_Int32 nPropId, const String &rName)
Definition: oledumper.cxx:397
BinaryInputStreamRef mxStrm
VbaSharedData & mrVbaData
Definition: oledumper.hxx:782
bool isFormStorage(const OUString &rStrgPath) const
Definition: oledumper.cxx:1829