1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XScript.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef __com_sun_star_script_provider_XScript_idl__
32 #define __com_sun_star_script_provider_XScript_idl__
34 #ifndef __com_sun_star_uno_XInterface_idl__
35 #include
<com
/sun
/star
/uno
/XInterface.idl
>
38 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
39 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
42 #ifndef __com_sun_star_script_CannotConvertException_idl__
43 #include
<com
/sun
/star
/script
/CannotConvertException.idl
>
46 #ifndef __com_sun_star_reflection_InvocationTargetException_idl__
47 #include
<com
/sun
/star
/reflection
/InvocationTargetException.idl
>
50 #ifndef __com_sun_star_script_provider_ScriptFrameworkErrorException_idl__
51 #include
<com
/sun
/star
/script
/provider
/ScriptFrameworkErrorException.idl
>
54 //===========================================================================
56 module com
{ module sun
{ module star
{ module script
{ module provider
{
58 //===========================================================================
60 This interface represents an invokable script or UNO function.
62 interface XScript
: ::com
::sun
::star
::uno
::XInterface
{
64 //----------------------------------------------------------------------
66 invoke the script or function represented by the implementing
70 all parameters; pure, out params are undefined in sequence,
71 i.e., the value has to be ignored by the callee
73 out indices, indicating the position of the out or inout
74 parameters in the list of arguments to the script
77 For example, if the script had the signature<br>
78 <code>long foo( [inout] string a, [in] string b, [out] string c )</code>
79 <br> the call would look like<br>
80 <code>bar.invoke( {"foo", "foo2", "this-is-ignored" }, aOutParamIndex, aOutParam);</code>
81 <br> and after the call the out sequences would contain<br>
84 aOutParam={"string from a", "string from c"};
88 the value returned from the function being invoked
90 @throws ::com::sun::star::reflection::InvocationTargetException
91 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.
94 [in] sequence
<any
> aParams
,
95 [out] sequence
<short> aOutParamIndex
,
96 [out] sequence
<any
> aOutParam
) raises
(
97 ::com
::sun
::star
::script
::provider
::ScriptFrameworkErrorException
,
98 ::com
::sun
::star
::reflection
::InvocationTargetException
);
102 //===========================================================================
103 }; }; }; }; }; // ::com::sun::star::script::provider