20 #ifndef INCLUDED_OOX_OLE_AXBINARYREADER_HXX
21 #define INCLUDED_OOX_OLE_AXBINARYREADER_HXX
30 #include <rtl/ustring.hxx>
33 namespace 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 >
176 mrPairData( rPairData ) {}
187 mrValue( rValue ), mnSize( nSize ) {}
197 mrArray( rArray ), mnSize( nSize ) {}
217 mrFontData( rFontData ) {}
227 mrPicData( rPicData ) {}
void readPairProperty(AxPairData &orPairData)
Reads the next pair 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...
GuidProperty(OUString &rGuid)
OUString maDummyString
Dummy string for unsupported properties.
StringProperty(OUString &rValue, sal_uInt32 nSize)
bool mbValid
True = stream still valid.
sal_Int64 mnPropFlags
Flags specifying existing properties.
StreamDataSequence & mrPicData
void readArrayStringProperty(std::vector< OUString > &rStrings)
Reads ArrayString, an array of fmString ( compressed or uncompressed ) is read from the stream and in...
sal_Int64 mnNextProp
Next property to read.
::std::pair< sal_Int32, sal_Int32 > AxPairData
A pair of integer values as a property.
void skipStringProperty()
Skips the next string property in the stream, if the respective flag in the property mask is set...
All entries of a font property.
FontProperty(AxFontData &rFontData)
ComplexPropVector maLargeProps
Stores info for all used large properties.
Stream property for a picture or mouse icon.
::std::vector< OUString > AxArrayString
An array of string values as a property.
StreamDataSequence maDummyPicData
Dummy picture for unsupported properties.
void skipBoolProperty()
Skips the next boolean property value in the stream, if the respective flag in the property mask is s...
Complex property for a 32-bit value pair, e.g.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
void skipIntProperty()
Skips the next integer property value in the stream, if the respective flag in the property mask is s...
virtual ~ComplexProperty()
void readIntProperty(DataType &ornValue)
Reads the next integer property value from the stream, if the respective flag in the property mask is...
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
Import helper to read simple and complex ActiveX form control properties from a binary input stream...
css::uno::Sequence< sal_Int8 > StreamDataSequence
Stream property for a font structure.
Base class for complex properties such as string, point, size, GUID, picture.
Complex property for an array of strings.
ArrayStringProperty(AxArrayString &rArray, sal_uInt32 nSize)
RefVector< ComplexProperty > ComplexPropVector
Complex property for a GUID value.
virtual bool readProperty(AxAlignedInputStream &rInStrm)=0
void skipGuidProperty()
Skips the next GUID property in 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 readPictureProperty(StreamDataSequence &orPicData)
Reads the next picture property from the stream, if the respective flag in the property mask is set...
Complex property for a string value.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
PictureProperty(StreamDataSequence &rPicData)
AxAlignedInputStream maInStrm
The input stream to read from.
void skipArrayStringProperty()
Skips the next ArrayString property in the stream, if the respective flag in the property mask is set...
void skipUndefinedProperty()
Has to be called for undefined properties.
AxArrayString maDummyArrayString
Dummy strings for unsupported ArrayString properties.
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
void skipPictureProperty()
Skips the next picture property in the stream, if the respective flag in the property mask is set...
virtual bool readProperty(AxAlignedInputStream &rInStrm) override
PairProperty(AxPairData &rPairData)
void readGuidProperty(OUString &orGuid)
Reads the next GUID property from the stream, if the respective flag in the property mask is set...
ComplexPropVector maStreamProps
Stores info for all used stream data properties.
bool ensureValid(bool bCondition=true)
bool finalizeImport()
Final processing, reads contents of all complex properties.
sal_Int64 mnPropsEnd
End position of simple/large 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...
AxBinaryPropertyReader(BinaryInputStream &rInStrm, bool b64BitPropFlags=false)