The Free and Open Productivity Suite
Follow us on Twitter: @ApacheOO

Developer's Guide

API

SDK

Tips 'n' Tricks

Miscellaneous


Global Functions in Global Namespace C++
in Sourcefile typedescription.h


typelib_setCacheSize
extern "C"
void typelib_setCacheSize(
sal_Int32 nNewSize );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Sets size of type description cache.

Parameters
nNewSize
new size of cache

typelib_static_array_type_init
extern "C"
void typelib_static_array_type_init(
typelib_TypeDescriptionReference * * ppRef,
typelib_TypeDescriptionReference * pElementType,
sal_Int32 nDimensions,
... );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits static array type reference. Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
pElementType
element type of sequence
nDimensions
number of dimensions
...
additional sal_Int32 parameter for each dimension

typelib_static_compound_type_init
extern "C"
void typelib_static_compound_type_init(
typelib_TypeDescriptionReference * * ppRef,
typelib_TypeClass eTypeClass,
const sal_Char * pTypeName,
typelib_TypeDescriptionReference * pBaseType,
sal_Int32 nMembers,
typelib_TypeDescriptionReference * * ppMembers );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits incomplete static compound type reference. Thread synchronizes on typelib init mutex.

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_static_struct_type_init should be used instead for all struct types.

    
Parameters
ppRef
pointer to type reference pointer
    
eTypeClass
typelib_TypeClass_STRUCT or typelib_TypeClass_EXCEPTION
    
pTypeName
name of type
    
pBaseType
base type
    
nMembers
number of members
    
ppMembers
member types

typelib_static_enum_type_init
extern "C"
void typelib_static_enum_type_init(
typelib_TypeDescriptionReference * * ppRef,
const sal_Char * pTypeName,
sal_Int32 nDefaultValue );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits incomplete static enum type reference. Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
pTypeName
name of enum
nDefaultEnumValue
default enum value

typelib_static_interface_type_init
extern "C"
void typelib_static_interface_type_init(
typelib_TypeDescriptionReference * * ppRef,
const sal_Char * pTypeName,
typelib_TypeDescriptionReference * pBaseType );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits incomplete static interface type reference. Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
pTypeName
name of interface
pBaseType
base type

typelib_static_mi_interface_type_init
extern "C"
void typelib_static_mi_interface_type_init(
typelib_TypeDescriptionReference * * ppRef,
const sal_Char * pTypeName,
sal_Int32 nBaseTypes,
typelib_TypeDescriptionReference * * ppBaseTypes );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits incomplete static multiple-inheritance interface type reference.
Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
pTypeName
name of interface
nBaseTypes
number of base types
ppBaseTypes
base types

Since
UDK 3.2.0

typelib_static_sequence_type_init
extern "C"
void typelib_static_sequence_type_init(
typelib_TypeDescriptionReference * * ppRef,
typelib_TypeDescriptionReference * pElementType );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits static sequence type reference. Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
pElementType
element type of sequence

typelib_static_struct_type_init
extern "C"
void typelib_static_struct_type_init(
typelib_TypeDescriptionReference * * ppRef,
const sal_Char * pTypeName,
typelib_TypeDescriptionReference * pBaseType,
sal_Int32 nMembers,
typelib_TypeDescriptionReference * * ppMembers,
const sal_Bool * pParameterizedTypes );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits incomplete static struct type reference.

Description
    Thread synchronizes on typelib init mutex.

    
Parameters
ppRef
pointer to type reference pointer
    
pTypeName
name of type
    
pBaseType
base type
    
nMembers
number of members
    
ppMembers
member types
    
pParameterizedTypes
flags for direct members, specifying whether they
        are of parameterized type (true) or explict type (false); must be null
        for a plain struct type

    
Since
UDK 3.2.0

typelib_static_type_getByTypeClass
extern "C"
typelib_TypeDescriptionReference * * typelib_static_type_getByTypeClass(
typelib_TypeClass eTypeClass );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Description
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
eTypeClass
type class of basic type
Return
pointer to type reference pointer

typelib_static_type_init
extern "C"
void typelib_static_type_init(
typelib_TypeDescriptionReference * * ppRef,
typelib_TypeClass eTypeClass,
const sal_Char * pTypeName );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Inits static type reference. Thread synchronizes on typelib init mutex.

Parameters
ppRef
pointer to type reference pointer
eTypeClass
type class of type
pTypeName
ascii name of type

typelib_typedescription_acquire
extern "C"
void typelib_typedescription_acquire(
typelib_TypeDescription * pDesc );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Increments reference count of given type description.

Parameters
pDesc
type description

typelib_typedescription_complete
extern "C"
sal_Bool typelib_typedescription_complete(
typelib_TypeDescription * * ppTypeDescr );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Description
Completes a typedescription to be used for, e.g., marshalling values. COMPOUND, UNION,
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
type description to be completed (may be exchanged!)
Return
true, if type description is complete

