LibreOffice LibreOffice 25.2 SDK API Reference

Exported Interfaces | List of all members
TypeDescriptionManager Service Referencepublished

This service manages type descriptions and acts as a central access point to every type description. More...

`import"TypeDescriptionManager.idl";`

Inheritance diagram for TypeDescriptionManager:

## Exported Interfaces
interface | com::sun::star::container::XHierarchicalNameAccess
| Interface to retrieve type descriptions. More...
interface | com::sun::star::container::XSet
| You can manually add or remove a providers via this interface. More...
interface | com::sun::star::lang::XComponent
| Interface to signal shutdown to the manager. More...
interface | XTypeDescriptionEnumerationAccess
| Interface for creating enumerations for type descriptions supported by this TypeDescriptionManager. More...

## Additional Inherited Members
Public Member Functions inherited from XHierarchicalNameAccess
any | getByHierarchicalName ([in] string aName) raises ( com::sun::star::container::NoSuchElementException )
boolean | hasByHierarchicalName ([in] string aName)
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...
Public Member Functions inherited from XSet
boolean | has ([in] any aElement)
void | insert ([in] any aElement) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::ElementExistException )
| inserts the given element into this container. More...
void | remove ([in] any aElement) raises ( com::sun::star::lang::IllegalArgumentException, com::sun::star::container::NoSuchElementException )
| removes the given element from this container. More...
Public Member Functions inherited from XEnumerationAccess
com::sun::star::container::XEnumeration | createEnumeration ()
Public Member Functions inherited from XElementAccess
type | getElementType ()
boolean | hasElements ()
Protected Member Functions inherited from XComponent
void | dispose ()
| The owner of an object calls this method to explicitly free all resources kept by this object and thus break cyclic references. More...
void | addEventListener ([in] XEventListener xListener)
| adds an event listener to the object. More...
void | removeEventListener ([in] XEventListener aListener)
| removes an event listener from the listener list. More...
Protected Member Functions inherited from XTypeDescriptionEnumerationAccess
XTypeDescriptionEnumeration | createTypeDescriptionEnumeration ([in] string moduleName, [in] sequence< com::sun::star::uno::TypeClass > types, [in] TypeDescriptionSearchDepth depth) raises ( NoSuchTypeNameException, InvalidTypeNameException )
| Creates an enumeration for type descriptions. More...

## Detailed Description

This service manages type descriptions and acts as a central access point to every type description.

It delegates calls for demanded types to subsequent com::sun::star::reflection::TypeDescriptionProviders and may cache type descriptions.
Using cppuhelper's bootstrapping routines bootstrapping an initial component context, there is a singleton accessible via key "/singletons/com.sun.star.reflection.theTypeDescriptionManager". This singleton object is hooked into the C UNO runtime typelib and lives until the context is shut down.

See also
  com::sun::star::reflection::TypeDescriptionProvider
  com::sun::star::reflection::XTypeDescription

## Exported Interfaces

## ◆ com::sun::star::container::XHierarchicalNameAccess

interface com::sun::star::container::XHierarchicalNameAccess

Interface to retrieve type descriptions.

In addition to the semantics specified for the corresponding interface of the TypeDescriptionProvider service (which changed slightly for LibreOffice 4.1; see there), this interface allows to retrieve the following entities:

- The simple types are accessible via `"void"`, `"boolean"`, `"byte"`, `"short"`, `"unsigned short"`, `"long"`, `"unsigned long"`, `"hyper"`, `"unsigned hyper"`, `"float"`, `"double"`, `"char"`, `"string"`, `"type"`, and `"any"`.

- Sequence types are accessible via `"[]<var>ComponentType</var>"`

- Instantiated polymorphic struct types are accessible via `"<var>StructType</var>&lt; <var>Parameter</var><sub>1</sub>,&hellip;, <var>Parameter</var><sub><var>n</var></sub>&gt;"`.

- Members of interface types are accessible via `"<var>InterfaceType</var>::<var>Member</var>"`.

Even though the name of this interface suggests that the used type names are hierarchical, this doesn't need to be the case. (For example, consider the names of instantiated polymorphic struct types, like `"Struct&lt;long&gt;"`.)

## ◆ com::sun::star::container::XSet

interface com::sun::star::container::XSet

You can manually add or remove a providers via this interface.

## ◆ com::sun::star::lang::XComponent

interface com::sun::star::lang::XComponent
| optional

Interface to signal shutdown to the manager.

This signals all providers to shut down, because usually each provider references its manager, listening for disposing events.

## ◆ XTypeDescriptionEnumerationAccess

interface XTypeDescriptionEnumerationAccess
| optional

Interface for creating enumerations for type descriptions supported by this TypeDescriptionManager.

Since
  OOo 1.1.2

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

- com/sun/star/reflection/TypeDescriptionManager.idl