LibreOffice LibreOffice 25.8 SDK C/C++ API Reference

Loading...
Searching...
No Matches
_typelib_InterfaceTypeDescription Struct 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

## Detailed Description

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`.

## Member Data Documentation

## ◆ aBase

typelib_TypeDescription _typelib_InterfaceTypeDescription::aBase

inherits all members of typelib_TypeDescription

## ◆ aUik

typelib_Uik _typelib_InterfaceTypeDescription::aUik

unique identifier of interface

Deprecated
  should always contain all-zeros

## ◆ nAllMembers

sal_Int32 _typelib_InterfaceTypeDescription::nAllMembers

number of members including members of base interface

## ◆ nBaseTypes

sal_Int32 _typelib_InterfaceTypeDescription::nBaseTypes

number of base types

Since
  UDK 3.2.0

## ◆ nMapFunctionIndexToMemberIndex

sal_Int32 _typelib_InterfaceTypeDescription::nMapFunctionIndexToMemberIndex

number of members plus number of read-write attributes

## ◆ nMembers

sal_Int32 _typelib_InterfaceTypeDescription::nMembers

number of members

## ◆ pBaseTypeDescription

struct _typelib_InterfaceTypeDescription* _typelib_InterfaceTypeDescription::pBaseTypeDescription

pointer to base type description, else 0

Deprecated
  use nBaseTypes and ppBaseTypes instead

## ◆ pMapFunctionIndexToMemberIndex

sal_Int32* _typelib_InterfaceTypeDescription::pMapFunctionIndexToMemberIndex

array mapping function index to member index; size of array is nMapFunctionIndexToMemberIndex

## ◆ pMapMemberIndexToFunctionIndex

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

## ◆ ppAllMembers

typelib_TypeDescriptionReference** _typelib_InterfaceTypeDescription::ppAllMembers

array of members including members of base interface; references attributes or methods

## ◆ ppBaseTypes

struct _typelib_InterfaceTypeDescription** _typelib_InterfaceTypeDescription::ppBaseTypes

array of base type descriptions

Since
  UDK 3.2.0

## ◆ ppMembers

typelib_TypeDescriptionReference** _typelib_InterfaceTypeDescription::ppMembers

array of members; references attributes or methods

The documentation for this struct was generated from the following file:

- typelib/typedescription.h