typelib_typedescription_equals
extern "C"
sal_Bool typelib_typedescription_equals(
const typelib_TypeDescription * p1,
const typelib_TypeDescription * p2 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Tests whether two types descriptions are equal, i.e. type class and names are equal.

Parameters
p1
a type description
p2
another type description
Return
true, if type descriptions are equal

typelib_typedescription_getByName
extern "C"
void typelib_typedescription_getByName(
typelib_TypeDescription * * ppRet,
rtl_uString * pName );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Retrieves a type description via its fully qualified name.

Parameters
ppRet
inout type description; *ppRet is 0, if type description was not found
pName
name demanded type description

typelib_typedescription_isAssignableFrom
extern "C"
sal_Bool typelib_typedescription_isAssignableFrom(
typelib_TypeDescription * pAssignable,
typelib_TypeDescription * pFrom );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
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
pAssignable
type description of value to be assigned
pFrom
type description of value

typelib_typedescription_new
extern "C"
void typelib_typedescription_new(
typelib_TypeDescription * * ppRet,
typelib_TypeClass eTypeClass,
rtl_uString * pTypeName,
typelib_TypeDescriptionReference * pType,
sal_Int32 nMembers,
typelib_CompoundMember_Init * pMembers );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates a new type description.

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
ppRet
inout type description
    
eTypeClass
type class
    
pTypeName
name of type
    
pType
sequence, array: element type;
                 struct, Exception: base type;
    
nMembers
number of members if struct, exception
    
pMember
array of members if struct, exception

typelib_typedescription_newArray
extern "C"
void typelib_typedescription_newArray(
typelib_TypeDescription * * ppRet,
typelib_TypeDescriptionReference * pElementTypeRef,
sal_Int32 nDimensions,
sal_Int32 * pDimensions );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates an array type description.

Parameters
ppRet
inout enum type description
pElementTypeRef
element type
nDimensions
number of dimensions
pDimensions
dimensions

typelib_typedescription_newEnum
extern "C"
void typelib_typedescription_newEnum(
typelib_TypeDescription * * ppRet,
rtl_uString * pTypeName,
sal_Int32 nDefaultValue,
sal_Int32 nEnumValues,
rtl_uString * * ppEnumNames,
sal_Int32 * pEnumValues );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates an enum type description.

Parameters
ppRet
inout enum type description
pTypeName
name of enum
nDefaultEnumValue
default enum value
nEnumValues
number of enum values
ppEnumNames
names of enum values
pEnumValues
enum values

typelib_typedescription_newExtendedInterfaceAttribute
extern "C"
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 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates an extended interface attribute type description.

Parameters
ppRet
inout attribute type description
nAbsolutePosition
position of this attribute including all members of
base interfaces
pAttributeName
fully qualified name of attribute including interface
name
eAttributeTypeClass
type class of attribute type
pAttributeTypeName
type name of attribute type
bReadOnly
determines whether attribute is read-only
nGetExceptions
number of getter exceptions
ppGetExceptionNames
type names of getter exceptions
nSetExceptions
number of setter exceptions
ppSetExceptionNames
type names of setter exceptions

Since
UDK 3.2.0

typelib_typedescription_newInterface
extern "C"
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 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

D E P R E C A T E D
Summary
Creates an interface type description.

Parameters
ppRet
inout interface type description
pTypeName
the fully qualified name of the interface.
nUik1
uik part
nUik2
uik part
nUik3
uik part
nUik4
uik part
nUik5
uik part
pBaseInterface
base interface type, else 0
nMembers
number of members
ppMembers
members; attributes or methods


use typelib_typedescription_newMIInterface instead

typelib_typedescription_newInterfaceAttribute
extern "C"
void typelib_typedescription_newInterfaceAttribute(
typelib_InterfaceAttributeTypeDescription * * ppRet,
sal_Int32 nAbsolutePosition,
rtl_uString * pAttributeName,
typelib_TypeClass eAttributeTypeClass,
rtl_uString * pAttributeTypeName,
sal_Bool bReadOnly );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

D E P R E C A T E D
Summary
Creates an interface attribute type description.

Parameters
ppRet
inout attribute type description
nAbsolutePosition
position of this attribute including all members of base interfaces
pAttributeName
fully qualified name of attribute including interface
name
eAttributeTypeClass
type class of attribute type
pAttributeTypeName
type name of attribute type
bReadOnly
determines whether attribute is read-only


use typelib_typedescription_newExtendedInterfaceAttribute instead

typelib_typedescription_newInterfaceMethod
extern "C"
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 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates an interface method type description.

Parameters
ppRet
inout method type description
nAbsolutePosition
position of member including all members of base interfaces
bOneWay
determines whether method is declared oneway
pTypeName
fully qualified name of method including interface name
eReturnTypeClass
type class of return type
pReturnTypeName
type name of the return type
nParams
number of parameters
pParams
parameter types
nExceptions
number of exceptions
ppExceptionNames
type names of exceptions

typelib_typedescription_newMIInterface
extern "C"
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 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates a multiple-inheritance interface type description.

Parameters
ppRet
inout interface type description
pTypeName
the fully qualified name of the interface.
nUik1
uik part
nUik2
uik part
nUik3
uik part
nUik4
uik part
nUik5
uik part
nBaseInterfaces
number of base interface types
ppBaseInterface
base interface types
nMembers
number of members
ppMembers
members; attributes or methods

Since
UDK 3.2.0

typelib_typedescription_newStruct
extern "C"
void typelib_typedescription_newStruct(
typelib_TypeDescription * * ppRet,
rtl_uString * pTypeName,
typelib_TypeDescriptionReference * pType,
sal_Int32 nMembers,
typelib_StructMember_Init * pMembers );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates a new struct type description.

Parameters
ppRet
inout type description
pTypeName
name of type
pType
base type;
nMembers
number of members
pMember
array of members

Since
UDK 3.2.0

typelib_typedescription_newUnion
extern "C"
void typelib_typedescription_newUnion(
typelib_TypeDescription * * ppRet,
rtl_uString * pTypeName,
typelib_TypeDescriptionReference * pDiscriminantTypeRef,
sal_Int64 nDefaultDiscriminant,
typelib_TypeDescriptionReference * pDefaultTypeRef,
sal_Int32 nMembers,
typelib_Union_Init * pMembers );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Creates a union type description. All discriminants are handled as int64 values.
The pDiscriminantTypeRef must be of type byte, short, ..., up to hyper.

Parameters
ppRet
inout union type description
pTypeName
name of union type
pDiscriminantTypeRef
discriminant type
nDefaultDiscriminant
default discriminant
pDefaultTypeRef
default value type of union
nMembers
number of union members
pMembers
init members

typelib_typedescription_register
extern "C"
void typelib_typedescription_register(
typelib_TypeDescription * * ppNewDescription );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
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
ppNewDescription
inout description to be registered;

typelib_typedescription_registerCallback
extern "C"
void typelib_typedescription_registerCallback(
void * pContext,
typelib_typedescription_Callback pCallback );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Registers callback function providing additional type descriptions.

Parameters
pContext
callback context 
pCallback
callback function

typelib_typedescription_release
extern "C"
void typelib_typedescription_release(
typelib_TypeDescription * pDesc );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Decrements reference count of given type. If reference count reaches 0, the trype description
is deleted.

Parameters
pDesc
type description

typelib_typedescription_revokeCallback
extern "C"
void typelib_typedescription_revokeCallback(
void * pContext,
typelib_typedescription_Callback pCallback );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Revokes a previously registered callback function.

Parameters
pContext
callback context 
pCallback
registered callback function

typelib_typedescriptionreference_acquire
extern "C"
void typelib_typedescriptionreference_acquire(
typelib_TypeDescriptionReference * pRef );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Increments reference count of type description reference.

Parameters
pRef
type description reference

typelib_typedescriptionreference_assign
extern "C"
void typelib_typedescriptionreference_assign(
typelib_TypeDescriptionReference * * ppDest,
typelib_TypeDescriptionReference * pSource );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Assigns a type.

Parameters
ppDest
destination type
pSource
source type

typelib_typedescriptionreference_equals
extern "C"
sal_Bool typelib_typedescriptionreference_equals(
const typelib_TypeDescriptionReference * p1,
const typelib_TypeDescriptionReference * p2 );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Tests whether two types description references are equal, i.e. type class and names are equal.

Parameters
p1
a type description reference
p2
another type description reference
Return
true, if type description references are equal

typelib_typedescriptionreference_getDescription
extern "C"
void typelib_typedescriptionreference_getDescription(
typelib_TypeDescription * * ppRet,
typelib_TypeDescriptionReference * pRef );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Retrieves the type description for a given reference. If it is not possible to resolve the
reference, null is returned.

Parameters
ppRet
inout type description

typelib_typedescriptionreference_isAssignableFrom
extern "C"
sal_Bool typelib_typedescriptionreference_isAssignableFrom(
typelib_TypeDescriptionReference * pAssignable,
typelib_TypeDescriptionReference * pFrom );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
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
pAssignable
type of value to be assigned
pFrom
type of value

typelib_typedescriptionreference_new
extern "C"
void typelib_typedescriptionreference_new(
typelib_TypeDescriptionReference * * ppTDR,
typelib_TypeClass eTypeClass,
rtl_uString * pTypeName );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
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
ppTDR
inout type description reference
eTypeClass
type class of type
pTypeName
name of type

typelib_typedescriptionreference_newByAsciiName
extern "C"
void typelib_typedescriptionreference_newByAsciiName(
typelib_TypeDescriptionReference * * ppTDR,
typelib_TypeClass eTypeClass,
const sal_Char * pTypeName );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
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
ppTDR
inout type description reference
eTypeClass
type class of type
pTypeName
ascii name of type

typelib_typedescriptionreference_release
extern "C"
void typelib_typedescriptionreference_release(
typelib_TypeDescriptionReference * pRef );

virtual abstract const volatile template static inline C-linkage
NO NO NO NO NO NO NO YES

Summary
Increments reference count of type description reference. If the reference count reaches 0,
then the reference is deleted.

Parameters
pRef
type description reference

Top of Page

Apache Software Foundation

Copyright & License | Privacy | Website Feedback | Contact Us | Donate | Thanks

Apache, the Apache feather logo, and OpenOffice are trademarks of The Apache Software Foundation. OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.