fix baseline build (old cairo) - 'cairo_rectangle_int_t' does not name a type
[LibreOffice.git] / udkapi / com / sun / star / reflection / XIdlMethod.idl
blob4d6243454a5c88e35a902452fb3e3be9c669bced
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_reflection_XIdlMethod_idl__
20 #define __com_sun_star_reflection_XIdlMethod_idl__
22 #include <com/sun/star/reflection/XIdlMember.idl>
24 #include <com/sun/star/reflection/ParamInfo.idl>
26 #include <com/sun/star/reflection/MethodMode.idl>
28 #include <com/sun/star/lang/IllegalArgumentException.idl>
30 #include <com/sun/star/reflection/InvocationTargetException.idl>
34 module com { module sun { module star { module reflection {
36 published interface XIdlClass;
39 /** Reflects an IDL interface method.
41 published interface XIdlMethod: com::sun::star::reflection::XIdlMember
43 /** Returns the return type of the reflected method.
45 @return
46 return type of reflected method
48 XIdlClass getReturnType();
50 /** Returns the formal parameter types of the reflected method in order of IDL
51 declaration.
53 @return
54 formal parameter types of reflected method
56 sequence<XIdlClass> getParameterTypes();
58 /** Returns formal parameter information of the reflected method
59 in order of IDL declaration.
60 Parameter information reflects the parameter's access mode (in, out, inout),
61 the parameter's name and formal type.
63 @return
64 parameter information of reflected method
66 sequence<ParamInfo> getParameterInfos();
68 /** Returns the declared exceptions types of the reflected method.
70 @return
71 declared exception types of reflected method
73 sequence<com::sun::star::reflection::XIdlClass> getExceptionTypes();
75 /** Returns the method mode in which calls are run, i.e. either oneway or
76 twoway. Method mode oneway denotes that a call may be run asynchronously
77 (thus having no out parameters or return value)
79 @return
80 method mode of reflected method
82 com::sun::star::reflection::MethodMode getMode();
84 /** Invokes the reflected method on a given object with the given parameters.
85 The parameters may be widening converted to fit their exact IDL type,
86 meaning no loss of information.
88 @param obj
89 object to call on
90 @param args
91 arguments passed to the method
92 @return
93 return value of the method call (may be empty for methods returning void)
95 @throws IllegalArgumentException
96 if the given object is a nuull reference or does not support the reflected
97 method's interface
98 @throws IllegalArgumentException
99 if the given number of arguments differ from the expected number
100 or the given arguments' types differ from the expected ones (even a
101 widening conversion was not possible)
102 @throws InvocationTargetException
103 if the reflected method that has been invoked has thrown an exception.
104 The original exception will be wrapped up and signalled by the
105 InvocationTargetException
107 any invoke(
108 [in] any obj,
109 [inout] sequence<any> args )
110 raises( com::sun::star::lang::IllegalArgumentException,
111 com::sun::star::reflection::InvocationTargetException );
115 }; }; }; };
117 #endif
119 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */