LibreOffice Module oox (master) 1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
oox::ole::AxBinaryPropertyWriter Class Reference

Export helper to write simple and complex ActiveX form control properties to a binary input stream. More...

#include <axbinarywriter.hxx>

Collaboration diagram for oox::ole::AxBinaryPropertyWriter:
[legend]

Classes

struct  ComplexProperty
 Base class for complex properties such as string, point, size, GUID, picture. More...
 
struct  PairProperty
 Complex property for a 32-bit value pair, e.g. More...
 
struct  PictureProperty
 Stream property for a picture or mouse icon. More...
 
struct  StringProperty
 Complex property for a string value. More...
 

Public Member Functions

 AxBinaryPropertyWriter (BinaryOutputStream &rOutStrm, bool b64BitPropFlags=false)
 
template<typename StreamType , typename DataType >
void writeIntProperty (DataType ornValue)
 Write an integer property value to the stream, the respective flag in the property mask is set. More...
 
void writeBoolProperty (bool orbValue)
 Write a boolean property value to the stream, the respective flag in the property mask is set. More...
 
void writePairProperty (AxPairData &orPairData)
 Write a pair property the stream, the respective flag in the property mask is set. More...
 
void writeStringProperty (OUString &orValue)
 Write a string property to the stream, the respective flag in the property mask is set. More...
 
void skipProperty ()
 Skips the next property clears the respective flag in the property mask. More...
 
void finalizeExport ()
 Final processing, write contents of all complex properties, writes record size. More...
 

Private Types

typedef RefVector< ComplexPropertyComplexPropVector
 

Private Member Functions

bool ensureValid ()
 
void startNextProperty (bool bSkip=false)
 

Private Attributes

AxAlignedOutputStream maOutStrm
 The input stream to read from. More...
 
ComplexPropVector maLargeProps
 Stores info for all used large properties. More...
 
ComplexPropVector maStreamProps
 Stores info for all used stream data properties. More...
 
sal_Int16 mnBlockSize
 
sal_Int64 mnPropFlagsStart
 pos of Prop flags More...
 
sal_Int64 mnPropFlags
 Flags specifying existing properties. More...
 
sal_Int64 mnNextProp
 Next property to read. More...
 
bool mbValid
 True = stream still valid. More...
 
bool mb64BitPropFlags
 

Detailed Description

Export helper to write simple and complex ActiveX form control properties to a binary input stream.

Definition at line 79 of file axbinarywriter.hxx.

Member Typedef Documentation

◆ ComplexPropVector

Definition at line 148 of file axbinarywriter.hxx.

Constructor & Destructor Documentation

◆ AxBinaryPropertyWriter()

oox::ole::AxBinaryPropertyWriter::AxBinaryPropertyWriter ( BinaryOutputStream rOutStrm,
bool  b64BitPropFlags = false 
)
explicit

Member Function Documentation

◆ ensureValid()

bool oox::ole::AxBinaryPropertyWriter::ensureValid ( )
private

Definition at line 186 of file axbinarywriter.cxx.

References oox::BinaryStreamBase::isEof(), maOutStrm, and mbValid.

Referenced by finalizeExport().

◆ finalizeExport()

void oox::ole::AxBinaryPropertyWriter::finalizeExport ( )

◆ skipProperty()

void oox::ole::AxBinaryPropertyWriter::skipProperty ( )
inline

◆ startNextProperty()

void oox::ole::AxBinaryPropertyWriter::startNextProperty ( bool  bSkip = false)
private

◆ writeBoolProperty()

void oox::ole::AxBinaryPropertyWriter::writeBoolProperty ( bool  orbValue)

Write a boolean property value to the stream, the respective flag in the property mask is set.

Definition at line 130 of file axbinarywriter.cxx.

References startNextProperty().

Referenced by oox::ole::AxCommandButtonModel::exportBinaryModel(), oox::ole::AxImageModel::exportBinaryModel(), and oox::ole::AxMorphDataModelBase::exportBinaryModel().

◆ writeIntProperty()

template<typename StreamType , typename DataType >
void oox::ole::AxBinaryPropertyWriter::writeIntProperty ( DataType  ornValue)
inline

◆ writePairProperty()

void oox::ole::AxBinaryPropertyWriter::writePairProperty ( AxPairData orPairData)

◆ writeStringProperty()

void oox::ole::AxBinaryPropertyWriter::writeStringProperty ( OUString &  orValue)

Member Data Documentation

◆ maLargeProps

ComplexPropVector oox::ole::AxBinaryPropertyWriter::maLargeProps
private

Stores info for all used large properties.

Definition at line 152 of file axbinarywriter.hxx.

Referenced by finalizeExport(), writePairProperty(), and writeStringProperty().

◆ maOutStrm

AxAlignedOutputStream oox::ole::AxBinaryPropertyWriter::maOutStrm
private

The input stream to read from.

Definition at line 151 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), ensureValid(), finalizeExport(), writeIntProperty(), and writeStringProperty().

◆ maStreamProps

ComplexPropVector oox::ole::AxBinaryPropertyWriter::maStreamProps
private

Stores info for all used stream data properties.

Definition at line 153 of file axbinarywriter.hxx.

Referenced by finalizeExport().

◆ mb64BitPropFlags

bool oox::ole::AxBinaryPropertyWriter::mb64BitPropFlags
private

Definition at line 159 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().

◆ mbValid

bool oox::ole::AxBinaryPropertyWriter::mbValid
private

True = stream still valid.

Definition at line 158 of file axbinarywriter.hxx.

Referenced by ensureValid().

◆ mnBlockSize

sal_Int16 oox::ole::AxBinaryPropertyWriter::mnBlockSize
private

Definition at line 154 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().

◆ mnNextProp

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnNextProp
private

Next property to read.

Definition at line 157 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and startNextProperty().

◆ mnPropFlags

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnPropFlags
private

Flags specifying existing properties.

Definition at line 156 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), finalizeExport(), and startNextProperty().

◆ mnPropFlagsStart

sal_Int64 oox::ole::AxBinaryPropertyWriter::mnPropFlagsStart
private

pos of Prop flags

Definition at line 155 of file axbinarywriter.hxx.

Referenced by AxBinaryPropertyWriter(), and finalizeExport().


The documentation for this class was generated from the following files: