diff options
author | Daniel Rentz <dr@openoffice.org> | 2010-06-15 20:02:53 +0200 |
---|---|---|
committer | Daniel Rentz <dr@openoffice.org> | 2010-06-15 20:02:53 +0200 |
commit | 614e369c4cb48ea4bcafcae6c29f412e20a4e6a7 (patch) | |
tree | 94db359dfc245e110cad55b7d698cda439ffd390 /oox/inc/oox/ole/axbinaryreader.hxx | |
parent | f98601b66a4bdfea70771cac44eb8f45faf70e33 (diff) |
mib16: contributed bugfixes and various new symbols in VBA compatibility implementation
Diffstat (limited to 'oox/inc/oox/ole/axbinaryreader.hxx')
-rwxr-xr-x | oox/inc/oox/ole/axbinaryreader.hxx | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/oox/inc/oox/ole/axbinaryreader.hxx b/oox/inc/oox/ole/axbinaryreader.hxx index d036e958a446..e3f102716e17 100755 --- a/oox/inc/oox/ole/axbinaryreader.hxx +++ b/oox/inc/oox/ole/axbinaryreader.hxx @@ -87,6 +87,9 @@ private: /** A pair of integer values as a property. */ typedef ::std::pair< sal_Int32, sal_Int32 > AxPairData; +/** An array of string values as a property. */ +typedef ::std::vector< ::rtl::OUString > AxStringArray; + // ============================================================================ const sal_uInt32 AX_FONTDATA_BOLD = 0x00000001; @@ -149,6 +152,9 @@ public: /** Reads the next string property from the stream, if the respective flag in the property mask is set. */ void readStringProperty( ::rtl::OUString& orValue ); + /** Reads a string array property from the stream, if the respective flag + in the property mask is set. */ + void readStringArrayProperty( AxStringArray& orArray ); /** Reads the next GUID property from the stream, if the respective flag in the property mask is set. The GUID will be enclosed in braces. */ void readGuidProperty( ::rtl::OUString& orGuid ); @@ -172,6 +178,9 @@ public: /** Skips the next string property in the stream, if the respective flag in the property mask is set. */ inline void skipStringProperty() { readStringProperty( maDummyString ); } + /** Skips the next string array property in the stream, if the respective + flag in the property mask is set. */ + inline void skipStringArrayProperty() { readStringArrayProperty( maDummyStringArray ); } /** Skips the next GUID property in the stream, if the respective flag in the property mask is set. */ inline void skipGuidProperty() { readGuidProperty( maDummyString ); } @@ -221,6 +230,16 @@ private: virtual bool readProperty( AxAlignedInputStream& rInStrm ); }; + /** Complex property for an array of strings. */ + struct StringArrayProperty : public ComplexProperty + { + AxStringArray& mrArray; + sal_uInt32 mnSize; + inline explicit StringArrayProperty( AxStringArray& rArray, sal_uInt32 nSize ) : + mrArray( rArray ), mnSize( nSize ) {} + virtual bool readProperty( AxAlignedInputStream& rInStrm ); + }; + /** Complex property for a GUID value. */ struct GuidProperty : public ComplexProperty { @@ -261,6 +280,7 @@ private: AxFontData maDummyFontData; /// Dummy font for unsupported properties. StreamDataSequence maDummyPicData; /// Dummy picture for unsupported properties. ::rtl::OUString maDummyString; /// Dummy string for unsupported properties. + AxStringArray maDummyStringArray; /// Dummy string array for unsupported properties. sal_Int64 mnPropFlags; /// Flags specifying existing properties. sal_Int64 mnNextProp; /// Next property to read. sal_Int64 mnPropsEnd; /// End position of simple/large properties. |