diff options
Diffstat (limited to 'udkapi/com/sun/star/reflection/XPublished.idl')
-rw-r--r-- | udkapi/com/sun/star/reflection/XPublished.idl | 113 |
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 “published” 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–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 “published” status of a UNOIDL entity. + + @return <TRUE/> if the UNOIDL entity represented by this object is + published + */ + boolean isPublished(); +}; + +}; }; }; }; + +#endif |