RegistryTypeWriter writes/creates a binary type blob. More...
#include <reflwrit.hxx>
Public Member Functions | |
RegistryTypeWriter (RTTypeClass RTTypeClass, const ::rtl::OUString &typeName, const ::rtl::OUString &superTypeName, sal_uInt16 fieldCount, sal_uInt16 methodCount, sal_uInt16 referenceCount) | |
Constructor. | |
RegistryTypeWriter (const RegistryTypeWriter &toCopy) | |
Copy constructcor. | |
~RegistryTypeWriter () | |
Destructor. | |
RegistryTypeWriter & | operator== (const RegistryTypeWriter &toAssign) |
Assign operator. | |
void | setUik (const RTUik &uik) |
void | setDoku (const ::rtl::OUString &doku) |
sets a documentation string for the type. | |
void | setFileName (const ::rtl::OUString &fileName) |
sets the IDL filename where this type is defined. | |
void | setFieldData (sal_uInt16 index, const ::rtl::OUString &name, const ::rtl::OUString &typeName, const ::rtl::OUString &doku, const ::rtl::OUString &fileName, RTFieldAccess access, RTConstValue constValue=RTConstValue()) |
sets the data for a field member of a type blob. | |
void | setMethodData (sal_uInt16 index, const ::rtl::OUString &name, const ::rtl::OUString &returnTypeName, RTMethodMode mode, sal_uInt16 paramCount, sal_uInt16 excCount, const ::rtl::OUString &doku) |
sets the data for a method. | |
void | setParamData (sal_uInt16 index, sal_uInt16 paramIndex, const ::rtl::OUString &type, const ::rtl::OUString &name, RTParamMode mode) |
sets the data for the specified parameter of a method. | |
void | setExcData (sal_uInt16 index, sal_uInt16 excIndex, const ::rtl::OUString &type) |
sets the data for the specified exception of a mehtod. | |
const sal_uInt8 * | getBlop () |
returns a pointer to the new type blob. | |
sal_uInt32 | getBlopSize () |
returns the size of the new type blob in bytes. | |
void | setReferenceData (sal_uInt16 index, const ::rtl::OUString &name, RTReferenceType refType, const ::rtl::OUString &doku, RTFieldAccess access=RT_ACCESS_INVALID) |
sets the data for a reference member. | |
Protected Attributes | |
const RegistryTypeWriter_Api * | m_pApi |
stores the registry type writer Api. | |
TypeWriterImpl | m_hImpl |
stores the handle of an implementation class |
RegistryTypeWriter writes/creates a binary type blob.
This class provides the necessary functions to write type informations for all kinds of types into a blob. The class is inline and use a C-Api.
RegistryTypeWriter::RegistryTypeWriter | ( | RTTypeClass | RTTypeClass, | |
const ::rtl::OUString & | typeName, | |||
const ::rtl::OUString & | superTypeName, | |||
sal_uInt16 | fieldCount, | |||
sal_uInt16 | methodCount, | |||
sal_uInt16 | referenceCount | |||
) | [inline] |
Constructor.
RTTypeClass | specifies the type of the new blob. | |
typeName | specifies the full qualified type name with '/' as separator. | |
superTypeName | specifies the full qualified type name of the base type with '/' as separator. | |
fieldCount | specifies the number of fields (eg. number of attrbutes/properties, enum values or constants). | |
methodCount | specifies the number of methods. | |
referenceCount | specifies the number of references (eg. number of supported interfaces, exported services ...) |
RegistryTypeWriter::RegistryTypeWriter | ( | const RegistryTypeWriter & | toCopy | ) | [inline] |
Copy constructcor.
RegistryTypeWriter::~RegistryTypeWriter | ( | ) | [inline] |
Destructor.
The Destructor frees the internal data block.
The pointer (returned by getBlop) will be set to NULL.
const sal_uInt8 * RegistryTypeWriter::getBlop | ( | ) | [inline] |
returns a pointer to the new type blob.
The pointer will be invalid (NULL) if the instance of the RegistryTypeWriter will be destroyed.
sal_uInt32 RegistryTypeWriter::getBlopSize | ( | ) | [inline] |
returns the size of the new type blob in bytes.
RegistryTypeWriter & RegistryTypeWriter::operator== | ( | const RegistryTypeWriter & | toAssign | ) | [inline] |
Assign operator.
void RegistryTypeWriter::setDoku | ( | const ::rtl::OUString & | doku | ) | [inline] |
sets a documentation string for the type.
This documentation should be the same as the documentation which is provided for this type in IDL.
void RegistryTypeWriter::setExcData | ( | sal_uInt16 | index, | |
sal_uInt16 | excIndex, | |||
const ::rtl::OUString & | type | |||
) | [inline] |
sets the data for the specified exception of a mehtod.
index | indicates the index of the method. | |
excIndex | specifies the index of the exception. | |
type | specifies the full qualified typename of the exception. |
void RegistryTypeWriter::setFieldData | ( | sal_uInt16 | index, | |
const ::rtl::OUString & | name, | |||
const ::rtl::OUString & | typeName, | |||
const ::rtl::OUString & | doku, | |||
const ::rtl::OUString & | fileName, | |||
RTFieldAccess | access, | |||
RTConstValue | constValue = RTConstValue() | |||
) | [inline] |
sets the data for a field member of a type blob.
index | indicates the index of the field. | |
name | specifies the name. | |
typeName | specifies the full qualified typename. | |
doku | specifies the documentation string of the field. | |
fileName | specifies the name of the IDL file where the field is defined. | |
access | specifies the access mode of the field. | |
constValue | specifies the value of the field. The value is only interesting for enum values or constants. |
void RegistryTypeWriter::setFileName | ( | const ::rtl::OUString & | fileName | ) | [inline] |
sets the IDL filename where this type is defined.
void RegistryTypeWriter::setMethodData | ( | sal_uInt16 | index, | |
const ::rtl::OUString & | name, | |||
const ::rtl::OUString & | returnTypeName, | |||
RTMethodMode | mode, | |||
sal_uInt16 | paramCount, | |||
sal_uInt16 | excCount, | |||
const ::rtl::OUString & | doku | |||
) | [inline] |
sets the data for a method.
index | indicates the index of the method. | |
name | specifies the name. | |
returnTypeName | specifies the full qualified return typename. | |
mode | specifies the method mode. | |
paramCount | specifies the number of parameters. | |
excCount | specifies the number of exceptions. | |
doku | specifies the documentation string of the field. |
void RegistryTypeWriter::setParamData | ( | sal_uInt16 | index, | |
sal_uInt16 | paramIndex, | |||
const ::rtl::OUString & | type, | |||
const ::rtl::OUString & | name, | |||
RTParamMode | mode | |||
) | [inline] |
sets the data for the specified parameter of a method.
index | indicates the index of the method. | |
paramIndex | specifies the index of the parameter. | |
type | specifies the full qualified typename. | |
name | specifies the name. | |
mode | specifies the parameter mode. |
void RegistryTypeWriter::setReferenceData | ( | sal_uInt16 | index, | |
const ::rtl::OUString & | name, | |||
RTReferenceType | refType, | |||
const ::rtl::OUString & | doku, | |||
RTFieldAccess | access = RT_ACCESS_INVALID | |||
) | [inline] |
sets the data for a reference member.
index | indicates the index of the reference. | |
name | specifies the name. | |
refType | specifies the full qualified typename of the reference. | |
doku | specifies the documentation string of the reference. | |
access | specifies the access mode of the reference. |
void RegistryTypeWriter::setUik | ( | const RTUik & | uik | ) | [inline] |
An earlier version of UNO used an unique identifier for interfaces. In the current version of UNO this uik was eliminated and this function is not longer used.
TypeWriterImpl RegistryTypeWriter::m_hImpl [protected] |
stores the handle of an implementation class
const RegistryTypeWriter_Api* RegistryTypeWriter::m_pApi [protected] |
stores the registry type writer Api.