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