8bcc6bffa6
2005/09/05 14:07:24 rt 1.12.42.1: #i54170# Change license header: remove SISSL
223 lines
7.6 KiB
Text
223 lines
7.6 KiB
Text
/*************************************************************************
|
|
*
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
|
*
|
|
* $RCSfile: XIdlClass.idl,v $
|
|
*
|
|
* $Revision: 1.13 $
|
|
*
|
|
* last change: $Author: rt $ $Date: 2005-09-09 15:58:21 $
|
|
*
|
|
* The Contents of this file are made available subject to
|
|
* the terms of GNU Lesser General Public License Version 2.1.
|
|
*
|
|
*
|
|
* GNU Lesser General Public License Version 2.1
|
|
* =============================================
|
|
* Copyright 2005 by Sun Microsystems, Inc.
|
|
* 901 San Antonio Road, Palo Alto, CA 94303, USA
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License version 2.1, as published by the Free Software Foundation.
|
|
*
|
|
* This library 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 for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
* MA 02111-1307 USA
|
|
*
|
|
************************************************************************/
|
|
#ifndef __com_sun_star_reflection_XIdlClass_idl__
|
|
#define __com_sun_star_reflection_XIdlClass_idl__
|
|
|
|
#ifndef __com_sun_star_uno_XInterface_idl__
|
|
#include <com/sun/star/uno/XInterface.idl>
|
|
#endif
|
|
|
|
#ifndef __com_sun_star_uno_TypeClass_idl__
|
|
#include <com/sun/star/uno/TypeClass.idl>
|
|
#endif
|
|
|
|
#ifndef __com_sun_star_uno_Uik_idl__
|
|
#include <com/sun/star/uno/Uik.idl>
|
|
#endif
|
|
|
|
//=============================================================================
|
|
|
|
module com { module sun { module star { module reflection {
|
|
|
|
published interface XIdlField;
|
|
published interface XIdlMethod;
|
|
published interface XIdlArray;
|
|
|
|
//=============================================================================
|
|
|
|
/** Provides information reflecting an UNO type.
|
|
*/
|
|
published interface XIdlClass: com::sun::star::uno::XInterface
|
|
{
|
|
/** Deprecated. Do not call.
|
|
@deprecated
|
|
*/
|
|
sequence<XIdlClass> 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 (<code>xType</code>).
|
|
|
|
@param xType
|
|
another reflected type
|
|
@return
|
|
true, if values of this reflected type are assignable
|
|
from values of <code>xType</code>.
|
|
*/
|
|
boolean isAssignableFrom( [in] XIdlClass xType );
|
|
|
|
/** Returns the <type scope="com::sun::star::uno">TypeClass</type>
|
|
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 <type>XIdlClass</type> reflect the base interfaces.
|
|
<br>
|
|
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<XIdlClass> getSuperclasses();
|
|
|
|
/** Deprecated. Do not call.
|
|
@deprecated
|
|
*/
|
|
sequence<XIdlClass> getInterfaces();
|
|
|
|
/** If the reflected type is an array or sequence, then this method
|
|
returns a <type>XIdlClass</type> 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 <type>XIdlField</type> interface reflecting the demanded
|
|
field (/interface attribute) by name.
|
|
<br>
|
|
If the reflected type is not an interface, struct or union or the
|
|
interace, 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 <type>XIdlField</type> interfaces reflecting all fields
|
|
(/interface attributes). This also includes all inherited
|
|
fields (/interface attributes) of the interface, struct of union.
|
|
<br>
|
|
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<XIdlField> getFields();
|
|
|
|
/** If the reflected type is an interface, then you get
|
|
a <type>XIdlMethod</type> interface reflecting the demanded method by name.
|
|
<br>
|
|
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 <type>XIdlMethod</type> interfaces reflecting all methods
|
|
of the interface. This also includes the inherited methods of the interface.
|
|
<br>
|
|
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<XIdlMethod> getMethods();
|
|
|
|
/** If the reflected type is an array, then you get
|
|
a <type>XIdlArray</type> interface to modify instances of the array type.
|
|
<br>
|
|
If the reflected type is not an array, then a null-reference is returned.
|
|
|
|
@return
|
|
inteface to modify array instances (or null-reference)
|
|
*/
|
|
XIdlArray getArray();
|
|
|
|
/** This method creates instances of the reflected type.
|
|
|
|
@attention
|
|
Instances of type <code>any</code> can not be passed using an <code>any</code>, because
|
|
anys cannot be nested. So if the reflected type is an <code>any</code>, then the
|
|
returned value is empty.
|
|
|
|
@param obj
|
|
pure out parameter to pass the created instance
|
|
*/
|
|
void createObject( [out] any obj );
|
|
};
|
|
|
|
//=============================================================================
|
|
|
|
}; }; }; };
|
|
|
|
/*=============================================================================
|
|
|
|
=============================================================================*/
|
|
#endif
|