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: oletest.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 #include
<com
/sun
/star
/uno
/XInterface.idl
>
32 #include
<com
/sun
/star
/script
/XInvocation.idl
>
33 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
34 #include
<com
/sun
/star
/lang
/XEventListener.idl
>
40 interface XTestSequence
: com
::sun
::star
::uno
::XInterface
42 sequence
<byte> methodByte
( [in] sequence
<byte> aSeq
);
43 sequence
<float> methodFloat
( [in] sequence
<float> aSeq
);
44 sequence
<double> methodDouble
( [in] sequence
<double> aSeq
);
45 sequence
<boolean> methodBool
( [in] sequence
<boolean> aSeq
);
46 sequence
<short> methodShort
( [in] sequence
<short> aSeq
);
47 sequence
<unsigned short> methodUShort
( [in] sequence
<unsigned short> aSeq
);
48 sequence
<long> methodLong
( [in] sequence
<long> aSeq
);
49 sequence
<unsigned long> methodULong
( [in] sequence
<unsigned long> aSeq
);
50 sequence
<string> methodString
( [in] sequence
<string> aSeq
);
51 sequence
<char> methodChar
( [in] sequence
<char> aSeq
);
52 sequence
<any
> methodAny
( [in] sequence
<any
> aSeq
);
53 sequence
<type
> methodType
( [in] sequence
<type
> aSeq
);
54 sequence
<com
::sun
::star
::uno
::XInterface
> methodXInterface
( [in] sequence
<com
::sun
::star
::uno
::XInterface
> aSeq
);
55 sequence
< sequence
<long> > methodSequence
( [in] sequence
< sequence
< long > > aSeq
);
56 sequence
< sequence
<sequence
<long> > > methodSequence2
( [in] sequence
< sequence
< sequence
<long> > > aSeq
);
57 sequence
< com
::sun
::star
::lang
::XEventListener
> methodXEventListeners
( [in] sequence
<com
::sun
::star
::lang
::XEventListener
> aSeq
);
58 sequence
< sequence
< com
::sun
::star
::lang
::XEventListener
> > methodXEventListenersMul
( [in] sequence
< sequence
< com
::sun
::star
::lang
::XEventListener
> > aSeq
);
60 [attribute
] sequence
<byte> AttrByte
;
61 [attribute
] sequence
<float> AttrFloat
;
62 [attribute
] sequence
<double> AttrDouble
;
63 [attribute
] sequence
<boolean> AttrBool
;
64 [attribute
] sequence
<short> AttrShort
;
65 [attribute
] sequence
<unsigned short> AttrUShort
;
66 [attribute
] sequence
<long> AttrLong
;
67 [attribute
] sequence
<unsigned long> AttrULong
;
68 [attribute
] sequence
<string> AttrString
;
69 [attribute
] sequence
<char> AttrChar
;
70 [attribute
] sequence
<any
> AttrAny
;
71 [attribute
] sequence
<type
> AttrType
;
72 [attribute
] sequence
< sequence
<long> > AttrSequence
;
73 [attribute
] sequence
< sequence
< sequence
<long> > > AttrSequence2
;
74 [attribute
] sequence
< com
::sun
::star
::uno
::XInterface
> AttrXInterface
;
76 [attribute
] byte AByte
;
77 [attribute
] float AFloat
;
78 [attribute
] double ADouble
;
79 [attribute
] boolean ABool
;
80 [attribute
] short AShort
;
81 [attribute
] unsigned short AUShort
;
82 [attribute
] long ALong
;
83 [attribute
] unsigned long AULong
;
84 [attribute
] string AString
;
85 [attribute
] char AChar
;
87 [attribute
] type AType
;
88 [attribute
] com
::sun
::star
::uno
::XInterface AXInterface
;
89 [attribute
] com
::sun
::star
::script
::XInvocation AXInvocation
;
91 void testout_methodByte
( [out] byte rOut
);
92 void testout_methodFloat
( [out] float rOut
);
93 void testout_methodDouble
( [out] double rOut
);
94 void testout_methodBool
( [out] boolean rOut
);
95 void testout_methodShort
( [out] short rOut
);
96 void testout_methodUShort
( [out] unsigned short rOut
);
97 void testout_methodLong
( [out] long rOut
);
98 void testout_methodULong
( [out] unsigned long rOut
);
99 void testout_methodHyper
( [out] hyper rOut
);
100 void testout_methodUHyper
( [out] unsigned hyper rOut
);
101 void testout_methodString
( [out] string rOut
);
102 void testout_methodChar
( [out] char rOut
);
103 void testout_methodAny
( [out] any rOut
);
104 void testout_methodType
( [out] type rOut
);
105 void testout_methodSequence
( [out] sequence
< long > rOut
);
106 void testout_methodSequence2
( [out] sequence
< sequence
< long > > rOut
);
107 void testout_methodXInterface
( [out] com
::sun
::star
::uno
::XInterface rOut
);
109 void testout_methodMulParams1
( [out] long rout1
, [out] long rout2
);
110 void testout_methodMulParams2
( [out] long rout1
, [out] long rout2
, [out] string rout3
);
111 void testout_methodMulParams3
( [in] string sin
, [out] string sout
);
112 void testout_methodMulParams4
( [in] float in1
, [out] float out1
, [in] long in2
, [out] long out2
, [in] long in3
);
114 void testinout_methodByte
( [inout
] byte rOut
);
115 void testinout_methodFloat
( [inout
] float rOut
);
116 void testinout_methodDouble
( [inout
] double rOut
);
117 void testinout_methodBool
( [inout
] boolean rOut
);
118 void testinout_methodShort
( [inout
] short rOut
);
119 void testinout_methodUShort
( [inout
] unsigned short rOut
);
120 void testinout_methodLong
( [inout
] long rOut
);
121 void testinout_methodULong
( [inout
] unsigned long rOut
);
122 void testinout_methodHyper
( [inout
] hyper rOut
);
123 void testinout_methodUHyper
( [inout
] unsigned hyper rOut
);
124 void testinout_methodString
( [inout
] string rOut
);
125 void testinout_methodChar
( [inout
] char rOut
);
126 void testinout_methodAny
( [inout
] any rOut
);
127 void testinout_methodType
( [inout
] type rOut
);
128 void testinout_methodSequence
( [inout
] sequence
< long > rOut
);
129 void testinout_methodSequence2
( [inout
] sequence
< sequence
< long > > rOut
);
130 void testinout_methodXInterface
( [inout
] com
::sun
::star
::script
::XInvocation rOut
);
131 void testinout_methodXInterface2
( [inout
] com
::sun
::star
::uno
::XInterface rOut
);
133 any methodAnyTest1
( [in] any rIn
);
134 [attribute
] any AttrAny2
;
137 interface XTestStruct
: com
::sun
::star
::uno
::XInterface
139 // Method taking structs as arguments
140 void methodStruct
( [in] com
::sun
::star
::beans
::Property aProp
);
141 // Methods returning structs
142 com
::sun
::star
::beans
::Property retMethodStruct
();
143 // Attributes as structs
144 [attribute
] com
::sun
::star
::beans
::Property AttrStruct
;
146 com
::sun
::star
::beans
::Property methodStruct2
( [in] com
::sun
::star
::beans
::Property aProp
);
155 interface XTestInParameters
: com
::sun
::star
::uno
::XInterface
157 byte in_methodByte
( [in] byte rIn
);
158 float in_methodFloat
( [in] float rIn
);
159 double in_methodDouble
( [in] double rIn
);
160 boolean in_methodBool
( [in] boolean rIn
);
161 short in_methodShort
( [in] short rIn
);
162 unsigned short in_methodUShort
( [in] unsigned short rIn
);
163 long in_methodLong
( [in] long rIn
);
164 unsigned long in_methodULong
( [in] unsigned long rIn
);
165 hyper in_methodHyper
( [in] hyper rIn
);
166 unsigned hyper in_methodUHyper
( [in] unsigned hyper rIn
);
167 string in_methodString
( [in] string rIn
);
168 char in_methodChar
( [in] char rIn
);
169 any in_methodAny
( [in] any rIn
);
170 type in_methodType
( [in] type rIn
);
171 com
::sun
::star
::uno
::XInterface in_methodXInterface
([in] com
::sun
::star
::uno
::XInterface rIn
);
172 com
::sun
::star
::script
::XInvocation in_methodInvocation
( [in] com
::sun
::star
::script
::XInvocation inv
);
173 SimpleStruct in_methodStruct
( [in] SimpleStruct aStruct
);
174 void in_methodAll
( [in] byte b
, [in] float f
, [in] double d
, [in] boolean abool
, [in]short sh
,
175 [in] unsigned short us
, [in] long l
, [in] unsigned long ul
,
176 [in] string s
, [in] char c
, [in] any a
, [in] type t
, [in] com
::sun
::star
::script
::XInvocation inv
);
187 interface XTestOther
: com
::sun
::star
::uno
::XInterface
190 void other_methodAnyIn
( [in] any rAny
);
191 void other_methodAnyOut
( [out] any rAny
);
192 any other_methodAnyRet
();
193 void in_float
( [in] float val
);
194 //typeInAny determines what type must be in rAny. If rAny contains
195 //a different type then an exception is being thrown
196 any other_methodAny
([in] any rAny
, [in] string typeInAny
);
200 interface XSimple
: com
::sun
::star
::uno
::XInterface
202 void func
( [in] string message);
206 interface XSimple2
: com
::sun
::star
::uno
::XInterface
208 void func2
( [in] string message);
212 interface XSimple3
: com
::sun
::star
::uno
::XInterface
214 void func3
( [in] string message);
219 interface XCallback
: com
::sun
::star
::uno
::XInterface
222 oletest
::XSimple returnInterface
();
223 void outInterface
( [out] oletest
::XSimple outInterface
);
224 void outStruct
( [out] oletest
::SimpleStruct outStruct
);
225 void outEnum
( [out] oletest
::SimpleEnum outEnum
);
226 void outSeqAny
( [out] sequence
<any
> outSeqAny
);
227 void outSeqByte
( [out] sequence
<byte> outVal
);
228 void outAny
( [out] any outAny
);
229 void outBool
( [out] boolean outBool
);
230 void outChar
( [out] char outChar
);
231 void outString
( [out] string outString
);
232 void outFloat
( [out] float outFloat
);
233 void outDouble
( [out] double outDouble
);
234 void outByte
( [out] byte outByte
);
235 void outShort
( [out] short outShort
);
236 void outLong
( [out] long outLong
);
237 void outValuesMixed
( [in] long lval
, [out] long outval
, [in] string sval
);
238 void outValuesAll
( [out] oletest
::XSimple outInterface
,
239 [out] SimpleStruct outStruct
,
240 [out] SimpleEnum outEnum
,
241 [out] sequence
<any
> outSeqAny
,
243 [out] boolean outBool
,
245 [out] string outString
,
246 [out] float outFloat
,
247 [out] double outDouble
,
249 [out] short outShort
,
252 void inoutInterface
( [inout
] oletest
::XSimple inoutVal
);
253 void inoutStruct
( [inout
] oletest
::SimpleStruct inoutVal
);
254 void inoutEnum
( [inout
] oletest
::SimpleEnum inoutVal
);
255 void inoutSeqAny
( [inout
] sequence
<any
> inoutVal
);
256 void inoutAny
( [inout
] any inoutVal
);
257 void inoutBool
( [inout
] boolean inoutVal
);
258 void inoutChar
( [inout
] char inoutVal
);
259 void inoutString
( [inout
] string inoutVal
);
260 void inoutFloat
( [inout
] float inoutVal
);
261 void inoutDouble
( [inout
] double inoutVal
);
262 void inoutByte
( [inout
] byte inoutVal
);
263 void inoutShort
( [inout
] short inoutVal
);
264 void inoutLong
( [inout
] long inoutVal
);
266 void inoutValuesAll
( [inout
] oletest
::XSimple aXSimple
,
267 [inout
] oletest
::SimpleStruct aStruct
,
268 [inout
] oletest
::SimpleEnum aEnum
,
269 [inout
] sequence
<any
> aSeq
,
271 [inout
] boolean aBool
,
273 [inout
] string aString
,
274 [inout
] float aFloat
,
275 [inout
] double aDouble
,
277 [inout
] short aShort
,
282 void inValues
( [in] char aChar
, [in] long aLong
, [in] string aString
);
283 void inSeqByte
( [in] sequence
<byte> val
);
284 void inSeqXEventListener
( [in] sequence
<com
::sun
::star
::lang
::XEventListener
> listener
, [in]
285 sequence
<com
::sun
::star
::lang
::EventObject
> events
);
288 [attribute
] oletest
::XSimple simple
;
295 interface XTestInterfaces
: com
::sun
::star
::uno
::XInterface
298 void testInterface
( [in] oletest
::XCallback xCallback
, [in] long mode
);
299 void testInterface2
( [in] oletest
::XSimple xSimple
, [in] long mode
);
302 interface XIdentity
: com
::sun
::star
::uno
::XInterface
304 void setObject
([in] com
::sun
::star
::uno
::XInterface val
);
305 boolean isSame
( [in] com
::sun
::star
::uno
::XInterface val
);
307 com
::sun
::star
::uno
::XInterface getThis
();