LibreOffice
LibreOffice 7.4 SDK C/C++ API Reference
Classes | Typedefs | Functions
typedescription.h File Reference
#include "cppu/cppudllapi.h"
#include "typelib/uik.h"
#include "typelib/typeclass.h"
#include "rtl/ustring.h"

Go to the source code of this file.

Classes

struct  _typelib_TypeDescriptionReference
 Holds a weak reference to a type description. More...
 
struct  _typelib_TypeDescription
 Full type description of a type. More...
 
struct  _typelib_CompoundTypeDescription
 Type description for exception types. More...
 
struct  _typelib_StructTypeDescription
 Type description for struct types. More...
 
struct  _typelib_IndirectTypeDescription
 Type description of a sequence. More...
 
struct  _typelib_EnumTypeDescription
 Type description of an enum. More...
 
struct  _typelib_MethodParameter
 Description of an interface method parameter. More...
 
struct  _typelib_InterfaceMemberTypeDescription
 Common base type description of typelib_InterfaceMethodTypeDescription and typelib_InterfaceAttributeTypeDescription. More...
 
struct  _typelib_InterfaceMethodTypeDescription
 Type description of an interface method. More...
 
struct  _typelib_InterfaceAttributeTypeDescription
 The description of an interface attribute. More...
 
struct  _typelib_InterfaceTypeDescription
 Type description of an interface. More...
 
struct  _typelib_CompoundMember_Init
 Init struct of compound members for typelib_typedescription_new(). More...
 
struct  _typelib_StructMember_Init
 Init struct of members for typelib_typedescription_newStruct(). More...
 
struct  _typelib_Parameter_Init
 Init struct of interface methods for typelib_typedescription_new(). More...
 

Typedefs

typedef struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
 Holds a weak reference to a type description. More...
 
typedef struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescription typelib_TypeDescription
 Full type description of a type. More...
 
typedef struct _typelib_CompoundTypeDescription typelib_CompoundTypeDescription
 Type description for exception types. More...
 
typedef struct _typelib_StructTypeDescription typelib_StructTypeDescription
 Type description for struct types. More...
 
typedef struct _typelib_IndirectTypeDescription typelib_IndirectTypeDescription
 Type description of a sequence. More...
 
typedef struct _typelib_EnumTypeDescription typelib_EnumTypeDescription
 Type description of an enum. More...
 
typedef struct _typelib_MethodParameter typelib_MethodParameter
 Description of an interface method parameter. More...
 
typedef struct _typelib_InterfaceMemberTypeDescription typelib_InterfaceMemberTypeDescription
 Common base type description of typelib_InterfaceMethodTypeDescription and typelib_InterfaceAttributeTypeDescription. More...
 
typedef struct _typelib_InterfaceMethodTypeDescription typelib_InterfaceMethodTypeDescription
 Type description of an interface method. More...
 
typedef struct _typelib_InterfaceAttributeTypeDescription typelib_InterfaceAttributeTypeDescription
 The description of an interface attribute. More...
 
typedef struct SAL_DLLPUBLIC_RTTI _typelib_InterfaceTypeDescription typelib_InterfaceTypeDescription
 Type description of an interface. More...
 
typedef struct _typelib_CompoundMember_Init typelib_CompoundMember_Init
 Init struct of compound members for typelib_typedescription_new(). More...
 
typedef struct _typelib_StructMember_Init typelib_StructMember_Init
 Init struct of members for typelib_typedescription_newStruct(). More...
 
typedef struct _typelib_Parameter_Init typelib_Parameter_Init
 Init struct of interface methods for typelib_typedescription_new(). More...
 
typedef void(* typelib_typedescription_Callback) (void *pContext, typelib_TypeDescription **ppRet, rtl_uString *pTypeName)
 Function pointer declaration of callback function get additional descriptions. More...
 

Functions

