diff options
Diffstat (limited to 'udkapi/com/sun/star/reflection/TypeDescriptionManager.idl')
-rw-r--r-- | udkapi/com/sun/star/reflection/TypeDescriptionManager.idl | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl new file mode 100644 index 000000000..e81fe0b78 --- /dev/null +++ b/udkapi/com/sun/star/reflection/TypeDescriptionManager.idl @@ -0,0 +1,105 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef __com_sun_star_reflection_TypeDescriptionManager_idl__ +#define __com_sun_star_reflection_TypeDescriptionManager_idl__ + +#include <com/sun/star/container/XHierarchicalNameAccess.idl> +#include <com/sun/star/container/XSet.idl> +#include <com/sun/star/lang/XInitialization.idl> +#include <com/sun/star/lang/XComponent.idl> +#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> + + + module com { module sun { module star { module reflection { + + +/** 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.<br> + 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.<br> + + @see com::sun::star::reflection::TypeDescriptionProvider + @see com::sun::star::reflection::XTypeDescription +*/ +published service TypeDescriptionManager +{ + /** 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: + <ul> + <li>The simple types are accessible via <code>"void"</code>, + <code>"boolean"</code>, <code>"byte"</code>, <code>"short"</code>, + <code>"unsigned short"</code>, <code>"long"</code>, <code>"unsigned + long"</code>, <code>"hyper"</code>, <code>"unsigned hyper"</code>, + <code>"float"</code>, <code>"double"</code>, <code>"char"</code>, + <code>"string"</code>, <code>"type"</code>, and + <code>"any"</code>.</li> + + <li>Sequence types are accessible via + <code>"[]<var>ComponentType</var>"</code></li> + + <li>Instantiated polymorphic struct types are accessible via + <code>"<var>StructType</var><<!-- + --><var>Parameter</var><sub>1</sub>,…,<!-- + --><var>Parameter</var><sub><var>n</var></sub>>"</code>.</li> + + <li>Members of interface types are accessible via + <code>"<var>InterfaceType</var>::<var>Member</var>"</code>.</li> + </ul> + + <p>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 + <code>"Struct<long>"</code>.)</p> + */ + interface com::sun::star::container::XHierarchicalNameAccess; + + /** You can manually add or remove a providers via this interface. + */ + interface com::sun::star::container::XSet; + + /** Interface to signal shutdown to the manager.<br> + This signals all providers to shut down, because usually each provider + references its manager, listening for disposing events. + */ + [optional] interface com::sun::star::lang::XComponent; + + /** Interface for creating enumerations for type descriptions supported + by this TypeDescriptionManager + + @since OOo 1.1.2 + */ + [optional] interface XTypeDescriptionEnumerationAccess; +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |