| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #ifndef __com_sun_star_reflection_XPublished_idl__ |
| #define __com_sun_star_reflection_XPublished_idl__ |
| |
| #include "com/sun/star/uno/XInterface.idl" |
| |
| module com { module sun { module star { module reflection { |
| |
| /** |
| Reflects the “published” status of a UNOIDL entity. |
| |
| <p>This interface is intended to be supported by objects that also support |
| <type scope="com::sun::star::reflection">XTypeDescription</type>. |
| (This interface could have been made an optional sub-interface of |
| <type scope="com::sun::star::reflection">XTypeDescription</type>, but is |
| instead kept independent for reasons of backwards compatibility.)</p> |
| |
| <p>For the various kinds of UNOIDL entities that are represented by objects |
| supporting <type scope="com::sun::star::reflection">XTypeDescription</type> |
| and its subtypes, this optional interface should be supported as follows:</p> |
| <ul> |
| <li>Enum types |
| (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>), |
| plain struct types |
| (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), |
| polymorphic struct type templates |
| (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), |
| exception types (<type |
| scope="com::sun::star::reflection">XCompoundTypeDescription</type>), |
| interface types (<type |
| scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>), |
| typedefs (<type |
| scope="com::sun::star::reflection">XIndirectTypeDescription</type>), |
| individual constants (<type |
| scope="com::sun::star::reflection">XConstantTypeDescription</type>), |
| constant groups (<type |
| scope="com::sun::star::reflection">XConstantsTypeDescription</type>), |
| single-interface–based services (<type |
| scope="com::sun::star::reflection">XServiceTypeDescription2</type>), |
| accumulation-based services (<type |
| scope="com::sun::star::reflection">XServiceTypeDescription2</type>), |
| interface-based singletons (<type |
| scope="com::sun::star::reflection">XSingletonTypeDescription2</type>), |
| and service-based singletons (<type |
| scope="com::sun::star::reflection">XSingletonTypeDescription2</type>) |
| support the notion of being published. Therefore, for an object that |
| represents any such entity, |
| <type scope="com::sun::star::reflection">XPublished</type> should be |
| supported.</li> |
| |
| <li>Sequence types (<type |
| scope="com::sun::star::reflection">XIndirectTypeDescription</type>), |
| type parameters of polymorphic struct type templates |
| (<type scope="com::sun::star::reflection">XTypeDescription</type>), |
| instantiated polymorphic struct types |
| (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), |
| attributes of interface types (<type scope="com::sun::star::reflection"> |
| XInterfaceAttributeTypeDescription2</type>), methods of interface types |
| (<type scope="com::sun::star::reflection"> |
| XInterfaceMethodTypeDescription</type>), properties of |
| accumulation-based services (<type |
| scope="com::sun::star::reflection">XPropertyTypeDescription</type>), |
| deprecated |
| <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s, |
| and deprecated |
| <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do |
| not support the notion of being published. Therefore, for an object that |
| represents any such entity, |
| <type scope="com::sun::star::reflection">XPublished</type> should not be |
| supported.</li> |
| </ul> |
| |
| @since OpenOffice 2.0 |
| */ |
| interface XPublished { |
| /** |
| Returns the “published” status of a UNOIDL entity. |
| |
| @return <TRUE/> if the UNOIDL entity represented by this object is |
| published |
| */ |
| boolean isPublished(); |
| }; |
| |
| }; }; }; }; |
| |
| #endif |