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 24#ifndef __com_sun_star_reflection_XPublished_idl__ 25#define __com_sun_star_reflection_XPublished_idl__ 26 27#include "com/sun/star/uno/XInterface.idl" 28 29module com { module sun { module star { module reflection { 30 31/** 32 Reflects the “published” status of a UNOIDL entity. 33 34 <p>This interface is intended to be supported by objects that also support 35 <type scope="com::sun::star::reflection">XTypeDescription</type>. 36 (This interface could have been made an optional sub-interface of 37 <type scope="com::sun::star::reflection">XTypeDescription</type>, but is 38 instead kept independent for reasons of backwards compatibility.)</p> 39 40 <p>For the various kinds of UNOIDL entities that are represented by objects 41 supporting <type scope="com::sun::star::reflection">XTypeDescription</type> 42 and its subtypes, this optional interface should be supported as follows:</p> 43 <ul> 44 <li>Enum types 45 (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>), 46 plain struct types 47 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 48 polymorphic struct type templates 49 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 50 exception types (<type 51 scope="com::sun::star::reflection">XCompoundTypeDescription</type>), 52 interface types (<type 53 scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>), 54 typedefs (<type 55 scope="com::sun::star::reflection">XIndirectTypeDescription</type>), 56 individual constants (<type 57 scope="com::sun::star::reflection">XConstantTypeDescription</type>), 58 constant groups (<type 59 scope="com::sun::star::reflection">XConstantsTypeDescription</type>), 60 single-interface–based services (<type 61 scope="com::sun::star::reflection">XServiceTypeDescription2</type>), 62 accumulation-based services (<type 63 scope="com::sun::star::reflection">XServiceTypeDescription2</type>), 64 interface-based singletons (<type 65 scope="com::sun::star::reflection">XSingletonTypeDescription2</type>), 66 and service-based singletons (<type 67 scope="com::sun::star::reflection">XSingletonTypeDescription2</type>) 68 support the notion of being published. Therefore, for an object that 69 represents any such entity, 70 <type scope="com::sun::star::reflection">XPublished</type> should be 71 supported.</li> 72 73 <li>Sequence types (<type 74 scope="com::sun::star::reflection">XIndirectTypeDescription</type>), 75 type parameters of polymorphic struct type templates 76 (<type scope="com::sun::star::reflection">XTypeDescription</type>), 77 instantiated polymorphic struct types 78 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 79 attributes of interface types (<type scope="com::sun::star::reflection"> 80 XInterfaceAttributeTypeDescription2</type>), methods of interface types 81 (<type scope="com::sun::star::reflection"> 82 XInterfaceMethodTypeDescription</type>), properties of 83 accumulation-based services (<type 84 scope="com::sun::star::reflection">XPropertyTypeDescription</type>), 85 deprecated 86 <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s, 87 and deprecated 88 <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do 89 not support the notion of being published. Therefore, for an object that 90 represents any such entity, 91 <type scope="com::sun::star::reflection">XPublished</type> should not be 92 supported.</li> 93 </ul> 94 95 @since OOo 2.0 96*/ 97interface XPublished { 98 /** 99 Returns the “published” status of a UNOIDL entity. 100 101 @return <TRUE/> if the UNOIDL entity represented by this object is 102 published 103 */ 104 boolean isPublished(); 105}; 106 107}; }; }; }; 108 109#endif 110