diff options
Diffstat (limited to '')
-rw-r--r-- | udkapi/com/sun/star/reflection/XPublished.idl | 103 |
1 files changed, 103 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 000000000..880438f6c --- /dev/null +++ b/udkapi/com/sun/star/reflection/XPublished.idl @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#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 + com::sun::star::reflection::XTypeDescription. + (This interface could have been made an optional sub-interface of + com::sun::star::reflection::XTypeDescription, 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 com::sun::star::reflection::XTypeDescription + and its subtypes, this optional interface should be supported as follows:</p> + <ul> + <li>Enum types + (com::sun::star::reflection::XEnumTypeDescription), + plain struct types + (com::sun::star::reflection::XStructTypeDescription), + polymorphic struct type templates + (com::sun::star::reflection::XStructTypeDescription), + exception types (com::sun::star::reflection::XCompoundTypeDescription), + interface types (com::sun::star::reflection::XInterfaceTypeDescription2), + typedefs (com::sun::star::reflection::XIndirectTypeDescription), + individual constants + (com::sun::star::reflection::XConstantTypeDescription), + constant groups (com::sun::star::reflection::XConstantsTypeDescription), + single-interface–based services + (com::sun::star::reflection::XServiceTypeDescription2), + accumulation-based services + (com::sun::star::reflection::XServiceTypeDescription2), + interface-based singletons + (com::sun::star::reflection::XSingletonTypeDescription2), + and service-based singletons + (com::sun::star::reflection::XSingletonTypeDescription2) + support the notion of being published. Therefore, for an object that + represents any such entity, + com::sun::star::reflection::XPublished should be + supported.</li> + + <li>Sequence types + (com::sun::star::reflection::XIndirectTypeDescription), + type parameters of polymorphic struct type templates + (com::sun::star::reflection::XTypeDescription), + instantiated polymorphic struct types + (com::sun::star::reflection::XStructTypeDescription), + attributes of interface types + (com::sun::star::reflection::XInterfaceAttributeTypeDescription2), + methods of interface types + (com::sun::star::reflection::XInterfaceMethodTypeDescription), + properties of accumulation-based services + (com::sun::star::reflection::XPropertyTypeDescription), + deprecated + com::sun::star::reflection::XArrayTypeDescriptions, + and deprecated + com::sun::star::reflection::XUnionTypeDescriptions do + not support the notion of being published. + Therefore, for an object that represents any such entity, + com::sun::star::reflection::XPublished should not be + supported.</li> + </ul> + + @since OOo 2.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 + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |