1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28#ifndef __com_sun_star_script_provider_XScript_idl__ 29#define __com_sun_star_script_provider_XScript_idl__ 30 31#ifndef __com_sun_star_uno_XInterface_idl__ 32#include <com/sun/star/uno/XInterface.idl> 33#endif 34 35#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ 36#include <com/sun/star/lang/IllegalArgumentException.idl> 37#endif 38 39#ifndef __com_sun_star_script_CannotConvertException_idl__ 40#include <com/sun/star/script/CannotConvertException.idl> 41#endif 42 43#ifndef __com_sun_star_reflection_InvocationTargetException_idl__ 44#include <com/sun/star/reflection/InvocationTargetException.idl> 45#endif 46 47#ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__ 48#include <com/sun/star/script/provider/ScriptFrameworkErrorException.idl> 49#endif 50 51//=========================================================================== 52 53module com { module sun { module star { module script { module provider { 54 55//=========================================================================== 56/** 57 This interface represents an invokable script or UNO function. 58*/ 59interface XScript : ::com::sun::star::uno::XInterface { 60 61 //---------------------------------------------------------------------- 62 /** 63 invoke the script or function represented by the implementing 64 object 65 66 @param aParams 67 all parameters; pure, out params are undefined in sequence, 68 i.e., the value has to be ignored by the callee 69 @param aOutParamIndex 70 out indices, indicating the position of the out or inout 71 parameters in the list of arguments to the script 72 @param aOutParam 73 out parameters<p> 74 For example, if the script had the signature<br> 75 <code>long foo( [inout] string a, [in] string b, [out] string c )</code> 76 <br> the call would look like<br> 77 <code>bar.invoke( {"foo", "foo2", "this-is-ignored" }, aOutParamIndex, aOutParam);</code> 78 <br> and after the call the out sequences would contain<br> 79 <listing> 80 aOutParamIndex={0,2}; 81 aOutParam={"string from a", "string from c"}; 82 </listing> 83 84 @returns 85 the value returned from the function being invoked 86 87 @throws ::com::sun::star::reflection::InvocationTargetException 88 if and error occurs while attempting to invoke a script the information is captured. If the error or exception is generated by the script itself it is wrapped as either ScriptErrorRaisedException or ScriptExceptionRaisedException or ScriptingFrameworkErrorException are wrapped as ScriptFrameworkErrorExceptions. 89 */ 90 any invoke( 91 [in] sequence<any> aParams, 92 [out] sequence<short> aOutParamIndex, 93 [out] sequence<any> aOutParam ) raises( 94 ::com::sun::star::script::provider::ScriptFrameworkErrorException , 95 ::com::sun::star::reflection::InvocationTargetException); 96 97}; 98 99//=========================================================================== 100}; }; }; }; }; // ::com::sun::star::script::provider 101 102#endif 103