summaryrefslogtreecommitdiff
path: root/oox/inc/oox/ole/axbinaryreader.hxx
diff options
context:
space:
mode:
authorDaniel Rentz <dr@openoffice.org>2010-06-15 20:02:53 +0200
committerDaniel Rentz <dr@openoffice.org>2010-06-15 20:02:53 +0200
commit614e369c4cb48ea4bcafcae6c29f412e20a4e6a7 (patch)
tree94db359dfc245e110cad55b7d698cda439ffd390 /oox/inc/oox/ole/axbinaryreader.hxx
parentf98601b66a4bdfea70771cac44eb8f45faf70e33 (diff)
mib16: contributed bugfixes and various new symbols in VBA compatibility implementation
Diffstat (limited to 'oox/inc/oox/ole/axbinaryreader.hxx')
-rwxr-xr-xoox/inc/oox/ole/axbinaryreader.hxx20
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.