1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
28 #ifndef __com_sun_star_reflection_XPublished_idl__
29 #define __com_sun_star_reflection_XPublished_idl__
31 #include
"com/sun/star/uno/XInterface.idl"
33 module com
{ module sun
{ module star
{ module reflection
{
36 Reflects the “published” status of a UNOIDL entity.
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>
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>
49 (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>),
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>),
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
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>),
90 <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s,
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
101 interface XPublished
{
103 Returns the “published” status of a UNOIDL entity.
105 @return <TRUE/> if the UNOIDL entity represented by this object is
108 boolean isPublished
();