merged tag ooo/OOO330_m14
[LibreOffice.git] / udkapi / com / sun / star / reflection / XPublished.idl
blobafb7cefa8a9ad6f99b9dad51ff0cc0efdce00f89
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 {
35 /**
36 Reflects the &ldquo;published&rdquo; 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>
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&ndash;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>
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>
99 @since OOo 2.0.0
101 interface XPublished {
103 Returns the &ldquo;published&rdquo; status of a UNOIDL entity.
105 @return <TRUE/> if the UNOIDL entity represented by this object is
106 published
108 boolean isPublished();
111 }; }; }; };
113 #endif