1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_reflection_TypeDescriptionProvider_idl__ 24#define __com_sun_star_reflection_TypeDescriptionProvider_idl__ 25 26#ifndef __com_sun_star_container_XHierarchicalNameAccess_idl__ 27#include <com/sun/star/container/XHierarchicalNameAccess.idl> 28#endif 29 30#ifndef __com_sun_star_lang_XComponent_idl__ 31#include <com/sun/star/lang/XComponent.idl> 32#endif 33 34#ifndef __com_sun_star_reflection_XTypeDescriptionEnumerationAccess_idl__ 35#include <com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl> 36#endif 37 38//============================================================================= 39 40 module com { module sun { module star { module reflection { 41 42//============================================================================= 43 44/** This service provides type descriptions, i.e. concrete 45 service implementations read from source like the persistent registry 46 database format.<br> 47 48 @see com::sun::star::reflection::TypeDescriptionManager 49 @see com::sun::star::reflection::XTypeDescription 50*/ 51published service TypeDescriptionProvider 52{ 53 /** Interface to retrieve type descriptions. 54 55 <p>Names are given in dotted notation, for example 56 <code>"com.sun.star.uno.XInterface"</code>. The returned values are of 57 interface type <type>XTypeDescription</type>.</p> 58 59 <p>Even though the name of this interface suggests that the used type 60 names are hierarchic, this need not be the case.</p> 61 */ 62 interface com::sun::star::container::XHierarchicalNameAccess; 63 64 /** Interface to signal shutdown to the provider.<br> 65 This has to be done manually, because usually each provider references 66 its manager (which may implement type caching) for late resolution of 67 partial types (e.g. parameter types). 68 */ 69 interface com::sun::star::lang::XComponent; 70 71 /** Interface for creating enumerations for type descriptions supported 72 by this <type>TypeDescriptionProvider</type> 73 74 @since OOo 1.1.2 75 */ 76 [optional] interface XTypeDescriptionEnumerationAccess; 77}; 78 79//============================================================================= 80 81}; }; }; }; 82 83/*============================================================================= 84 85=============================================================================*/ 86#endif 87