summaryrefslogtreecommitdiff
path: root/udkapi/com/sun/star/reflection/XPublished.idl
diff options
context:
space:
mode:
Diffstat (limited to 'udkapi/com/sun/star/reflection/XPublished.idl')
-rw-r--r--udkapi/com/sun/star/reflection/XPublished.idl113
1 files changed, 113 insertions, 0 deletions
diff --git a/udkapi/com/sun/star/reflection/XPublished.idl b/udkapi/com/sun/star/reflection/XPublished.idl
new file mode 100644
index 000000000000..afb7cefa8a9a
--- /dev/null
+++ b/udkapi/com/sun/star/reflection/XPublished.idl
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * OpenOffice.org is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License version 3
+ * only, as published by the Free Software Foundation.
+ *
+ * OpenOffice.org is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License version 3 for more details
+ * (a copy is included in the LICENSE file that accompanied this code).
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * version 3 along with OpenOffice.org. If not, see
+ * <http://www.openoffice.org/license.html>
+ * for a copy of the LGPLv3 License.
+ *
+ ************************************************************************/
+
+#ifndef __com_sun_star_reflection_XPublished_idl__
+#define __com_sun_star_reflection_XPublished_idl__
+
+#include "com/sun/star/uno/XInterface.idl"
+
+module com { module sun { module star { module reflection {
+
+/**
+ Reflects the &ldquo;published&rdquo; status of a UNOIDL entity.
+
+ <p>This interface is intended to be supported by objects that also support
+ <type scope="com::sun::star::reflection">XTypeDescription</type>.
+ (This interface could have been made an optional sub-interface of
+ <type scope="com::sun::star::reflection">XTypeDescription</type>, but is
+ instead kept independent for reasons of backwards compatibility.)</p>
+
+ <p>For the various kinds of UNOIDL entities that are represented by objects
+ supporting <type scope="com::sun::star::reflection">XTypeDescription</type>
+ and its subtypes, this optional interface should be supported as follows:</p>
+ <ul>
+ <li>Enum types
+ (<type scope="com::sun::star::reflection">XEnumTypeDescription</type>),
+ plain struct types
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ polymorphic struct type templates
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ exception types (<type
+ scope="com::sun::star::reflection">XCompoundTypeDescription</type>),
+ interface types (<type
+ scope="com::sun::star::reflection">XInterfaceTypeDescription2</type>),
+ typedefs (<type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ individual constants (<type
+ scope="com::sun::star::reflection">XConstantTypeDescription</type>),
+ constant groups (<type
+ scope="com::sun::star::reflection">XConstantsTypeDescription</type>),
+ single-interface&ndash;based services (<type
+ scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
+ accumulation-based services (<type
+ scope="com::sun::star::reflection">XServiceTypeDescription2</type>),
+ interface-based singletons (<type
+ scope="com::sun::star::reflection">XSingletonTypeDescription2</type>),
+ and service-based singletons (<type
+ scope="com::sun::star::reflection">XSingletonTypeDescription2</type>)
+ support the notion of being published. Therefore, for an object that
+ represents any such entity,
+ <type scope="com::sun::star::reflection">XPublished</type> should be
+ supported.</li>
+
+ <li>Sequence types (<type
+ scope="com::sun::star::reflection">XIndirectTypeDescription</type>),
+ type parameters of polymorphic struct type templates
+ (<type scope="com::sun::star::reflection">XTypeDescription</type>),
+ instantiated polymorphic struct types
+ (<type scope="com::sun::star::reflection">XStructTypeDescription</type>),
+ attributes of interface types (<type scope="com::sun::star::reflection">
+ XInterfaceAttributeTypeDescription2</type>), methods of interface types
+ (<type scope="com::sun::star::reflection">
+ XInterfaceMethodTypeDescription</type>), properties of
+ accumulation-based services (<type
+ scope="com::sun::star::reflection">XPropertyTypeDescription</type>),
+ deprecated
+ <type scope="com::sun::star::reflection">XArrayTypeDescription</type>s,
+ and deprecated
+ <type scope="com::sun::star::reflection">XUnionTypeDescription</type>s do
+ not support the notion of being published. Therefore, for an object that
+ represents any such entity,
+ <type scope="com::sun::star::reflection">XPublished</type> should not be
+ supported.</li>
+ </ul>
+
+ @since OOo 2.0.0
+*/
+interface XPublished {
+ /**
+ Returns the &ldquo;published&rdquo; status of a UNOIDL entity.
+
+ @return <TRUE/> if the UNOIDL entity represented by this object is
+ published
+ */
+ boolean isPublished();
+};
+
+}; }; }; };
+
+#endif