| LibreOffice
    LibreOffice 24.8 SDK C/C++ API Reference | 
Type description of an interface. More...
#include <typedescription.h>
| Public Attributes | |
| typelib_TypeDescription | aBase | 
| inherits all members of typelib_TypeDescription | |
| struct _typelib_InterfaceTypeDescription * | pBaseTypeDescription | 
| pointer to base type description, else 0 | |
| typelib_Uik | aUik | 
| unique identifier of interface | |
| sal_Int32 | nMembers | 
| number of members | |
| typelib_TypeDescriptionReference ** | ppMembers | 
| array of members; references attributes or methods | |
| sal_Int32 | nAllMembers | 
| number of members including members of base interface | |
| typelib_TypeDescriptionReference ** | ppAllMembers | 
| array of members including members of base interface; references attributes or methods | |
| sal_Int32 * | pMapMemberIndexToFunctionIndex | 
| array mapping index of the member description to an index doubling for read-write attributes (called function index); size of array is nAllMembers | |
| sal_Int32 | nMapFunctionIndexToMemberIndex | 
| number of members plus number of read-write attributes | |
| sal_Int32 * | pMapFunctionIndexToMemberIndex | 
| array mapping function index to member index; size of array is nMapFunctionIndexToMemberIndex | |
| sal_Int32 | nBaseTypes | 
| number of base types | |
| struct _typelib_InterfaceTypeDescription ** | ppBaseTypes | 
| array of base type descriptions | |
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.
pMapMemberIndexToFunctionIndex, nMapFunctionIndexToMemberIndex, and pMapFunctionIndexToMemberIndex are also initialized; aBase.bComplete is true. This happens after a call to typelib_typedescription_complete. | typelib_TypeDescription _typelib_InterfaceTypeDescription::aBase | 
inherits all members of typelib_TypeDescription
| typelib_Uik _typelib_InterfaceTypeDescription::aUik | 
unique identifier of interface
| sal_Int32 _typelib_InterfaceTypeDescription::nAllMembers | 
number of members including members of base interface
| sal_Int32 _typelib_InterfaceTypeDescription::nBaseTypes | 
number of base types
| sal_Int32 _typelib_InterfaceTypeDescription::nMapFunctionIndexToMemberIndex | 
number of members plus number of read-write attributes
| sal_Int32 _typelib_InterfaceTypeDescription::nMembers | 
number of members
| struct _typelib_InterfaceTypeDescription* _typelib_InterfaceTypeDescription::pBaseTypeDescription | 
pointer to base type description, else 0
| sal_Int32* _typelib_InterfaceTypeDescription::pMapFunctionIndexToMemberIndex | 
array mapping function index to member index; size of array is nMapFunctionIndexToMemberIndex
| sal_Int32* _typelib_InterfaceTypeDescription::pMapMemberIndexToFunctionIndex | 
array mapping index of the member description to an index doubling for read-write attributes (called function index); size of array is nAllMembers
| typelib_TypeDescriptionReference** _typelib_InterfaceTypeDescription::ppAllMembers | 
array of members including members of base interface; references attributes or methods
| struct _typelib_InterfaceTypeDescription** _typelib_InterfaceTypeDescription::ppBaseTypes | 
array of base type descriptions
| typelib_TypeDescriptionReference** _typelib_InterfaceTypeDescription::ppMembers | 
array of members; references attributes or methods