LibreOffice
LibreOffice 4.2 SDK C/C++ API Reference
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
typedescription.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 #ifndef INCLUDED_TYPELIB_TYPEDESCRIPTION_H
20 #define INCLUDED_TYPELIB_TYPEDESCRIPTION_H
21 
22 #include <cppu/cppudllapi.h>
23 #include <typelib/uik.h>
24 #include <typelib/typeclass.h>
25 #include <rtl/ustring.h>
26 
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31 
33 
34 #if defined( SAL_W32)
35 #pragma pack(push, 8)
36 #endif
37 
41 {
45  sal_Int32 nRefCount;
49  sal_Int32 nStaticRefCount;
55  rtl_uString * pTypeName;
64  void * pReserved;
66 
72 {
76  sal_Int32 nRefCount;
80  sal_Int32 nStaticRefCount;
86  rtl_uString * pTypeName;
95  void * pReserved;
96 
105  sal_Int32 nSize;
108  sal_Int32 nAlignment;
116 
120 {
124 
128 
131  sal_Int32 nMembers;
134  sal_Int32 * pMemberOffsets;
140  rtl_uString ** ppMemberNames;
142 
153 {
158 
167 
171 {
175 
179 
188  sal_Int32 nMembers;
191  sal_Int64 * pDiscriminants;
197  rtl_uString ** ppMemberNames;
200  sal_Int32 nValueOffset;
202 
206 {
210 
215 
219 {
223 
226  sal_Int32 nDimensions;
229  sal_Int32 nTotalElements;
232  sal_Int32 * pDimensions;
234 
238 {
242 
245  sal_Int32 nDefaultEnumValue;
248  sal_Int32 nEnumValues;
251  rtl_uString ** ppEnumNames;
254  sal_Int32 * pEnumValues;
256 
260 {
263  rtl_uString * pName;
276 
281 {
285 
289  sal_Int32 nPosition;
292  rtl_uString * pMemberName;
294 
299 {
303 
309  sal_Int32 nParams;
315  sal_Int32 nExceptions;
322 
339  sal_Int32 nIndex;
341 
346 {
350 
357 
374  sal_Int32 nIndex;
379  sal_Int32 nGetExceptions;
389  sal_Int32 nSetExceptions;
396 
425 {
429 
444  sal_Int32 nMembers;
450  sal_Int32 nAllMembers;
468  sal_Int32 nBaseTypes;
475 
479 {
488  rtl_uString * pTypeName;
491  rtl_uString * pMemberName;
493 
500 {
505 
512 
516 {
522  rtl_uString * pTypeName;
525  rtl_uString * pParamName;
533 
536 typedef struct _typelib_Union_Init
537 {
540  sal_Int64 nDiscriminant;
543  rtl_uString * pMemberName;
548 
549 #if defined( SAL_W32)
550 #pragma pack(pop)
551 #endif
552 
553 
566  typelib_TypeDescription ** ppRet,
567  rtl_uString * pTypeName,
568  typelib_TypeDescriptionReference * pDiscriminantTypeRef,
569  sal_Int64 nDefaultDiscriminant,
570  typelib_TypeDescriptionReference * pDefaultTypeRef,
571  sal_Int32 nMembers,
572  typelib_Union_Init * pMembers )
574 
585  typelib_TypeDescription ** ppRet,
586  rtl_uString * pTypeName,
587  sal_Int32 nDefaultValue,
588  sal_Int32 nEnumValues,
589  rtl_uString ** ppEnumNames,
590  sal_Int32 * pEnumValues )
592 
601  typelib_TypeDescription ** ppRet,
602  typelib_TypeDescriptionReference * pElementTypeRef,
603  sal_Int32 nDimensions,
604  sal_Int32 * pDimensions )
606 
623  typelib_TypeDescription ** ppRet,
624  typelib_TypeClass eTypeClass,
625  rtl_uString * pTypeName,
627  sal_Int32 nMembers,
628  typelib_CompoundMember_Init * pMembers )
630 
642  typelib_TypeDescription ** ppRet,
643  rtl_uString * pTypeName,
645  sal_Int32 nMembers,
646  typelib_StructMember_Init * pMembers )
648 
667  rtl_uString * pTypeName,
668  sal_uInt32 nUik1, sal_uInt16 nUik2, sal_uInt16 nUik3, sal_uInt32 nUik4, sal_uInt32 nUik5,
669  typelib_TypeDescriptionReference * pBaseInterface,
670  sal_Int32 nMembers,
671  typelib_TypeDescriptionReference ** ppMembers )
673 
692  rtl_uString * pTypeName,
693  sal_uInt32 nUik1, sal_uInt16 nUik2, sal_uInt16 nUik3, sal_uInt32 nUik4, sal_uInt32 nUik5,
694  sal_Int32 nBaseInterfaces,
695  typelib_TypeDescriptionReference ** ppBaseInterfaces,
696  sal_Int32 nMembers,
697  typelib_TypeDescriptionReference ** ppMembers )
699 
715  sal_Int32 nAbsolutePosition,
716  sal_Bool bOneWay,
717  rtl_uString * pMethodName,
718  typelib_TypeClass eReturnTypeClass,
719  rtl_uString * pReturnTypeName,
720  sal_Int32 nParams,
721  typelib_Parameter_Init * pParams,
722  sal_Int32 nExceptions,
723  rtl_uString ** ppExceptionNames )
725 
741  sal_Int32 nAbsolutePosition,
742  rtl_uString * pAttributeName,
743  typelib_TypeClass eAttributeTypeClass,
744  rtl_uString * pAttributeTypeName,
745  sal_Bool bReadOnly )
747 
767  sal_Int32 nAbsolutePosition,
768  rtl_uString * pAttributeName,
769  typelib_TypeClass eAttributeTypeClass,
770  rtl_uString * pAttributeTypeName,
771  sal_Bool bReadOnly,
772  sal_Int32 nGetExceptions, rtl_uString ** ppGetExceptionNames,
773  sal_Int32 nSetExceptions, rtl_uString ** ppSetExceptionNames )
775 
781  typelib_TypeDescription * pDesc )
783 
790  typelib_TypeDescription * pDesc )
792 
799  typelib_TypeDescription ** ppNewDescription )
801 
809  const typelib_TypeDescription * p1, const typelib_TypeDescription * p2 )
811 
818  typelib_TypeDescription ** ppRet, rtl_uString * pName )
820 
826  sal_Int32 nNewSize )
828 
836 typedef void (SAL_CALL * typelib_typedescription_Callback)(
837  void * pContext, typelib_TypeDescription ** ppRet, rtl_uString * pTypeName );
838 
845  void * pContext, typelib_typedescription_Callback pCallback )
847 
854  void * pContext, typelib_typedescription_Callback pCallback )
856 
857 
858 /*----------------------------------------------------------------------------*/
859 /*----------------------------------------------------------------------------*/
860 /*----------------------------------------------------------------------------*/
861 
871  typelib_TypeClass eTypeClass,
872  rtl_uString * pTypeName )
874 
884  typelib_TypeClass eTypeClass,
885  const sal_Char * pTypeName )
887 
895 
904 
914 
924 
934 
942  typelib_TypeDescription * pAssignable,
943  typelib_TypeDescription * pFrom )
945 
953  typelib_TypeDescriptionReference * pAssignable,
956 
967  typelib_TypeClass eTypeClass )
969 
978  typelib_TypeClass eTypeClass, const sal_Char * pTypeName )
980 
988  typelib_TypeDescriptionReference * pElementType )
990 
1000  typelib_TypeDescriptionReference * pElementType,
1001  sal_Int32 nDimensions, ... )
1002  SAL_THROW_EXTERN_C ();
1003 
1019  typelib_TypeClass eTypeClass, const sal_Char * pTypeName,
1021  sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers )
1023 
1040  typelib_TypeDescriptionReference ** ppRef, const sal_Char * pTypeName,
1042  sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers,
1043  sal_Bool const * pParameterizedTypes )
1044  SAL_THROW_EXTERN_C();
1045 
1054  const sal_Char * pTypeName,
1055  typelib_TypeDescriptionReference * pBaseType )
1056  SAL_THROW_EXTERN_C();
1057 
1070  const sal_Char * pTypeName,
1071  sal_Int32 nBaseTypes,
1072  typelib_TypeDescriptionReference ** ppBaseTypes )
1073  SAL_THROW_EXTERN_C();
1074 
1083  const sal_Char * pTypeName,
1084  sal_Int32 nDefaultValue )
1085  SAL_THROW_EXTERN_C();
1086 
1096  typelib_TypeDescription ** ppTypeDescr )
1097  SAL_THROW_EXTERN_C();
1098 
1100 
1108 inline bool TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( _typelib_TypeClass eTypeClass )
1109 {
1110  return (eTypeClass == typelib_TypeClass_INTERFACE_METHOD) ||
1111  (eTypeClass == typelib_TypeClass_INTERFACE_ATTRIBUTE);
1112 }
1113 
1119 inline void TYPELIB_DANGER_GET( typelib_TypeDescription** ppMacroTypeDescr,
1120  typelib_TypeDescriptionReference* pMacroTypeRef )
1121 {
1122  if (TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( pMacroTypeRef->eTypeClass ))
1123  {
1124  typelib_typedescriptionreference_getDescription( ppMacroTypeDescr, pMacroTypeRef );
1125  }
1126  else if (!pMacroTypeRef->pType || !pMacroTypeRef->pType->pWeakRef)
1127  {
1128  typelib_typedescriptionreference_getDescription( ppMacroTypeDescr, pMacroTypeRef );
1129  if (*ppMacroTypeDescr)
1130  typelib_typedescription_release( *ppMacroTypeDescr );
1131  }
1132  else
1133  {
1134  *ppMacroTypeDescr = pMacroTypeRef->pType;
1135  }
1136 }
1137 
1141 inline void TYPELIB_DANGER_RELEASE( typelib_TypeDescription* pDescription )
1142 {
1143  if (TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( pDescription->eTypeClass ))
1144  typelib_typedescription_release( pDescription );
1145 }
1146 
1148 
1149 #ifdef __cplusplus
1150 }
1151 #endif
1152 
1153 #endif
1154 
1155 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
CPPU_DLLPUBLIC void typelib_typedescription_newArray(typelib_TypeDescription **ppRet, typelib_TypeDescriptionReference *pElementTypeRef, sal_Int32 nDimensions, sal_Int32 *pDimensions) SAL_THROW_EXTERN_C()
Creates an array type description.
sal_Int32 * pEnumValues
values of enum (corresponding to names in similar order)
Definition: typedescription.h:254
Init struct of members for typelib_typedescription_newStruct().
Definition: typedescription.h:499
CPPU_DLLPUBLIC void typelib_typedescriptionreference_assign(typelib_TypeDescriptionReference **ppDest, typelib_TypeDescriptionReference *pSource) SAL_THROW_EXTERN_C()
Assigns a type.
struct _typelib_Parameter_Init typelib_Parameter_Init
Init struct of interface methods for typelib_typedescription_new().
CPPU_DLLPUBLIC void typelib_typedescription_acquire(typelib_TypeDescription *pDesc) SAL_THROW_EXTERN_C()
Increments reference count of given type description.
typelib_TypeDescriptionReference * pType
array, sequence: pointer to element type
Definition: typedescription.h:213
struct _typelib_IndirectTypeDescription typelib_IndirectTypeDescription
Type description of an array or sequence.
struct _typelib_TypeDescription * pSelf
pointer to self to distinguish reference from description; for internal use only
Definition: typedescription.h:89
CPPU_DLLPUBLIC void typelib_static_sequence_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType) SAL_THROW_EXTERN_C()
Inits static sequence type reference.
typelib_TypeClass eTypeClass
type class of type
Definition: typedescription.h:83
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.
Description of an interface method parameter.
Definition: typedescription.h:259
sal_Int32 nDimensions
number of dimensions
Definition: typedescription.h:226
typelib_TypeClass eTypeClass
type class of parameter
Definition: typedescription.h:519
sal_Int32 * pMapFunctionIndexToMemberIndex
array mapping function index to member index; size of arry is nMapFunctionIndexToMemberIndex ...
Definition: typedescription.h:463
struct _typelib_StructMember_Init typelib_StructMember_Init
Init struct of members for typelib_typedescription_newStruct().
struct _typelib_InterfaceTypeDescription typelib_InterfaceTypeDescription
Type description of an interface.
CPPU_DLLPUBLIC 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) SAL_THROW_EXTERN_C()
Inits incomplete static compound type reference.
sal_Int32 nIndex
if pBaseRef is null, the member position of this method within pInterface, not counting members inher...
Definition: typedescription.h:339
CPPU_DLLPUBLIC void typelib_setCacheSize(sal_Int32 nNewSize) SAL_THROW_EXTERN_C()
Sets size of type description cache.
sal_Bool bOnDemand
determines, if type can be unloaded (and it is possible to reloaded it)
Definition: typedescription.h:114
struct _typelib_TypeDescription typelib_TypeDescription
Full type description of a type.
struct _typelib_InterfaceTypeDescription * pInterface
the interface description this method is a member of
Definition: typedescription.h:325
type class of interface attribute
Definition: typeclass.h:81
typelib_TypeDescriptionReference ** ppGetExceptions
array of getter exception types
Definition: typedescription.h:384
void(* typelib_typedescription_Callback)(void *pContext, typelib_TypeDescription **ppRet, rtl_uString *pTypeName)
Function pointer declaration of callback function get additional descriptions.
Definition: typedescription.h:836
sal_Int32 * pDimensions
array of dimensions
Definition: typedescription.h:232
struct _typelib_UnionTypeDescription typelib_UnionTypeDescription
Type description of a union.
Holds a weak reference to a type description.
Definition: typedescription.h:40
typelib_InterfaceMemberTypeDescription aBase
inherits all members of typelib_InterfaceMemberTypeDescription
Definition: typedescription.h:302
sal_Bool * pParameterizedTypes
Flags for direct members, specifying whether they are of parameterized type (true) or explict type (f...
Definition: typedescription.h:165
struct _typelib_CompoundMember_Init typelib_CompoundMember_Init
Init struct of compound members for typelib_typedescription_new().
Type description for exception types.
Definition: typedescription.h:119
CPPU_DLLPUBLIC void typelib_typedescription_register(typelib_TypeDescription **ppNewDescription) SAL_THROW_EXTERN_C()
Registers a type description and creates a type description reference.
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.
struct _typelib_TypeDescriptionReference typelib_TypeDescriptionReference
Holds a weak reference to a type description.
sal_Bool bOut
true: the call type of this parameter is [out] or [inout] false: the call type of this parameter is [...
Definition: typedescription.h:274
sal_Int32 nStaticRefCount
number of static references of type, because of the fact that some types are needed until program ter...
Definition: typedescription.h:49
sal_Int32 nParams
number of parameters
Definition: typedescription.h:309
sal_Int32 nPosition
position of member in the interface including the number of members of any base interfaces ...
Definition: typedescription.h:289
struct _typelib_InterfaceTypeDescription * pInterface
the interface description this attribute is a member of
Definition: typedescription.h:360
Type description of a union.
Definition: typedescription.h:170
CPPU_DLLPUBLIC void typelib_typedescriptionreference_acquire(typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
Increments reference count of type description reference.
struct _typelib_EnumTypeDescription typelib_EnumTypeDescription
Type description of an enum.
CPPU_DLLPUBLIC void typelib_static_mi_interface_type_init(typelib_TypeDescriptionReference **ppRef, const sal_Char *pTypeName, sal_Int32 nBaseTypes, typelib_TypeDescriptionReference **ppBaseTypes) SAL_THROW_EXTERN_C()
Inits incomplete static multiple-inheritance interface type reference.
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.
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.
sal_Int32 nValueOffset
union value offset for data access
Definition: typedescription.h:200
CPPU_DLLPUBLIC void typelib_typedescription_release(typelib_TypeDescription *pDesc) SAL_THROW_EXTERN_C()
Decrements reference count of given type.
#define SAL_THROW_EXTERN_C()
Definition: types.h:360
struct _typelib_InterfaceMethodTypeDescription typelib_InterfaceMethodTypeDescription
Type description of an interface method.
CPPU_DLLPUBLIC void typelib_typedescriptionreference_release(typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
Increments reference count of type description reference.
enum _typelib_TypeClass typelib_TypeClass
This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
sal_Int64 nDiscriminant
union member discriminant
Definition: typedescription.h:540
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.
sal_Bool bOut
true, if parameter is [out] or [inout]
Definition: typedescription.h:531
Init struct of interface methods for typelib_typedescription_new().
Definition: typedescription.h:515
CPPU_DLLPUBLIC void typelib_static_struct_type_init(typelib_TypeDescriptionReference **ppRef, const sal_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.
Type description of an interface.
Definition: typedescription.h:424
sal_Bool bOneWay
determines whether method is declared oneway
Definition: typedescription.h:321
typelib_MethodParameter * pParams
array of parameters
Definition: typedescription.h:312
rtl_uString ** ppEnumNames
names of enum values
Definition: typedescription.h:251
typelib_TypeDescriptionReference ** ppExceptions
array of exception types
Definition: typedescription.h:318
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:123
sal_Int32 nStaticRefCount
number of static references of type, because of the fact that some types are needed until program ter...
Definition: typedescription.h:80
struct _typelib_ArrayTypeDescription typelib_ArrayTypeDescription
Type description of an array.
struct _typelib_MethodParameter typelib_MethodParameter
Description of an interface method parameter.
The description of an interface attribute.
Definition: typedescription.h:345
rtl_uString * pTypeName
fully qualified name of type
Definition: typedescription.h:55
typelib_TypeDescriptionReference * pTypeRef
type of parameter
Definition: typedescription.h:266
rtl_uString * pTypeName
fully qualified name of type
Definition: typedescription.h:86
typelib_TypeDescriptionReference ** ppMembers
array of members; references attributes or methods
Definition: typedescription.h:447
CPPU_DLLPUBLIC void typelib_static_enum_type_init(typelib_TypeDescriptionReference **ppRef, const sal_Char *pTypeName, sal_Int32 nDefaultValue) SAL_THROW_EXTERN_C()
Inits incomplete static enum type reference.
sal_Int32 nMembers
number of members
Definition: typedescription.h:131
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.
struct _typelib_InterfaceTypeDescription ** ppBaseTypes
array of base type descriptions
Definition: typedescription.h:473
sal_Bool bParameterizedType
Flag specifying whether the member is of parameterized type (true) or explict type (false)...
Definition: typedescription.h:510
struct _typelib_TypeDescription * pType
pointer to full typedescription; this value is only valid if the type is never swapped out ...
Definition: typedescription.h:58
rtl_uString * pTypeName
name of type of compound member
Definition: typedescription.h:488
void * pReserved
reserved for future use; 0 if not used
Definition: typedescription.h:95
typelib_InterfaceMemberTypeDescription aBase
inherits all members of typelib_InterfaceMemberTypeDescription
Definition: typedescription.h:349
sal_Int32 nMembers
number of union member types
Definition: typedescription.h:188
sal_Int64 nDefaultDiscriminant
union default descriminant
Definition: typedescription.h:182
typelib_TypeDescriptionReference * pAttributeTypeRef
type of the attribute
Definition: typedescription.h:356
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:428
rtl_uString * pMemberName
name of compound member
Definition: typedescription.h:491
typelib_TypeDescriptionReference * pDiscriminantTypeRef
type of the discriminant
Definition: typedescription.h:178
sal_Int32 nMapFunctionIndexToMemberIndex
number of members plus number of read-write attributes
Definition: typedescription.h:460
struct _typelib_InterfaceAttributeTypeDescription typelib_InterfaceAttributeTypeDescription
The description of an interface attribute.
Full type description of a type.
Definition: typedescription.h:71
rtl_uString * pParamName
name of parameter
Definition: typedescription.h:525
Init struct of compound members for typelib_typedescription_new().
Definition: typedescription.h:478
rtl_uString * pName
name of parameter
Definition: typedescription.h:263
typelib_TypeDescriptionReference * pDefaultTypeRef
union default member type (may be 0)
Definition: typedescription.h:185
struct _typelib_StructTypeDescription typelib_StructTypeDescription
Type description for struct types.
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.
CPPU_DLLPUBLIC void typelib_static_interface_type_init(typelib_TypeDescriptionReference **ppRef, const sal_Char *pTypeName, typelib_TypeDescriptionReference *pBaseType) SAL_THROW_EXTERN_C()
Inits incomplete static interface type reference.
void * pReserved
reserved for future use; 0 if not used
Definition: typedescription.h:64
Init struct of union types for typelib_typedescription_newUnion().
Definition: typedescription.h:536
CPPU_DLLPUBLIC void typelib_typedescriptionreference_newByAsciiName(typelib_TypeDescriptionReference **ppTDR, typelib_TypeClass eTypeClass, const sal_Char *pTypeName) SAL_THROW_EXTERN_C()
Creates a type description reference.
rtl_uString * pMemberName
name of member
Definition: typedescription.h:292
typelib_TypeDescriptionReference * pWeakRef
pointer to weak reference
Definition: typedescription.h:111
CPPU_DLLPUBLIC void typelib_static_array_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeDescriptionReference *pElementType, sal_Int32 nDimensions,...) SAL_THROW_EXTERN_C()
Inits static array type reference.
CPPU_DLLPUBLIC void typelib_typedescription_revokeCallback(void *pContext, typelib_typedescription_Callback pCallback) SAL_THROW_EXTERN_C()
Revokes a previously registered callback function.
Type description of an array or sequence.
Definition: typedescription.h:205
typelib_TypeClass eTypeClass
type class of compound member
Definition: typedescription.h:482
#define CPPU_DLLPUBLIC
Definition: cppudllapi.h:10
typelib_TypeDescriptionReference ** ppTypeRefs
members of the struct or exception
Definition: typedescription.h:137
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.
struct _typelib_InterfaceMemberTypeDescription typelib_InterfaceMemberTypeDescription
Common base type description of typelib_InterfaceMethodTypeDescription and typelib_InterfaceAttribute...
rtl_uString ** ppMemberNames
member names of the struct or exception
Definition: typedescription.h:140
Type description of an interface method.
Definition: typedescription.h:298
type class of interface method
Definition: typeclass.h:79
sal_Bool bIn
true: the call type of this parameter is [in] or [inout] false: the call type of this parameter is [o...
Definition: typedescription.h:270
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.
CPPU_DLLPUBLIC 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) SAL_THROW_EXTERN_C()
Creates a union type description.
Type description for struct types.
Definition: typedescription.h:152
CPPU_DLLPUBLIC void typelib_static_type_init(typelib_TypeDescriptionReference **ppRef, typelib_TypeClass eTypeClass, const sal_Char *pTypeName) SAL_THROW_EXTERN_C()
Inits static type reference.
typelib_TypeDescriptionReference * pTypeRef
union member type
Definition: typedescription.h:546
typelib_Uik aUik
unique identifier of interface
Definition: typedescription.h:441
Type description of an array.
Definition: typedescription.h:218
sal_Int32 nRefCount
reference count of type; don't ever modify this by yourself, use typelib_typedescriptionreference_acq...
Definition: typedescription.h:45
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:284
typelib_TypeClass eTypeClass
type class of type
Definition: typedescription.h:52
sal_Int32 nGetExceptions
number of getter exceptions
Definition: typedescription.h:379
typelib_TypeDescriptionReference ** ppTypeRefs
union member value types (same order as idl declaration)
Definition: typedescription.h:194
sal_Int32 nBaseTypes
number of base types
Definition: typedescription.h:468
sal_Int32 nSetExceptions
number of setter exceptions
Definition: typedescription.h:389
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.
typelib_IndirectTypeDescription aBase
inherits all members of typelib_IndirectTypeDescription
Definition: typedescription.h:222
sal_Bool bComplete
flag to determine whether the description is complete: compound and union types lack of member names...
Definition: typedescription.h:102
_typelib_TypeClass
This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
Definition: typeclass.h:26
sal_Int64 * pDiscriminants
union member discriminant values (same order as idl declaration)
Definition: typedescription.h:191
void * pUniqueIdentifier
pointer to optimize the runtime; not for public use
Definition: typedescription.h:92
sal_Int32 nSize
size of type
Definition: typedescription.h:105
unsigned char sal_Bool
Definition: types.h:46
void * pUniqueIdentifier
pointer to optimize the runtime; not for public use
Definition: typedescription.h:61
rtl_uString ** ppMemberNames
union member value names (same order as idl declaration)
Definition: typedescription.h:197
sal_Int32 nMembers
number of members
Definition: typedescription.h:444
sal_Int32 nIndex
if pBaseRef is null, the member position of this attribute within pInterface, not counting members in...
Definition: typedescription.h:374
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.
typelib_CompoundTypeDescription aBase
Derived from typelib_CompoundTypeDescription.
Definition: typedescription.h:157
sal_Int32 nEnumValues
number of enum values
Definition: typedescription.h:248
struct _typelib_CompoundTypeDescription * pBaseTypeDescription
pointer to base type description, else 0
Definition: typedescription.h:127
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.
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.
char sal_Char
Definition: types.h:124
Binary typelib uik struct.
Definition: uik.h:32
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.
sal_Bool bReadOnly
determines whether attribute is read only
Definition: typedescription.h:353
rtl_uString * pMemberName
union member name
Definition: typedescription.h:543
sal_Int32 nAlignment
alignment of type
Definition: typedescription.h:108
Type description of an enum.
Definition: typedescription.h:237
sal_Int32 * pMemberOffsets
byte offsets of each member including the size the base type
Definition: typedescription.h:134
typelib_TypeDescriptionReference ** ppAllMembers
array of members including members of base interface; references attributes or methods ...
Definition: typedescription.h:453
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:209
rtl_uString * pTypeName
name of parameter
Definition: typedescription.h:522
struct _typelib_Union_Init typelib_Union_Init
Init struct of union types for typelib_typedescription_newUnion().
CPPU_DLLPUBLIC void typelib_typedescriptionreference_new(typelib_TypeDescriptionReference **ppTDR, typelib_TypeClass eTypeClass, rtl_uString *pTypeName) SAL_THROW_EXTERN_C()
Creates a type description reference.
sal_Int32 nDefaultEnumValue
first value of the enum
Definition: typedescription.h:245
typelib_TypeDescriptionReference ** ppSetExceptions
array of setter exception types
Definition: typedescription.h:394
typelib_TypeDescriptionReference * pBaseRef
the inherited direct base attribute (null for an attribute that is not inherited) ...
Definition: typedescription.h:366
sal_Int32 nExceptions
number of exceptions
Definition: typedescription.h:315
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:174
CPPU_DLLPUBLIC void typelib_typedescriptionreference_getDescription(typelib_TypeDescription **ppRet, typelib_TypeDescriptionReference *pRef) SAL_THROW_EXTERN_C()
Retrieves the type description for a given reference.
typelib_TypeDescription aBase
inherits all members of typelib_TypeDescription
Definition: typedescription.h:241
sal_Bool bIn
true, if parameter is [in] or [inout]
Definition: typedescription.h:528
sal_Int32 nRefCount
reference count; don't ever modify this by yourself, use typelib_typedescription_acquire() and typeli...
Definition: typedescription.h:76
sal_Int32 nAllMembers
number of members including members of base interface
Definition: typedescription.h:450
typelib_TypeDescriptionReference * pBaseRef
the inherited direct base method (null for a method that is not inherited)
Definition: typedescription.h:331
sal_Int32 * pMapMemberIndexToFunctionIndex
array mapping index of the member description to an index doubling for read-write attributes (called ...
Definition: typedescription.h:457
Common base type description of typelib_InterfaceMethodTypeDescription and typelib_InterfaceAttribute...
Definition: typedescription.h:280
struct _typelib_CompoundTypeDescription typelib_CompoundTypeDescription
Type description for exception types.
CPPU_DLLPUBLIC void typelib_typedescription_registerCallback(void *pContext, typelib_typedescription_Callback pCallback) SAL_THROW_EXTERN_C()
Registers callback function providing additional type descriptions.
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.
typelib_TypeDescriptionReference * pReturnTypeRef
type of the return value
Definition: typedescription.h:306
typelib_CompoundMember_Init aBase
Derived from typelib_CompoundMember_Init;.
Definition: typedescription.h:504
struct _typelib_InterfaceTypeDescription * pBaseTypeDescription
pointer to base type description, else 0
Definition: typedescription.h:435
sal_Int32 nTotalElements
number of total array elements
Definition: typedescription.h:229