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