CPPU_DLLPUBLIC void typelib_typedescription_newEnum (typelib_TypeDescription **ppRet, rtl_uString *pTypeName, sal_Int32 nDefaultValue, sal_Int32 nEnumValues, rtl_uString **ppEnumNames, sal_Int32 *pEnumValues) SAL_THROW_EXTERN_C()
 Creates an enum type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_new (typelib_TypeDescription **ppRet, typelib_TypeClass eTypeClass, rtl_uString *pTypeName, typelib_TypeDescriptionReference *pType, sal_Int32 nMembers, typelib_CompoundMember_Init *pMembers) SAL_THROW_EXTERN_C()
 Creates a new type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newStruct (typelib_TypeDescription **ppRet, rtl_uString *pTypeName, typelib_TypeDescriptionReference *pType, sal_Int32 nMembers, typelib_StructMember_Init *pMembers) SAL_THROW_EXTERN_C()
 Creates a new struct type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newInterface (typelib_InterfaceTypeDescription **ppRet, rtl_uString *pTypeName, sal_uInt32 nUik1, sal_uInt16 nUik2, sal_uInt16 nUik3, sal_uInt32 nUik4, sal_uInt32 nUik5, typelib_TypeDescriptionReference *pBaseInterface, sal_Int32 nMembers, typelib_TypeDescriptionReference **ppMembers) SAL_THROW_EXTERN_C()
 Creates an interface type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newMIInterface (typelib_InterfaceTypeDescription **ppRet, rtl_uString *pTypeName, sal_uInt32 nUik1, sal_uInt16 nUik2, sal_uInt16 nUik3, sal_uInt32 nUik4, sal_uInt32 nUik5, sal_Int32 nBaseInterfaces, typelib_TypeDescriptionReference **ppBaseInterfaces, sal_Int32 nMembers, typelib_TypeDescriptionReference **ppMembers) SAL_THROW_EXTERN_C()
 Creates a multiple-inheritance interface type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newInterfaceMethod (typelib_InterfaceMethodTypeDescription **ppRet, sal_Int32 nAbsolutePosition, sal_Bool bOneWay, rtl_uString *pMethodName, typelib_TypeClass eReturnTypeClass, rtl_uString *pReturnTypeName, sal_Int32 nParams, typelib_Parameter_Init *pParams, sal_Int32 nExceptions, rtl_uString **ppExceptionNames) SAL_THROW_EXTERN_C()
 Creates an interface method type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newInterfaceAttribute (typelib_InterfaceAttributeTypeDescription **ppRet, sal_Int32 nAbsolutePosition, rtl_uString *pAttributeName, typelib_TypeClass eAttributeTypeClass, rtl_uString *pAttributeTypeName, sal_Bool bReadOnly) SAL_THROW_EXTERN_C()
 Creates an interface attribute type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_newExtendedInterfaceAttribute (typelib_InterfaceAttributeTypeDescription **ppRet, sal_Int32 nAbsolutePosition, rtl_uString *pAttributeName, typelib_TypeClass eAttributeTypeClass, rtl_uString *pAttributeTypeName, sal_Bool bReadOnly, sal_Int32 nGetExceptions, rtl_uString **ppGetExceptionNames, sal_Int32 nSetExceptions, rtl_uString **ppSetExceptionNames) SAL_THROW_EXTERN_C()
 Creates an extended interface attribute type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_acquire (typelib_TypeDescription *pDesc) SAL_THROW_EXTERN_C()
 Increments reference count of given type description. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_release (typelib_TypeDescription *pDesc) SAL_THROW_EXTERN_C()
 Decrements reference count of given type. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_register (typelib_TypeDescription **ppNewDescription) SAL_THROW_EXTERN_C()
 Registers a type description and creates a type description reference. More...
 
CPPU_DLLPUBLIC sal_Bool typelib_typedescription_equals (const typelib_TypeDescription *p1, const typelib_TypeDescription *p2) SAL_THROW_EXTERN_C()
 Tests whether two types descriptions are equal, i.e. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_getByName (typelib_TypeDescription **ppRet, rtl_uString *pName) SAL_THROW_EXTERN_C()
 Retrieves a type description via its fully qualified name. More...
 
CPPU_DLLPUBLIC void typelib_setCacheSize (sal_Int32 nNewSize) SAL_THROW_EXTERN_C()
 Sets size of type description cache. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_registerCallback (void *pContext, typelib_typedescription_Callback pCallback) SAL_THROW_EXTERN_C()
 Registers callback function providing additional type descriptions. More...
 
