1408a4873SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3408a4873SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4408a4873SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5408a4873SAndrew Rist * distributed with this work for additional information
6408a4873SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7408a4873SAndrew Rist * to you under the Apache License, Version 2.0 (the
8408a4873SAndrew Rist * "License"); you may not use this file except in compliance
9408a4873SAndrew Rist * with the License.  You may obtain a copy of the License at
10408a4873SAndrew Rist *
11408a4873SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12408a4873SAndrew Rist *
13408a4873SAndrew Rist * Unless required by applicable law or agreed to in writing,
14408a4873SAndrew Rist * software distributed under the License is distributed on an
15408a4873SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16408a4873SAndrew Rist * KIND, either express or implied.  See the License for the
17408a4873SAndrew Rist * specific language governing permissions and limitations
18408a4873SAndrew Rist * under the License.
19408a4873SAndrew Rist *
20408a4873SAndrew Rist *************************************************************/
21408a4873SAndrew Rist
22408a4873SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir#ifndef __com_sun_star_reflection_XPublished_idl__
25cdf0e10cSrcweir#define __com_sun_star_reflection_XPublished_idl__
26cdf0e10cSrcweir
27cdf0e10cSrcweir#include "com/sun/star/uno/XInterface.idl"
28cdf0e10cSrcweir
29cdf0e10cSrcweirmodule com {  module sun {  module star {  module reflection {
30cdf0e10cSrcweir
31cdf0e10cSrcweir/**
32cdf0e10cSrcweir   Reflects the “published” status of a UNOIDL entity.
33cdf0e10cSrcweir
34cdf0e10cSrcweir   <p>This interface is intended to be supported by objects that also support
35cdf0e10cSrcweir   <type scope="com::sun::star::reflection">XTypeDescription</type>.
36cdf0e10cSrcweir   (This interface could have been made an optional sub-interface of
37cdf0e10cSrcweir   <type scope="com::sun::star::reflection">XTypeDescription</type>, but is
38cdf0e10cSrcweir   instead kept independent for reasons of backwards compatibility.)</p>
39cdf0e10cSrcweir
40cdf0e10cSrcweir   <p>For the various kinds of UNOIDL entities that are represented by objects
41cdf0e10cSrcweir   supporting <type scope="com::sun::star::reflection">XTypeDescription</type>
42cdf0e10cSrcweir   and its subtypes, this optional interface should be supported as follows:</p>
43cdf0e10cSrcweir   <ul>
44cdf0e10cSrcweir       <li>Enum types
45cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>),
46cdf0e10cSrcweir       plain struct types
47cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
48cdf0e10cSrcweir       polymorphic struct type templates
49cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
50cdf0e10cSrcweir       exception types (<type
51cdf0e10cSrcweir       scope="com::sun::star::reflection">XCompoundTypeDescription</type>),
52cdf0e10cSrcweir       interface types (<type
53cdf0e10cSrcweir       scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>),
54cdf0e10cSrcweir       typedefs (<type
55cdf0e10cSrcweir       scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
56cdf0e10cSrcweir       individual constants (<type
57cdf0e10cSrcweir       scope="com::sun::star::reflection">XConstantTypeDescription</type>),
58cdf0e10cSrcweir       constant groups (<type
59cdf0e10cSrcweir       scope="com::sun::star::reflection">XConstantsTypeDescription</type>),
60cdf0e10cSrcweir       single-interface&ndash;based services (<type
61cdf0e10cSrcweir       scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
62cdf0e10cSrcweir       accumulation-based services (<type
63cdf0e10cSrcweir       scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
64cdf0e10cSrcweir       interface-based singletons (<type
65cdf0e10cSrcweir       scope="com::sun::star::reflection">XSingletonTypeDescription2</type>),
66cdf0e10cSrcweir       and service-based singletons (<type
67cdf0e10cSrcweir       scope="com::sun::star::reflection">XSingletonTypeDescription2</type>)
68cdf0e10cSrcweir       support the notion of being published.  Therefore, for an object that
69cdf0e10cSrcweir       represents any such entity,
70cdf0e10cSrcweir       <type scope="com::sun::star::reflection">XPublished</type> should be
71cdf0e10cSrcweir       supported.</li>
72cdf0e10cSrcweir
73cdf0e10cSrcweir       <li>Sequence types (<type
74cdf0e10cSrcweir       scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
75cdf0e10cSrcweir       type parameters of polymorphic struct type templates
76cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">XTypeDescription</type>),
77cdf0e10cSrcweir       instantiated polymorphic struct types
78cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
79cdf0e10cSrcweir       attributes of interface types (<type scope="com::sun::star::reflection">
80cdf0e10cSrcweir       XInterfaceAttributeTypeDescription2</type>), methods of interface types
81cdf0e10cSrcweir       (<type scope="com::sun::star::reflection">
82cdf0e10cSrcweir       XInterfaceMethodTypeDescription</type>), properties of
83cdf0e10cSrcweir       accumulation-based services (<type
84cdf0e10cSrcweir       scope="com::sun::star::reflection">XPropertyTypeDescription</type>),
85cdf0e10cSrcweir       deprecated
86cdf0e10cSrcweir       <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s,
87cdf0e10cSrcweir       and deprecated
88cdf0e10cSrcweir       <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do
89cdf0e10cSrcweir       not support the notion of being published.  Therefore, for an object that
90cdf0e10cSrcweir       represents any such entity,
91cdf0e10cSrcweir       <type scope="com::sun::star::reflection">XPublished</type> should not be
92cdf0e10cSrcweir       supported.</li>
93cdf0e10cSrcweir   </ul>
94cdf0e10cSrcweir
95*95a17a32SJürgen Schmidt   @since OpenOffice 2.0
96cdf0e10cSrcweir*/
97cdf0e10cSrcweirinterface XPublished {
98cdf0e10cSrcweir    /**
99cdf0e10cSrcweir       Returns the &ldquo;published&rdquo; status of a UNOIDL entity.
100cdf0e10cSrcweir
101cdf0e10cSrcweir       @return <TRUE/> if the UNOIDL entity represented by this object is
102cdf0e10cSrcweir       published
103cdf0e10cSrcweir     */
104cdf0e10cSrcweir    boolean isPublished();
105cdf0e10cSrcweir};
106cdf0e10cSrcweir
107cdf0e10cSrcweir}; }; }; };
108cdf0e10cSrcweir
109cdf0e10cSrcweir#endif
110