| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #ifndef __com_sun_star_script_XInvocation_idl__ |
| #define __com_sun_star_script_XInvocation_idl__ |
| |
| #ifndef __com_sun_star_uno_XInterface_idl__ |
| #include <com/sun/star/uno/XInterface.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_XIntrospectionAccess_idl__ |
| #include <com/sun/star/beans/XIntrospectionAccess.idl> |
| #endif |
| |
| #ifndef __com_sun_star_lang_IllegalArgumentException_idl__ |
| #include <com/sun/star/lang/IllegalArgumentException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_script_CannotConvertException_idl__ |
| #include <com/sun/star/script/CannotConvertException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_reflection_InvocationTargetException_idl__ |
| #include <com/sun/star/reflection/InvocationTargetException.idl> |
| #endif |
| |
| #ifndef __com_sun_star_beans_UnknownPropertyException_idl__ |
| #include <com/sun/star/beans/UnknownPropertyException.idl> |
| #endif |
| |
| |
| //============================================================================= |
| |
| module com { module sun { module star { module script { |
| |
| //============================================================================= |
| /** gives access to an object's methods and properties. |
| Container access is available through |
| <type scope="com::sun::star::container">XIndexContainer</type>, |
| <type scope="com::sun::star::container">XNameContainer</type> and |
| <type scope="com::sun::star::container">XEnumerationAccess</type>. |
| </p> |
| */ |
| published interface XInvocation: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| /** returns the introspection from this object or <NULL/> |
| if the object does not provide this information. |
| */ |
| com::sun::star::beans::XIntrospectionAccess getIntrospection(); |
| |
| //------------------------------------------------------------------------- |
| /** provides access to methods exposed by an object. |
| |
| @param aParams all parameters; pure out params are undefined in sequence, |
| the value has to be ignored by the callee |
| @param aOutParamIndex This sequence contains the indices of all parameters |
| that are specified as out or inout. |
| @param aOutParam This sequence contains the values of all parameters that |
| are specified as out or inout and corresponds with the |
| indices provided by the aOutParamIndex sequence. |
| |
| Example: aOutParamIndex == { 1, 4 } means that |
| aOutParam[0] contains the out value of the aParams[1] |
| parameter and aOutParam[1] contains the out value of |
| the aParams[4] parameter. |
| */ |
| any invoke( [in] string aFunctionName, |
| [in] sequence<any> aParams, |
| [out] sequence<short> aOutParamIndex, |
| [out] sequence<any> aOutParam ) |
| raises( com::sun::star::lang::IllegalArgumentException, |
| com::sun::star::script::CannotConvertException, |
| com::sun::star::reflection::InvocationTargetException ); |
| |
| //------------------------------------------------------------------------- |
| /** sets a value to the property with the specified name. |
| |
| <p> If the underlying object implements an |
| <type scope="com::sun::star::container">XNameContainer</type>, |
| then this method will insert the value if there is no such |
| <var>aPropertyName</var>. |
| |
| </p> |
| */ |
| void setValue( [in] string aPropertyName, |
| [in] any aValue ) |
| raises( com::sun::star::beans::UnknownPropertyException, |
| com::sun::star::script::CannotConvertException, |
| com::sun::star::reflection::InvocationTargetException ); |
| |
| //------------------------------------------------------------------------- |
| /** returns the value of the property with the specified name. |
| |
| @param aPropertyName |
| specifies the name of the property. |
| */ |
| any getValue( [in] string aPropertyName ) |
| raises( com::sun::star::beans::UnknownPropertyException ); |
| |
| //------------------------------------------------------------------------- |
| /** returns <TRUE/> if the method with the specified name exists, else <FALSE/>. |
| |
| <p>This optimizes the calling sequence |
| ( <member>XInvocation::hasMethod</member>, |
| <member>XInvocation::invoke</member> )!</p> |
| |
| @param aName |
| specifies the name of the method. |
| */ |
| boolean hasMethod( [in] string aName ); |
| |
| //------------------------------------------------------------------------- |
| /** returns <TRUE/> if the property with the specified name exists, else <FALSE/>. |
| |
| <p>This optimizes the calling sequence |
| ( <member>XInvocation::hasProperty</member>, |
| <member>XInvocation::getValue</member> ) or |
| |
| ( <member>XInvocation::hasProperty</member>, |
| <member>XInvocation::setValue</member> )! |
| |
| @param aName |
| specifies the name of the property. |
| */ |
| boolean hasProperty( [in] string aName ); |
| |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| #endif |