1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_reflection_XPublished_idl__ 29#define __com_sun_star_reflection_XPublished_idl__ 30 31#include "com/sun/star/uno/XInterface.idl" 32 33module com { module sun { module star { module reflection { 34 35/** 36 Reflects the “published” status of a UNOIDL entity. 37 38 <p>This interface is intended to be supported by objects that also support 39 <type scope="com::sun::star::reflection">XTypeDescription</type>. 40 (This interface could have been made an optional sub-interface of 41 <type scope="com::sun::star::reflection">XTypeDescription</type>, but is 42 instead kept independent for reasons of backwards compatibility.)</p> 43 44 <p>For the various kinds of UNOIDL entities that are represented by objects 45 supporting <type scope="com::sun::star::reflection">XTypeDescription</type> 46 and its subtypes, this optional interface should be supported as follows:</p> 47 <ul> 48 <li>Enum types 49 (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>), 50 plain struct types 51 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 52 polymorphic struct type templates 53 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 54 exception types (<type 55 scope="com::sun::star::reflection">XCompoundTypeDescription</type>), 56 interface types (<type 57 scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>), 58 typedefs (<type 59 scope="com::sun::star::reflection">XIndirectTypeDescription</type>), 60 individual constants (<type 61 scope="com::sun::star::reflection">XConstantTypeDescription</type>), 62 constant groups (<type 63 scope="com::sun::star::reflection">XConstantsTypeDescription</type>), 64 single-interface–based services (<type 65 scope="com::sun::star::reflection">XServiceTypeDescription2</type>), 66 accumulation-based services (<type 67 scope="com::sun::star::reflection">XServiceTypeDescription2</type>), 68 interface-based singletons (<type 69 scope="com::sun::star::reflection">XSingletonTypeDescription2</type>), 70 and service-based singletons (<type 71 scope="com::sun::star::reflection">XSingletonTypeDescription2</type>) 72 support the notion of being published. Therefore, for an object that 73 represents any such entity, 74 <type scope="com::sun::star::reflection">XPublished</type> should be 75 supported.</li> 76 77 <li>Sequence types (<type 78 scope="com::sun::star::reflection">XIndirectTypeDescription</type>), 79 type parameters of polymorphic struct type templates 80 (<type scope="com::sun::star::reflection">XTypeDescription</type>), 81 instantiated polymorphic struct types 82 (<type scope="com::sun::star::reflection">XStructTypeDescription</type>), 83 attributes of interface types (<type scope="com::sun::star::reflection"> 84 XInterfaceAttributeTypeDescription2</type>), methods of interface types 85 (<type scope="com::sun::star::reflection"> 86 XInterfaceMethodTypeDescription</type>), properties of 87 accumulation-based services (<type 88 scope="com::sun::star::reflection">XPropertyTypeDescription</type>), 89 deprecated 90 <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s, 91 and deprecated 92 <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do 93 not support the notion of being published. Therefore, for an object that 94 represents any such entity, 95 <type scope="com::sun::star::reflection">XPublished</type> should not be 96 supported.</li> 97 </ul> 98 99 @since OOo 2.0 100*/ 101interface XPublished { 102 /** 103 Returns the “published” status of a UNOIDL entity. 104 105 @return <TRUE/> if the UNOIDL entity represented by this object is 106 published 107 */ 108 boolean isPublished(); 109}; 110 111}; }; }; }; 112 113#endif 114