From 940b4d1848e8c70ab7642901a68594e8016caffc Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:51:28 +0200 Subject: Adding upstream version 1:7.0.4. Signed-off-by: Daniel Baumann --- udkapi/com/sun/star/reflection/XIdlClass.idl | 197 +++++++++++++++++++++++++++ 1 file changed, 197 insertions(+) create mode 100644 udkapi/com/sun/star/reflection/XIdlClass.idl (limited to 'udkapi/com/sun/star/reflection/XIdlClass.idl') diff --git a/udkapi/com/sun/star/reflection/XIdlClass.idl b/udkapi/com/sun/star/reflection/XIdlClass.idl new file mode 100644 index 000000000..d6c43861e --- /dev/null +++ b/udkapi/com/sun/star/reflection/XIdlClass.idl @@ -0,0 +1,197 @@ +/* -*- 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_XIdlClass_idl__ +#define __com_sun_star_reflection_XIdlClass_idl__ + +#include + +#include + +#include + + +module com { module sun { module star { module reflection { + + published interface XIdlField; + published interface XIdlMethod; + published interface XIdlArray; + + +/** Provides information reflecting a UNO type. +*/ +published interface XIdlClass: com::sun::star::uno::XInterface +{ + /** Deprecated. Do not call. + @deprecated + */ + sequence getClasses(); + /** Deprecated. Do not call. + @deprecated + */ + XIdlClass getClass( [in] string aName ); + + /** Tests whether two reflecting objects reflect the same type. + + @returns + true, if the objects reflect the same type, false otherwise. + */ + boolean equals( [in] XIdlClass Type ); + + /** Tests whether values of this reflected type are assignable from values + of a second one (xType). + + @param xType + another reflected type + @return + true, if values of this reflected type are assignable + from values of xType. + */ + boolean isAssignableFrom( [in] XIdlClass xType ); + + /** Returns the com::sun::star::uno::TypeClass + of the reflected type. + + @returns + type class of the reflected type. + */ + com::sun::star::uno::TypeClass getTypeClass(); + + /** Returns the fully-qualified name of the reflected type. + + @returns + the fully-qualified name of the type + */ + string getName(); + + /** Deprecated. Do not call. + + @deprecated + */ + com::sun::star::uno::Uik getUik(); + + /** If the reflected type is an interface, then the returned + sequence of XIdlClass reflect the base interfaces. +
+ If the reflected type is not an interface or an interface that is + not derived from another, then an empty sequence is returned. + + @return + all base interfaces of an interface type or an empty sequence. + */ + sequence getSuperclasses(); + + /** Deprecated. Do not call. + @deprecated + */ + sequence getInterfaces(); + + /** If the reflected type is an array or sequence, then this method + returns a XIdlClass interface reflecting + the element. + + @return + reflection interface of the element type of an array or + sequence type (null-reference otherwise). + */ + XIdlClass getComponentType(); + + /** If the reflected type is an interface, struct or union, then you + get a XIdlField interface reflecting the demanded + field (/interface attribute) by name. +
+ If the reflected type is not an interface, struct or union or the + interface, struct or union does not have a field (/interface attribute) + with the demanded name, then a null-reference is returned. + + @param aName + name of the demanded field reflection + @return + demanded field (/interface attribute) reflection (or null-reference) + */ + XIdlField getField( [in] string aName ); + + /** If the reflected type is an interface, struct or union, then you + get a sequence of XIdlField interfaces reflecting all fields + (/interface attributes). This also includes all inherited + fields (/interface attributes) of the interface, struct of union. +
+ If the reflected type is not an interface, struct or union or the + interface, struct or union does not have any field (/interface attribute), + then an empty sequence is returned. + + @return + all field (/interface attribute) reflections (or empty sequence) + */ + sequence getFields(); + + /** If the reflected type is an interface, then you get + a XIdlMethod interface reflecting the demanded method by name. +
+ If the reflected type is not an interface or the interface does not have + a method with the demanded name (including inherited methods), + then a null-reference is returned. + + @param aName + name of demanded method reflection + @return + demanded method reflection (or null-reference) + */ + XIdlMethod getMethod( [in] string aName ); + + /** If the reflected type is an interface, then you get + a sequence of XIdlMethod interfaces reflecting all methods + of the interface. This also includes the inherited methods of the interface. +
+ If the reflected type is not an interface or the interface + does not have any methods, then a null-reference is returned. + + @return + all method reflections (or empty sequence) + */ + sequence getMethods(); + + /** If the reflected type is an array, then you get + a XIdlArray interface to modify instances of the array type. +
+ If the reflected type is not an array, then a null-reference is returned. + + @return + interface to modify array instances (or null-reference) + */ + XIdlArray getArray(); + + /** This method creates instances of the reflected type. + + @attention + Instances of type any can not be passed using an any, because + anys cannot be nested. So if the reflected type is an any, then the + returned value is empty. + + @param obj + pure out parameter to pass the created instance + */ + void createObject( [out] any obj ); +}; + + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit v1.2.3