1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _CPPUHELPER_QUERYINTERFACE_HXX_
25 #define _CPPUHELPER_QUERYINTERFACE_HXX_
26 
27 #include "sal/config.h"
28 #include "com/sun/star/uno/Any.hxx"
29 #include "com/sun/star/uno/Type.hxx"
30 #include "sal/types.h"
31 
32 namespace cppu
33 {
34 
35 /** Compares demanded type to given template argument types.
36 
37     @tplparam Interface1 interface type
38     @param rType demanded type
39     @param p1 interface pointer
40     @return acquired interface of demanded type or empty Any
41 */
42 template< class Interface1 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1)43 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
44 	const ::com::sun::star::uno::Type & rType,
45 	Interface1 * p1 )
46 	SAL_THROW( () )
47 {
48 	if (rType == Interface1::static_type())
49 		return ::com::sun::star::uno::Any( &p1, rType );
50 	else
51 		return ::com::sun::star::uno::Any();
52 }
53 /** Compares demanded type to given template argument types.
54 
55     @tplparam Interface1 interface type
56     @tplparam Interface2 interface type
57     @param rType demanded type
58     @param p1 interface pointer
59     @param p2 interface pointer
60     @return acquired interface of demanded type or empty Any
61 */
62 template< class Interface1, class Interface2 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2)63 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
64 	const ::com::sun::star::uno::Type & rType,
65 	Interface1 * p1, Interface2 * p2 )
66 	SAL_THROW( () )
67 {
68 	if (rType == Interface1::static_type())
69 		return ::com::sun::star::uno::Any( &p1, rType );
70 	else if (rType == Interface2::static_type())
71 		return ::com::sun::star::uno::Any( &p2, rType );
72 	else
73 		return ::com::sun::star::uno::Any();
74 }
75 /** Compares demanded type to given template argument types.
76 
77     @tplparam Interface1 interface type
78     @tplparam Interface2 interface type
79     @tplparam Interface3 interface type
80     @param rType demanded type
81     @param p1 interface pointer
82     @param p2 interface pointer
83     @param p3 interface pointer
84     @return acquired interface of demanded type or empty Any
85 */
86 template< class Interface1, class Interface2, class Interface3 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3)87 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
88 	const ::com::sun::star::uno::Type & rType,
89 	Interface1 * p1, Interface2 * p2, Interface3 * p3 )
90 	SAL_THROW( () )
91 {
92 	if (rType == Interface1::static_type())
93 		return ::com::sun::star::uno::Any( &p1, rType );
94 	else if (rType == Interface2::static_type())
95 		return ::com::sun::star::uno::Any( &p2, rType );
96 	else if (rType == Interface3::static_type())
97 		return ::com::sun::star::uno::Any( &p3, rType );
98 	else
99 		return ::com::sun::star::uno::Any();
100 }
101 /** Compares demanded type to given template argument types.
102 
103     @tplparam Interface1 interface type
104     @tplparam Interface2 interface type
105     @tplparam Interface3 interface type
106     @tplparam Interface4 interface type
107     @param rType demanded type
108     @param p1 interface pointer
109     @param p2 interface pointer
110     @param p3 interface pointer
111     @param p4 interface pointer
112     @return acquired interface of demanded type or empty Any
113 */
114 template< class Interface1, class Interface2, class Interface3, class Interface4 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4)115 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
116 	const ::com::sun::star::uno::Type & rType,
117 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4 )
118 	SAL_THROW( () )
119 {
120 	if (rType == Interface1::static_type())
121 		return ::com::sun::star::uno::Any( &p1, rType );
122 	else if (rType == Interface2::static_type())
123 		return ::com::sun::star::uno::Any( &p2, rType );
124 	else if (rType == Interface3::static_type())
125 		return ::com::sun::star::uno::Any( &p3, rType );
126 	else if (rType == Interface4::static_type())
127 		return ::com::sun::star::uno::Any( &p4, rType );
128 	else
129 		return ::com::sun::star::uno::Any();
130 }
131 /** Compares demanded type to given template argument types.
132 
133     @tplparam Interface1 interface type
134     @tplparam Interface2 interface type
135     @tplparam Interface3 interface type
136     @tplparam Interface4 interface type
137     @tplparam Interface5 interface type
138     @param rType demanded type
139     @param p1 interface pointer
140     @param p2 interface pointer
141     @param p3 interface pointer
142     @param p4 interface pointer
143     @param p5 interface pointer
144     @return acquired interface of demanded type or empty Any
145 */
146 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5)147 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
148 	const ::com::sun::star::uno::Type & rType,
149 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5 )
150 	SAL_THROW( () )
151 {
152 	if (rType == Interface1::static_type())
153 		return ::com::sun::star::uno::Any( &p1, rType );
154 	else if (rType == Interface2::static_type())
155 		return ::com::sun::star::uno::Any( &p2, rType );
156 	else if (rType == Interface3::static_type())
157 		return ::com::sun::star::uno::Any( &p3, rType );
158 	else if (rType == Interface4::static_type())
159 		return ::com::sun::star::uno::Any( &p4, rType );
160 	else if (rType == Interface5::static_type())
161 		return ::com::sun::star::uno::Any( &p5, rType );
162 	else
163 		return ::com::sun::star::uno::Any();
164 }
165 /** Compares demanded type to given template argument types.
166 
167     @tplparam Interface1 interface type
168     @tplparam Interface2 interface type
169     @tplparam Interface3 interface type
170     @tplparam Interface4 interface type
171     @tplparam Interface5 interface type
172     @tplparam Interface6 interface type
173     @param rType demanded type
174     @param p1 interface pointer
175     @param p2 interface pointer
176     @param p3 interface pointer
177     @param p4 interface pointer
178     @param p5 interface pointer
179     @param p6 interface pointer
180     @return acquired interface of demanded type or empty Any
181 */
182 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
183 		  class Interface6 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6)184 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
185 	const ::com::sun::star::uno::Type & rType,
186 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
187 	Interface6 * p6 )
188 	SAL_THROW( () )
189 {
190 	if (rType == Interface1::static_type())
191 		return ::com::sun::star::uno::Any( &p1, rType );
192 	else if (rType == Interface2::static_type())
193 		return ::com::sun::star::uno::Any( &p2, rType );
194 	else if (rType == Interface3::static_type())
195 		return ::com::sun::star::uno::Any( &p3, rType );
196 	else if (rType == Interface4::static_type())
197 		return ::com::sun::star::uno::Any( &p4, rType );
198 	else if (rType == Interface5::static_type())
199 		return ::com::sun::star::uno::Any( &p5, rType );
200 	else if (rType == Interface6::static_type())
201 		return ::com::sun::star::uno::Any( &p6, rType );
202 	else
203 		return ::com::sun::star::uno::Any();
204 }
205 /** Compares demanded type to given template argument types.
206 
207     @tplparam Interface1 interface type
208     @tplparam Interface2 interface type
209     @tplparam Interface3 interface type
210     @tplparam Interface4 interface type
211     @tplparam Interface5 interface type
212     @tplparam Interface6 interface type
213     @tplparam Interface7 interface type
214     @param rType demanded type
215     @param p1 interface pointer
216     @param p2 interface pointer
217     @param p3 interface pointer
218     @param p4 interface pointer
219     @param p5 interface pointer
220     @param p6 interface pointer
221     @param p7 interface pointer
222     @return acquired interface of demanded type or empty Any
223 */
224 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
225 		  class Interface6, class Interface7 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7)226 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
227 	const ::com::sun::star::uno::Type & rType,
228 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
229 	Interface6 * p6, Interface7 * p7 )
230 	SAL_THROW( () )
231 {
232 	if (rType == Interface1::static_type())
233 		return ::com::sun::star::uno::Any( &p1, rType );
234 	else if (rType == Interface2::static_type())
235 		return ::com::sun::star::uno::Any( &p2, rType );
236 	else if (rType == Interface3::static_type())
237 		return ::com::sun::star::uno::Any( &p3, rType );
238 	else if (rType == Interface4::static_type())
239 		return ::com::sun::star::uno::Any( &p4, rType );
240 	else if (rType == Interface5::static_type())
241 		return ::com::sun::star::uno::Any( &p5, rType );
242 	else if (rType == Interface6::static_type())
243 		return ::com::sun::star::uno::Any( &p6, rType );
244 	else if (rType == Interface7::static_type())
245 		return ::com::sun::star::uno::Any( &p7, rType );
246 	else
247 		return ::com::sun::star::uno::Any();
248 }
249 /** Compares demanded type to given template argument types.
250 
251     @tplparam Interface1 interface type
252     @tplparam Interface2 interface type
253     @tplparam Interface3 interface type
254     @tplparam Interface4 interface type
255     @tplparam Interface5 interface type
256     @tplparam Interface6 interface type
257     @tplparam Interface7 interface type
258     @tplparam Interface8 interface type
259     @param rType demanded type
260     @param p1 interface pointer
261     @param p2 interface pointer
262     @param p3 interface pointer
263     @param p4 interface pointer
264     @param p5 interface pointer
265     @param p6 interface pointer
266     @param p7 interface pointer
267     @param p8 interface pointer
268     @return acquired interface of demanded type or empty Any
269 */
270 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
271 		  class Interface6, class Interface7, class Interface8 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7,Interface8 * p8)272 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
273 	const ::com::sun::star::uno::Type & rType,
274 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
275 	Interface6 * p6, Interface7 * p7, Interface8 * p8 )
276 	SAL_THROW( () )
277 {
278 	if (rType == Interface1::static_type())
279 		return ::com::sun::star::uno::Any( &p1, rType );
280 	else if (rType == Interface2::static_type())
281 		return ::com::sun::star::uno::Any( &p2, rType );
282 	else if (rType == Interface3::static_type())
283 		return ::com::sun::star::uno::Any( &p3, rType );
284 	else if (rType == Interface4::static_type())
285 		return ::com::sun::star::uno::Any( &p4, rType );
286 	else if (rType == Interface5::static_type())
287 		return ::com::sun::star::uno::Any( &p5, rType );
288 	else if (rType == Interface6::static_type())
289 		return ::com::sun::star::uno::Any( &p6, rType );
290 	else if (rType == Interface7::static_type())
291 		return ::com::sun::star::uno::Any( &p7, rType );
292 	else if (rType == Interface8::static_type())
293 		return ::com::sun::star::uno::Any( &p8, rType );
294 	else
295 		return ::com::sun::star::uno::Any();
296 }
297 /** Compares demanded type to given template argument types.
298 
299     @tplparam Interface1 interface type
300     @tplparam Interface2 interface type
301     @tplparam Interface3 interface type
302     @tplparam Interface4 interface type
303     @tplparam Interface5 interface type
304     @tplparam Interface6 interface type
305     @tplparam Interface7 interface type
306     @tplparam Interface8 interface type
307     @tplparam Interface9 interface type
308     @param rType demanded type
309     @param p1 interface pointer
310     @param p2 interface pointer
311     @param p3 interface pointer
312     @param p4 interface pointer
313     @param p5 interface pointer
314     @param p6 interface pointer
315     @param p7 interface pointer
316     @param p8 interface pointer
317     @param p9 interface pointer
318     @return acquired interface of demanded type or empty Any
319 */
320 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
321 		  class Interface6, class Interface7, class Interface8, class Interface9 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7,Interface8 * p8,Interface9 * p9)322 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
323 	const ::com::sun::star::uno::Type & rType,
324 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
325 	Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9 )
326 	SAL_THROW( () )
327 {
328 	if (rType == Interface1::static_type())
329 		return ::com::sun::star::uno::Any( &p1, rType );
330 	else if (rType == Interface2::static_type())
331 		return ::com::sun::star::uno::Any( &p2, rType );
332 	else if (rType == Interface3::static_type())
333 		return ::com::sun::star::uno::Any( &p3, rType );
334 	else if (rType == Interface4::static_type())
335 		return ::com::sun::star::uno::Any( &p4, rType );
336 	else if (rType == Interface5::static_type())
337 		return ::com::sun::star::uno::Any( &p5, rType );
338 	else if (rType == Interface6::static_type())
339 		return ::com::sun::star::uno::Any( &p6, rType );
340 	else if (rType == Interface7::static_type())
341 		return ::com::sun::star::uno::Any( &p7, rType );
342 	else if (rType == Interface8::static_type())
343 		return ::com::sun::star::uno::Any( &p8, rType );
344 	else if (rType == Interface9::static_type())
345 		return ::com::sun::star::uno::Any( &p9, rType );
346 	else
347 		return ::com::sun::star::uno::Any();
348 }
349 /** Compares demanded type to given template argument types.
350 
351     @tplparam Interface1 interface type
352     @tplparam Interface2 interface type
353     @tplparam Interface3 interface type
354     @tplparam Interface4 interface type
355     @tplparam Interface5 interface type
356     @tplparam Interface6 interface type
357     @tplparam Interface7 interface type
358     @tplparam Interface8 interface type
359     @tplparam Interface9 interface type
360     @tplparam Interface10 interface type
361     @param rType demanded type
362     @param p1 interface pointer
363     @param p2 interface pointer
364     @param p3 interface pointer
365     @param p4 interface pointer
366     @param p5 interface pointer
367     @param p6 interface pointer
368     @param p7 interface pointer
369     @param p8 interface pointer
370     @param p9 interface pointer
371     @param p10 interface pointer
372     @return acquired interface of demanded type or empty Any
373 */
374 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
375 		  class Interface6, class Interface7, class Interface8, class Interface9, class Interface10 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7,Interface8 * p8,Interface9 * p9,Interface10 * p10)376 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
377 	const ::com::sun::star::uno::Type & rType,
378 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
379 	Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10 )
380 	SAL_THROW( () )
381 {
382 	if (rType == Interface1::static_type())
383 		return ::com::sun::star::uno::Any( &p1, rType );
384 	else if (rType == Interface2::static_type())
385 		return ::com::sun::star::uno::Any( &p2, rType );
386 	else if (rType == Interface3::static_type())
387 		return ::com::sun::star::uno::Any( &p3, rType );
388 	else if (rType == Interface4::static_type())
389 		return ::com::sun::star::uno::Any( &p4, rType );
390 	else if (rType == Interface5::static_type())
391 		return ::com::sun::star::uno::Any( &p5, rType );
392 	else if (rType == Interface6::static_type())
393 		return ::com::sun::star::uno::Any( &p6, rType );
394 	else if (rType == Interface7::static_type())
395 		return ::com::sun::star::uno::Any( &p7, rType );
396 	else if (rType == Interface8::static_type())
397 		return ::com::sun::star::uno::Any( &p8, rType );
398 	else if (rType == Interface9::static_type())
399 		return ::com::sun::star::uno::Any( &p9, rType );
400 	else if (rType == Interface10::static_type())
401 		return ::com::sun::star::uno::Any( &p10, rType );
402 	else
403 		return ::com::sun::star::uno::Any();
404 }
405 /** Compares demanded type to given template argument types.
406 
407     @tplparam Interface1 interface type
408     @tplparam Interface2 interface type
409     @tplparam Interface3 interface type
410     @tplparam Interface4 interface type
411     @tplparam Interface5 interface type
412     @tplparam Interface6 interface type
413     @tplparam Interface7 interface type
414     @tplparam Interface8 interface type
415     @tplparam Interface9 interface type
416     @tplparam Interface10 interface type
417     @tplparam Interface11 interface type
418     @param rType demanded type
419     @param p1 interface pointer
420     @param p2 interface pointer
421     @param p3 interface pointer
422     @param p4 interface pointer
423     @param p5 interface pointer
424     @param p6 interface pointer
425     @param p7 interface pointer
426     @param p8 interface pointer
427     @param p9 interface pointer
428     @param p10 interface pointer
429     @param p11 interface pointer
430     @return acquired interface of demanded type or empty Any
431 */
432 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
433 		  class Interface6, class Interface7, class Interface8, class Interface9, class Interface10,
434 		  class Interface11 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7,Interface8 * p8,Interface9 * p9,Interface10 * p10,Interface11 * p11)435 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
436 	const ::com::sun::star::uno::Type & rType,
437 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
438 	Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10,
439 	Interface11 * p11 )
440 	SAL_THROW( () )
441 {
442 	if (rType == Interface1::static_type())
443 		return ::com::sun::star::uno::Any( &p1, rType );
444 	else if (rType == Interface2::static_type())
445 		return ::com::sun::star::uno::Any( &p2, rType );
446 	else if (rType == Interface3::static_type())
447 		return ::com::sun::star::uno::Any( &p3, rType );
448 	else if (rType == Interface4::static_type())
449 		return ::com::sun::star::uno::Any( &p4, rType );
450 	else if (rType == Interface5::static_type())
451 		return ::com::sun::star::uno::Any( &p5, rType );
452 	else if (rType == Interface6::static_type())
453 		return ::com::sun::star::uno::Any( &p6, rType );
454 	else if (rType == Interface7::static_type())
455 		return ::com::sun::star::uno::Any( &p7, rType );
456 	else if (rType == Interface8::static_type())
457 		return ::com::sun::star::uno::Any( &p8, rType );
458 	else if (rType == Interface9::static_type())
459 		return ::com::sun::star::uno::Any( &p9, rType );
460 	else if (rType == Interface10::static_type())
461 		return ::com::sun::star::uno::Any( &p10, rType );
462 	else if (rType == Interface11::static_type())
463 		return ::com::sun::star::uno::Any( &p11, rType );
464 	else
465 		return ::com::sun::star::uno::Any();
466 }
467 /** Compares demanded type to given template argument types.
468 
469     @tplparam Interface1 interface type
470     @tplparam Interface2 interface type
471     @tplparam Interface3 interface type
472     @tplparam Interface4 interface type
473     @tplparam Interface5 interface type
474     @tplparam Interface6 interface type
475     @tplparam Interface7 interface type
476     @tplparam Interface8 interface type
477     @tplparam Interface9 interface type
478     @tplparam Interface10 interface type
479     @tplparam Interface11 interface type
480     @tplparam Interface12 interface type
481     @param rType demanded type
482     @param p1 interface pointer
483     @param p2 interface pointer
484     @param p3 interface pointer
485     @param p4 interface pointer
486     @param p5 interface pointer
487     @param p6 interface pointer
488     @param p7 interface pointer
489     @param p8 interface pointer
490     @param p9 interface pointer
491     @param p10 interface pointer
492     @param p11 interface pointer
493     @param p12 interface pointer
494     @return acquired interface of demanded type or empty Any
495 */
496 template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5,
497 		  class Interface6, class Interface7, class Interface8, class Interface9, class Interface10,
498 		  class Interface11, class Interface12 >
queryInterface(const::com::sun::star::uno::Type & rType,Interface1 * p1,Interface2 * p2,Interface3 * p3,Interface4 * p4,Interface5 * p5,Interface6 * p6,Interface7 * p7,Interface8 * p8,Interface9 * p9,Interface10 * p10,Interface11 * p11,Interface12 * p12)499 inline ::com::sun::star::uno::Any SAL_CALL queryInterface(
500 	const ::com::sun::star::uno::Type & rType,
501 	Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5,
502 	Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10,
503 	Interface11 * p11, Interface12 * p12 )
504 	SAL_THROW( () )
505 {
506 	if (rType == Interface1::static_type())
507 		return ::com::sun::star::uno::Any( &p1, rType );
508 	else if (rType == Interface2::static_type())
509 		return ::com::sun::star::uno::Any( &p2, rType );
510 	else if (rType == Interface3::static_type())
511 		return ::com::sun::star::uno::Any( &p3, rType );
512 	else if (rType == Interface4::static_type())
513 		return ::com::sun::star::uno::Any( &p4, rType );
514 	else if (rType == Interface5::static_type())
515 		return ::com::sun::star::uno::Any( &p5, rType );
516 	else if (rType == Interface6::static_type())
517 		return ::com::sun::star::uno::Any( &p6, rType );
518 	else if (rType == Interface7::static_type())
519 		return ::com::sun::star::uno::Any( &p7, rType );
520 	else if (rType == Interface8::static_type())
521 		return ::com::sun::star::uno::Any( &p8, rType );
522 	else if (rType == Interface9::static_type())
523 		return ::com::sun::star::uno::Any( &p9, rType );
524 	else if (rType == Interface10::static_type())
525 		return ::com::sun::star::uno::Any( &p10, rType );
526 	else if (rType == Interface11::static_type())
527 		return ::com::sun::star::uno::Any( &p11, rType );
528 	else if (rType == Interface12::static_type())
529 		return ::com::sun::star::uno::Any( &p12, rType );
530 	else
531 		return ::com::sun::star::uno::Any();
532 }
533 
534 }
535 
536 #endif
537 
538