20#ifndef INCLUDED_OOX_OLE_AXBINARYREADER_HXX
21#define INCLUDED_OOX_OLE_AXBINARYREADER_HXX
30#include <rtl/ustring.hxx>
33namespace oox::ole {
struct AxFontData; }
53 virtual sal_Int64
size()
const override;
56 virtual sal_Int64
tell()
const override;
59 virtual void seek( sal_Int64
nPos )
override;
61 virtual void close()
override;
68 virtual sal_Int32
readMemory(
void* opMem, sal_Int32 nBytes,
size_t nAtomSize = 1 )
override;
70 virtual void skip( sal_Int32 nBytes,
size_t nAtomSize = 1 )
override;
74 void align(
size_t nSize );
77 template<
typename Type >
81 template<
typename Type >
107 template<
typename StreamType,
typename DataType >
134 template<
typename StreamType >
Import helper to read simple and complex ActiveX form control properties from a binary input stream.
ComplexPropVector maLargeProps
Stores info for all used large properties.
void skipGuidProperty()
Skips the next GUID property in the stream, if the respective flag in the property mask is set.
void readIntProperty(DataType &ornValue)
Reads the next integer property value from the stream, if the respective flag in the property mask is...
bool finalizeImport()
Final processing, reads contents of all complex properties.
void skipIntProperty()
Skips the next integer property value in the stream, if the respective flag in the property mask is s...
OUString maDummyString
Dummy string for unsupported properties.
AxBinaryPropertyReader(BinaryInputStream &rInStrm, bool b64BitPropFlags=false)
bool ensureValid(bool bCondition=true)
void skipArrayStringProperty()
Skips the next ArrayString property in the stream, if the respective flag in the property mask is set...
void readGuidProperty(OUString &orGuid)
Reads the next GUID property from the stream, if the respective flag in the property mask is set.
void readFontProperty(AxFontData &orFontData)
Reads the next font property from the stream, if the respective flag in the property mask is set.
void readStringProperty(OUString &orValue)
Reads the next string property from the stream, if the respective flag in the property mask is set.
void skipBoolProperty()
Skips the next boolean property value in the stream, if the respective flag in the property mask is s...
void readPairProperty(AxPairData &orPairData)
Reads the next pair property from the stream, if the respective flag in the property mask is set.
void skipPictureProperty()
Skips the next picture property in the stream, if the respective flag in the property mask is set.
void skipUndefinedProperty()
Has to be called for undefined properties.
RefVector< ComplexProperty > ComplexPropVector
StreamDataSequence maDummyPicData
Dummy picture for unsupported properties.
AxArrayString maDummyArrayString
Dummy strings for unsupported ArrayString properties.
sal_Int64 mnPropsEnd
End position of simple/large properties.
sal_Int64 mnPropFlags
Flags specifying existing properties.
void skipStringProperty()
Skips the next string property in the stream, if the respective flag in the property mask is set.
bool mbValid
True = stream still valid.
void readArrayStringProperty(std::vector< OUString > &rStrings)
Reads ArrayString, an array of fmString ( compressed or uncompressed ) is read from the stream and in...
ComplexPropVector maStreamProps
Stores info for all used stream data properties.
void readBoolProperty(bool &orbValue, bool bReverse=false)
Reads the next boolean property value from the stream, if the respective flag in the property mask is...
AxAlignedInputStream maInStrm
The input stream to read from.
void readPictureProperty(StreamDataSequence &orPicData)
Reads the next picture property from the stream, if the respective flag in the property mask is set.
sal_Int64 mnNextProp
Next property to read.
DataType
Specifiers for atomic data types.
::std::pair< sal_Int32, sal_Int32 > AxPairData
A pair of integer values as a property.
::std::vector< OUString > AxArrayString
An array of string values as a property.
css::uno::Sequence< sal_Int8 > StreamDataSequence
Complex property for an array of strings.
ArrayStringProperty(AxArrayString &rArray, sal_uInt32 nSize)
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
Base class for complex properties such as string, point, size, GUID, picture.
virtual ~ComplexProperty()
virtual bool readProperty(AxAlignedInputStream &rInStrm)=0
Stream property for a font structure.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
FontProperty(AxFontData &rFontData)
Complex property for a GUID value.
GuidProperty(OUString &rGuid)
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
Complex property for a 32-bit value pair, e.g.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
PairProperty(AxPairData &rPairData)
Stream property for a picture or mouse icon.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
PictureProperty(StreamDataSequence &rPicData)
StreamDataSequence & mrPicData
Complex property for a string value.
StringProperty(OUString &rValue, sal_uInt32 nSize)
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
All entries of a font property.