xref: /AOO41X/main/cppuhelper/inc/cppuhelper/queryinterface.hxx (revision 6da5f31158a7dd09f46f041b4f15bb7ae3eb92a4)
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