CPPU_DLLPUBLIC void typelib_typedescription_revokeCallback (void *pContext, typelib_typedescription_Callback pCallback) SAL_THROW_EXTERN_C()
 Revokes a previously registered callback function. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_new (typelib_TypeDescriptionReference **ppTDR, typelib_TypeClass eTypeClass, rtl_uString *pTypeName) SAL_THROW_EXTERN_C()
 Creates a type description reference. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_newByAsciiName (typelib_TypeDescriptionReference **ppTDR, typelib_TypeClass eTypeClass, const char *pTypeName) SAL_THROW_EXTERN_C()
 Creates a type description reference. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_acquire (typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
 Increments reference count of type description reference. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_release (typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
 Increments reference count of type description reference. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_getDescription (typelib_TypeDescription **ppRet, typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
 Retrieves the type description for a given reference. More...
 
CPPU_DLLPUBLIC sal_Bool typelib_typedescriptionreference_equals (const typelib_TypeDescriptionReference *p1, const typelib_TypeDescriptionReference *p2) SAL_THROW_EXTERN_C()
 Tests whether two types description references are equal, i.e. More...
 
CPPU_DLLPUBLIC void typelib_typedescriptionreference_assign (typelib_TypeDescriptionReference **ppDest, typelib_TypeDescriptionReference *pSource) SAL_THROW_EXTERN_C()
 Assigns a type. More...
 
CPPU_DLLPUBLIC sal_Bool typelib_typedescription_isAssignableFrom (typelib_TypeDescription *pAssignable, typelib_TypeDescription *pFrom) SAL_THROW_EXTERN_C()
 Tests if values of type pAssignable can be assigned by values of type pFrom. More...
 
CPPU_DLLPUBLIC sal_Bool typelib_typedescriptionreference_isAssignableFrom (typelib_TypeDescriptionReference *pAssignable, typelib_TypeDescriptionReference *pFrom) SAL_THROW_EXTERN_C()
 Tests if values of type pAssignable can be assigned by values of type pFrom. More...
 
CPPU_DLLPUBLIC typelib_TypeDescriptionReference ** typelib_static_type_getByTypeClass (typelib_TypeClass eTypeClass) SAL_THROW_EXTERN_C()
 Gets static type reference of standard types by type class. More...
 
CPPU_DLLPUBLIC void typelib_static_type_init (typelib_TypeDescriptionReference **ppRef, typelib_TypeClass eTypeClass, const char *pTypeName) SAL_THROW_EXTERN_C()
 Inits static type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_sequence_type_init (typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType) SAL_THROW_EXTERN_C()
 Inits static sequence type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_compound_type_init (typelib_TypeDescriptionReference **ppRef, typelib_TypeClass eTypeClass, const char *pTypeName, typelib_TypeDescriptionReference *pBaseType, sal_Int32 nMembers, typelib_TypeDescriptionReference **ppMembers) SAL_THROW_EXTERN_C()
 Inits incomplete static compound type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_struct_type_init (typelib_TypeDescriptionReference **ppRef, const char *pTypeName, typelib_TypeDescriptionReference *pBaseType, sal_Int32 nMembers, typelib_TypeDescriptionReference **ppMembers, sal_Bool const *pParameterizedTypes) SAL_THROW_EXTERN_C()
 Inits incomplete static struct type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_interface_type_init (typelib_TypeDescriptionReference **ppRef, const char *pTypeName, typelib_TypeDescriptionReference *pBaseType) SAL_THROW_EXTERN_C()
 Inits incomplete static interface type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_mi_interface_type_init (typelib_TypeDescriptionReference **ppRef, const char *pTypeName, sal_Int32 nBaseTypes, typelib_TypeDescriptionReference **ppBaseTypes) SAL_THROW_EXTERN_C()
 Inits incomplete static multiple-inheritance interface type reference. More...
 
CPPU_DLLPUBLIC void typelib_static_enum_type_init (typelib_TypeDescriptionReference **ppRef, const char *pTypeName, sal_Int32 nDefaultValue) SAL_THROW_EXTERN_C()
 Inits incomplete static enum type reference. More...
 
CPPU_DLLPUBLIC sal_Bool typelib_typedescription_complete (typelib_TypeDescription **ppTypeDescr) SAL_THROW_EXTERN_C()
 Completes a typedescription to be used for, e.g., marshalling values. More...
 

Typedef Documentation

◆ typelib_CompoundMember_Init

Init struct of compound members for typelib_typedescription_new().

◆ typelib_CompoundTypeDescription

Type description for exception types.

◆ typelib_EnumTypeDescription

Type description of an enum.

The type class of this description is typelib_TypeClass_ENUM.

◆ typelib_IndirectTypeDescription

Type description of a sequence.

◆ typelib_InterfaceAttributeTypeDescription

The description of an interface attribute.

The type class of this description is typelib_TypeClass_INTERFACE_ATTRIBUTE. The size and the alignment are 0.

◆ typelib_InterfaceMemberTypeDescription

Common base type description of typelib_InterfaceMethodTypeDescription and typelib_InterfaceAttributeTypeDescription.

◆ typelib_InterfaceMethodTypeDescription

Type description of an interface method.

The type class of this description is typelib_TypeClass_INTERFACE_METHOD. The size and the alignment are 0.

◆ typelib_InterfaceTypeDescription

Type description of an interface.

Not all members are always initialized (not yet initialized members being null); there are three levels:

  • Minimally, only aBase, pBaseTypeDescription, aUik, nBaseTypes, and ppBaseTypes are initialized; aBase.bComplete is false. This only happens when an interface type description is created with typelib_static_mi_interface_type_init or typelib_static_interface_type_init.

  • At the next level, nMembers, ppMembers, nAllMembers, ppAllMembers are also initialized; aBase.bComplete is still false. This happens when an interface type description is created with typelib_typedescription_newMIInterface or typelib_typedescription_newInterface.

  • At the final level, pMapMemberIndexToFunctionIndex, nMapFunctionIndexToMemberIndex, and pMapFunctionIndexToMemberIndex are also initialized; aBase.bComplete is true. This happens after a call to typelib_typedescription_complete.

◆ typelib_MethodParameter

Description of an interface method parameter.

◆ typelib_Parameter_Init

Init struct of interface methods for typelib_typedescription_new().

◆ typelib_StructMember_Init

Init struct of members for typelib_typedescription_newStruct().

Since
UDK 3.2.0

◆ typelib_StructTypeDescription

Type description for struct types.

This is only used to represent plain struct types and instantiated polymorphic struct types; there is no representation of polymorphic struct type templates at this level.

Since
UDK 3.2.0

◆ typelib_TypeDescription

typedef struct SAL_DLLPUBLIC_RTTI _typelib_TypeDescription typelib_TypeDescription

Full type description of a type.

Memory layout of this struct is identical to the typelib_TypeDescriptionReference for the first six members. So a typedescription can be used as type reference.

◆ typelib_typedescription_Callback

typedef void( * typelib_typedescription_Callback) (void *pContext, typelib_TypeDescription **ppRet, rtl_uString *pTypeName)

Function pointer declaration of callback function get additional descriptions.

Callbacks must provide complete type descriptions (see typelib_typedescription_complete())!

Parameters
pContextcallback context
ppRetinout type description
pTypeNamename of demanded type description

◆ typelib_TypeDescriptionReference

Holds a weak reference to a type description.

Function Documentation

◆ typelib_setCacheSize()

CPPU_DLLPUBLIC void typelib_setCacheSize ( sal_Int32  nNewSize)

Sets size of type description cache.

Parameters
nNewSizenew size of cache
Deprecated:
Do not use, it does not have any effect.

◆ typelib_static_compound_type_init()

CPPU_DLLPUBLIC void typelib_static_compound_type_init ( typelib_TypeDescriptionReference **  ppRef,
typelib_TypeClass  eTypeClass,
const char *  pTypeName,
typelib_TypeDescriptionReference pBaseType,
sal_Int32  nMembers,
typelib_TypeDescriptionReference **  ppMembers 
)

Inits incomplete static compound type reference.

Thread synchronizes on typelib init mutex.

Since this function can only be used to create type descriptions for plain struct types, not for instantiated polymorphic struct types, the function typelib_static_struct_type_init should be used instead for all struct types.

Parameters
ppRefpointer to type reference pointer
eTypeClasstypelib_TypeClass_STRUCT or typelib_TypeClass_EXCEPTION
pTypeNamename of type
pBaseTypebase type
nMembersnumber of members
ppMembersmember types

◆ typelib_static_enum_type_init()

CPPU_DLLPUBLIC void typelib_static_enum_type_init ( typelib_TypeDescriptionReference **  ppRef,
const char *  pTypeName,
sal_Int32  nDefaultValue 
)

Inits incomplete static enum type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
pTypeNamename of enum
nDefaultValuedefault enum value

◆ typelib_static_interface_type_init()

CPPU_DLLPUBLIC void typelib_static_interface_type_init ( typelib_TypeDescriptionReference **  ppRef,
const char *  pTypeName,
typelib_TypeDescriptionReference pBaseType 
)

Inits incomplete static interface type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
pTypeNamename of interface
pBaseTypebase type

◆ typelib_static_mi_interface_type_init()

CPPU_DLLPUBLIC void typelib_static_mi_interface_type_init ( typelib_TypeDescriptionReference **  ppRef,
const char *  pTypeName,
sal_Int32  nBaseTypes,
typelib_TypeDescriptionReference **  ppBaseTypes 
)

Inits incomplete static multiple-inheritance interface type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
pTypeNamename of interface
nBaseTypesnumber of base types
ppBaseTypesbase types
Since
UDK 3.2.0

◆ typelib_static_sequence_type_init()

CPPU_DLLPUBLIC void typelib_static_sequence_type_init ( typelib_TypeDescriptionReference **  ppRef,
typelib_TypeDescriptionReference pElementType 
)

Inits static sequence type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
pElementTypeelement type of sequence

◆ typelib_static_struct_type_init()

CPPU_DLLPUBLIC void typelib_static_struct_type_init ( typelib_TypeDescriptionReference **  ppRef,
const char *  pTypeName,
typelib_TypeDescriptionReference pBaseType,
sal_Int32  nMembers,
typelib_TypeDescriptionReference **  ppMembers,
sal_Bool const *  pParameterizedTypes 
)

Inits incomplete static struct type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
pTypeNamename of type
pBaseTypebase type
nMembersnumber of members
ppMembersmember types
pParameterizedTypesflags for direct members, specifying whether they are of parameterized type (true) or explicit type (false); must be null for a plain struct type
Since
UDK 3.2.0

◆ typelib_static_type_getByTypeClass()

CPPU_DLLPUBLIC typelib_TypeDescriptionReference** typelib_static_type_getByTypeClass ( typelib_TypeClass  eTypeClass)

Gets static type reference of standard types by type class.

ADDITIONAL OPT: provides Type com.sun.star.uno.Exception for typelib_TypeClass_EXCEPTION and com.sun.star.uno.XInterface for typelib_TypeClass_INTERFACE.

Thread synchronizes on typelib mutex.

Parameters
eTypeClasstype class of basic type
Returns
pointer to type reference pointer

◆ typelib_static_type_init()

CPPU_DLLPUBLIC void typelib_static_type_init ( typelib_TypeDescriptionReference **  ppRef,
typelib_TypeClass  eTypeClass,
const char *  pTypeName 
)

Inits static type reference.

Thread synchronizes on typelib init mutex.

Parameters
ppRefpointer to type reference pointer
eTypeClasstype class of type
pTypeNameascii name of type

◆ typelib_typedescription_acquire()

CPPU_DLLPUBLIC void typelib_typedescription_acquire ( typelib_TypeDescription pDesc)

Increments reference count of given type description.

Parameters
pDesctype description

◆ typelib_typedescription_complete()

CPPU_DLLPUBLIC sal_Bool typelib_typedescription_complete ( typelib_TypeDescription **  ppTypeDescr)

Completes a typedescription to be used for, e.g., marshalling values.

COMPOUND, INTERFACE and ENUM type descriptions may be partly initialized (see typelib_static_...(), typelib_TypeDescription::bComplete). For interface type descriptions, this will also init index tables.

Parameters
ppTypeDescr[inout] type description to be completed (may be exchanged!)
Returns
true, if type description is complete

◆ typelib_typedescription_equals()

CPPU_DLLPUBLIC sal_Bool typelib_typedescription_equals ( const typelib_TypeDescription p1,
const typelib_TypeDescription p2 
)

Tests whether two types descriptions are equal, i.e.

type class and names are equal.

Parameters
p1a type description
p2another type description
Returns
true, if type descriptions are equal

◆ typelib_typedescription_getByName()

CPPU_DLLPUBLIC void typelib_typedescription_getByName ( typelib_TypeDescription **  ppRet,
rtl_uString *  pName 
)

Retrieves a type description via its fully qualified name.

Parameters
ppRetinout type description; *ppRet is 0, if type description was not found
pNamename demanded type description

◆ typelib_typedescription_isAssignableFrom()

CPPU_DLLPUBLIC sal_Bool typelib_typedescription_isAssignableFrom ( typelib_TypeDescription pAssignable,
typelib_TypeDescription pFrom 
)

Tests if values of type pAssignable can be assigned by values of type pFrom.

This includes widening conversion (e.g., long assignable from short), as long as there is no data loss.

Parameters
pAssignabletype description of value to be assigned
pFromtype description of value

◆ typelib_typedescription_new()

CPPU_DLLPUBLIC void typelib_typedescription_new ( typelib_TypeDescription **  ppRet,
typelib_TypeClass  eTypeClass,
rtl_uString *  pTypeName,
typelib_TypeDescriptionReference pType,
sal_Int32  nMembers,
typelib_CompoundMember_Init pMembers 
)

Creates a new type description.

Since this function can only be used to create type descriptions for plain struct types, not for instantiated polymorphic struct types, the function typelib_typedescription_newStruct should be used instead for all struct types.

Parameters
ppRetinout type description
eTypeClasstype class
pTypeNamename of type
pTypesequence: element type; struct, Exception: base type;
nMembersnumber of members if struct, exception
pMembersarray of members if struct, exception

◆ typelib_typedescription_newEnum()

CPPU_DLLPUBLIC void typelib_typedescription_newEnum ( typelib_TypeDescription **  ppRet,
rtl_uString *  pTypeName,
sal_Int32  nDefaultValue,
sal_Int32  nEnumValues,
rtl_uString **  ppEnumNames,
sal_Int32 *  pEnumValues 
)

Creates an enum type description.

Parameters
ppRetinout enum type description
pTypeNamename of enum
nDefaultValuedefault enum value
nEnumValuesnumber of enum values
ppEnumNamesnames of enum values
pEnumValuesenum values

◆ typelib_typedescription_newExtendedInterfaceAttribute()

CPPU_DLLPUBLIC void typelib_typedescription_newExtendedInterfaceAttribute ( typelib_InterfaceAttributeTypeDescription **  ppRet,
sal_Int32  nAbsolutePosition,
rtl_uString *  pAttributeName,
typelib_TypeClass  eAttributeTypeClass,
rtl_uString *  pAttributeTypeName,
sal_Bool  bReadOnly,
sal_Int32  nGetExceptions,
rtl_uString **  ppGetExceptionNames,
sal_Int32  nSetExceptions,
rtl_uString **  ppSetExceptionNames 
)

Creates an extended interface attribute type description.

Parameters
ppRetinout attribute type description
nAbsolutePositionposition of this attribute including all members of base interfaces
pAttributeNamefully qualified name of attribute including interface name
eAttributeTypeClasstype class of attribute type
pAttributeTypeNametype name of attribute type
bReadOnlydetermines whether attribute is read-only
nGetExceptionsnumber of getter exceptions
ppGetExceptionNamestype names of getter exceptions
nSetExceptionsnumber of setter exceptions
ppSetExceptionNamestype names of setter exceptions
Since
UDK 3.2.0

◆ typelib_typedescription_newInterface()

CPPU_DLLPUBLIC void typelib_typedescription_newInterface ( typelib_InterfaceTypeDescription **  ppRet,
rtl_uString *  pTypeName,
sal_uInt32  nUik1,
sal_uInt16  nUik2,
sal_uInt16  nUik3,
sal_uInt32  nUik4,
sal_uInt32  nUik5,
typelib_TypeDescriptionReference pBaseInterface,
sal_Int32  nMembers,
typelib_TypeDescriptionReference **  ppMembers 
)

Creates an interface type description.

Parameters
ppRetinout interface type description
pTypeNamethe fully qualified name of the interface.
nUik1uik part; deprecated and ignored, should always be 0
nUik2uik part; deprecated and ignored, should always be 0
nUik3uik part; deprecated and ignored, should always be 0
nUik4uik part; deprecated and ignored, should always be 0
nUik5uik part; deprecated and ignored, should always be 0
pBaseInterfacebase interface type, else 0
nMembersnumber of members
ppMembersmembers; attributes or methods
Deprecated:
use typelib_typedescription_newMIInterface instead

◆ typelib_typedescription_newInterfaceAttribute()

CPPU_DLLPUBLIC void typelib_typedescription_newInterfaceAttribute ( typelib_InterfaceAttributeTypeDescription **  ppRet,
sal_Int32  nAbsolutePosition,
rtl_uString *  pAttributeName,
typelib_TypeClass  eAttributeTypeClass,
rtl_uString *  pAttributeTypeName,
sal_Bool  bReadOnly 
)

Creates an interface attribute type description.

Parameters
ppRetinout attribute type description
nAbsolutePositionposition of this attribute including all members of base interfaces
pAttributeNamefully qualified name of attribute including interface name
eAttributeTypeClasstype class of attribute type
pAttributeTypeNametype name of attribute type
bReadOnlydetermines whether attribute is read-only
Deprecated:
use typelib_typedescription_newExtendedInterfaceAttribute instead

◆ typelib_typedescription_newInterfaceMethod()

CPPU_DLLPUBLIC void typelib_typedescription_newInterfaceMethod ( typelib_InterfaceMethodTypeDescription **  ppRet,
sal_Int32  nAbsolutePosition,
sal_Bool  bOneWay,
rtl_uString *  pMethodName,
typelib_TypeClass  eReturnTypeClass,
rtl_uString *  pReturnTypeName,
sal_Int32  nParams,
typelib_Parameter_Init pParams,
sal_Int32  nExceptions,
rtl_uString **  ppExceptionNames 
)

Creates an interface method type description.

Parameters
ppRetinout method type description
nAbsolutePositionposition of member including all members of base interfaces
bOneWaydetermines whether method is declared oneway
pMethodNamefully qualified name of method including interface name
eReturnTypeClasstype class of return type
pReturnTypeNametype name of the return type
nParamsnumber of parameters
pParamsparameter types
nExceptionsnumber of exceptions
ppExceptionNamestype names of exceptions

◆ typelib_typedescription_newMIInterface()

CPPU_DLLPUBLIC void typelib_typedescription_newMIInterface ( typelib_InterfaceTypeDescription **  ppRet,
rtl_uString *  pTypeName,
sal_uInt32  nUik1,
sal_uInt16  nUik2,
sal_uInt16  nUik3,
sal_uInt32  nUik4,
sal_uInt32  nUik5,
sal_Int32  nBaseInterfaces,
typelib_TypeDescriptionReference **  ppBaseInterfaces,
sal_Int32  nMembers,
typelib_TypeDescriptionReference **  ppMembers 
)

Creates a multiple-inheritance interface type description.

Parameters
ppRetinout interface type description
pTypeNamethe fully qualified name of the interface.
nUik1uik part; deprecated and ignored, should always be 0
nUik2uik part; deprecated and ignored, should always be 0
nUik3uik part; deprecated and ignored, should always be 0
nUik4uik part; deprecated and ignored, should always be 0
nUik5uik part; deprecated and ignored, should always be 0
nBaseInterfacesnumber of base interface types
ppBaseInterfacesbase interface types
nMembersnumber of members
ppMembersmembers; attributes or methods
Since
UDK 3.2.0

◆ typelib_typedescription_newStruct()

CPPU_DLLPUBLIC void typelib_typedescription_newStruct ( typelib_TypeDescription **  ppRet,
rtl_uString *  pTypeName,
typelib_TypeDescriptionReference pType,
sal_Int32  nMembers,
typelib_StructMember_Init pMembers 
)

Creates a new struct type description.

Parameters
ppRetinout type description
pTypeNamename of type
pTypebase type;
nMembersnumber of members
pMembersarray of members
Since
UDK 3.2.0

◆ typelib_typedescription_register()

CPPU_DLLPUBLIC void typelib_typedescription_register ( typelib_TypeDescription **  ppNewDescription)

Registers a type description and creates a type description reference.

Type descriptions will be registered automatically if they are provided via the callback chain.

Parameters
ppNewDescriptioninout description to be registered;

◆ typelib_typedescription_registerCallback()

CPPU_DLLPUBLIC void typelib_typedescription_registerCallback ( void *  pContext,
typelib_typedescription_Callback  pCallback 
)

Registers callback function providing additional type descriptions.

Parameters
pContextcallback context
pCallbackcallback function

◆ typelib_typedescription_release()

CPPU_DLLPUBLIC void typelib_typedescription_release ( typelib_TypeDescription pDesc)

Decrements reference count of given type.

If reference count reaches 0, the type description is deleted.

Parameters
pDesctype description

◆ typelib_typedescription_revokeCallback()

CPPU_DLLPUBLIC void typelib_typedescription_revokeCallback ( void *  pContext,
typelib_typedescription_Callback  pCallback 
)

Revokes a previously registered callback function.

Parameters
pContextcallback context
pCallbackregistered callback function

◆ typelib_typedescriptionreference_acquire()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_acquire ( typelib_TypeDescriptionReference pRef)

Increments reference count of type description reference.

Parameters
pReftype description reference

◆ typelib_typedescriptionreference_assign()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_assign ( typelib_TypeDescriptionReference **  ppDest,
typelib_TypeDescriptionReference pSource 
)

Assigns a type.

Parameters
ppDestdestination type
pSourcesource type

◆ typelib_typedescriptionreference_equals()

CPPU_DLLPUBLIC sal_Bool typelib_typedescriptionreference_equals ( const typelib_TypeDescriptionReference p1,
const typelib_TypeDescriptionReference p2 
)

Tests whether two types description references are equal, i.e.

type class and names are equal.

Parameters
p1a type description reference
p2another type description reference
Returns
true, if type description references are equal

◆ typelib_typedescriptionreference_getDescription()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_getDescription ( typelib_TypeDescription **  ppRet,
typelib_TypeDescriptionReference pRef 
)

Retrieves the type description for a given reference.

If it is not possible to resolve the reference, null is returned.

Parameters
[in,out]ppRettype description
[in]pReftype description reference

◆ typelib_typedescriptionreference_isAssignableFrom()

CPPU_DLLPUBLIC sal_Bool typelib_typedescriptionreference_isAssignableFrom ( typelib_TypeDescriptionReference pAssignable,
typelib_TypeDescriptionReference pFrom 
)

Tests if values of type pAssignable can be assigned by values of type pFrom.

This includes widening conversion (e.g., long assignable from short), as long as there is no data loss.

Parameters
pAssignabletype of value to be assigned
pFromtype of value

◆ typelib_typedescriptionreference_new()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_new ( typelib_TypeDescriptionReference **  ppTDR,
typelib_TypeClass  eTypeClass,
rtl_uString *  pTypeName 
)

Creates a type description reference.

This is a weak reference not holding the description. If the description is already registered, the previous one is returned.

Parameters
ppTDRinout type description reference
eTypeClasstype class of type
pTypeNamename of type

◆ typelib_typedescriptionreference_newByAsciiName()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_newByAsciiName ( typelib_TypeDescriptionReference **  ppTDR,
typelib_TypeClass  eTypeClass,
const char *  pTypeName 
)

Creates a type description reference.

This is a weak reference not holding the description. If the description is already registered, the previous one is returned.

Parameters
ppTDRinout type description reference
eTypeClasstype class of type
pTypeNameascii name of type

◆ typelib_typedescriptionreference_release()

CPPU_DLLPUBLIC void typelib_typedescriptionreference_release ( typelib_TypeDescriptionReference pRef)

Increments reference count of type description reference.

If the reference count reaches 0, then the reference is deleted.

Parameters
pReftype description reference