1*6da5f311SAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*6da5f311SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*6da5f311SAndrew Rist * or more contributor license agreements. See the NOTICE file
5*6da5f311SAndrew Rist * distributed with this work for additional information
6*6da5f311SAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*6da5f311SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*6da5f311SAndrew Rist * "License"); you may not use this file except in compliance
9*6da5f311SAndrew Rist * with the License. You may obtain a copy of the License at
10*6da5f311SAndrew Rist *
11*6da5f311SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*6da5f311SAndrew Rist *
13*6da5f311SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*6da5f311SAndrew Rist * software distributed under the License is distributed on an
15*6da5f311SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*6da5f311SAndrew Rist * KIND, either express or implied. See the License for the
17*6da5f311SAndrew Rist * specific language governing permissions and limitations
18*6da5f311SAndrew Rist * under the License.
19*6da5f311SAndrew Rist *
20*6da5f311SAndrew Rist *************************************************************/
21*6da5f311SAndrew Rist
22*6da5f311SAndrew Rist
23cdf0e10cSrcweir #ifndef _CPPUHELPER_STDIDLCLASS_HXX_
24cdf0e10cSrcweir #define _CPPUHELPER_STDIDLCLASS_HXX_
25cdf0e10cSrcweir
26cdf0e10cSrcweir #include <com/sun/star/lang/XMultiServiceFactory.hpp>
27cdf0e10cSrcweir #include <com/sun/star/reflection/XIdlClass.hpp>
28cdf0e10cSrcweir
29cdf0e10cSrcweir
30cdf0e10cSrcweir namespace cppu {
31cdf0e10cSrcweir
32cdf0e10cSrcweir /*
33cdf0e10cSrcweir @deprecated
34cdf0e10cSrcweir */
35cdf0e10cSrcweir ::com::sun::star::reflection::XIdlClass * SAL_CALL createStandardClassWithSequence(
36cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr ,
37cdf0e10cSrcweir const ::rtl::OUString & sImplementationName ,
38cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > & rSuperClass,
39cdf0e10cSrcweir const ::com::sun::star::uno::Sequence < ::rtl::OUString > &seq )
40cdf0e10cSrcweir SAL_THROW( () );
41cdf0e10cSrcweir
42cdf0e10cSrcweir
43cdf0e10cSrcweir
44cdf0e10cSrcweir /**
45cdf0e10cSrcweir Standardfunction to create an XIdlClass for a component.
46cdf0e10cSrcweir There is a function for each number of supported interfaces up to 10.
47cdf0e10cSrcweir
48cdf0e10cSrcweir Since the switch to the final component model, there are no use cases anymore, where
49cdf0e10cSrcweir these functions should be used. Instead use the implementation helpers directly
50cdf0e10cSrcweir (see cppuhelper/implbase1.hxx).
51cdf0e10cSrcweir
52cdf0e10cSrcweir @see OTypeCollection
53cdf0e10cSrcweir
54cdf0e10cSrcweir @deprecated
55cdf0e10cSrcweir */
56cdf0e10cSrcweir template < class Interface1 >
57cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
58cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *)59cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
60cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
61cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
62cdf0e10cSrcweir const Interface1 *
63cdf0e10cSrcweir )
64cdf0e10cSrcweir SAL_THROW( () )
65cdf0e10cSrcweir {
66cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(1);
67cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
68cdf0e10cSrcweir return createStandardClassWithSequence(
69cdf0e10cSrcweir rSMgr,
70cdf0e10cSrcweir sImplementationName,
71cdf0e10cSrcweir rSuperClass,
72cdf0e10cSrcweir seqInterface
73cdf0e10cSrcweir );
74cdf0e10cSrcweir }
75cdf0e10cSrcweir
76cdf0e10cSrcweir
77cdf0e10cSrcweir
78cdf0e10cSrcweir template < class Interface1, class Interface2 >
79cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
80cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *)81cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
82cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
83cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
84cdf0e10cSrcweir const Interface1 *,
85cdf0e10cSrcweir const Interface2 *
86cdf0e10cSrcweir )
87cdf0e10cSrcweir SAL_THROW( () )
88cdf0e10cSrcweir {
89cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(2);
90cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
91cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
92cdf0e10cSrcweir return createStandardClassWithSequence(
93cdf0e10cSrcweir rSMgr,
94cdf0e10cSrcweir sImplementationName,
95cdf0e10cSrcweir rSuperClass,
96cdf0e10cSrcweir seqInterface
97cdf0e10cSrcweir );
98cdf0e10cSrcweir }
99cdf0e10cSrcweir
100cdf0e10cSrcweir
101cdf0e10cSrcweir
102cdf0e10cSrcweir
103cdf0e10cSrcweir
104cdf0e10cSrcweir template < class Interface1, class Interface2 , class Interface3 >
105cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
106cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *)107cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
108cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
109cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
110cdf0e10cSrcweir const Interface1 *,
111cdf0e10cSrcweir const Interface2 *,
112cdf0e10cSrcweir const Interface3 *
113cdf0e10cSrcweir )
114cdf0e10cSrcweir SAL_THROW( () )
115cdf0e10cSrcweir {
116cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(3);
117cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
118cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
119cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
120cdf0e10cSrcweir return createStandardClassWithSequence(
121cdf0e10cSrcweir rSMgr,
122cdf0e10cSrcweir sImplementationName,
123cdf0e10cSrcweir rSuperClass,
124cdf0e10cSrcweir seqInterface
125cdf0e10cSrcweir );
126cdf0e10cSrcweir }
127cdf0e10cSrcweir
128cdf0e10cSrcweir
129cdf0e10cSrcweir
130cdf0e10cSrcweir
131cdf0e10cSrcweir
132cdf0e10cSrcweir template < class Interface1, class Interface2 , class Interface3 , class Interface4 >
133cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
134cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *)135cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
136cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
137cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
138cdf0e10cSrcweir const Interface1 *,
139cdf0e10cSrcweir const Interface2 *,
140cdf0e10cSrcweir const Interface3 *,
141cdf0e10cSrcweir const Interface4 *
142cdf0e10cSrcweir )
143cdf0e10cSrcweir SAL_THROW( () )
144cdf0e10cSrcweir {
145cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(4);
146cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
147cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
148cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
149cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
150cdf0e10cSrcweir return createStandardClassWithSequence(
151cdf0e10cSrcweir rSMgr,
152cdf0e10cSrcweir sImplementationName,
153cdf0e10cSrcweir rSuperClass,
154cdf0e10cSrcweir seqInterface
155cdf0e10cSrcweir );
156cdf0e10cSrcweir }
157cdf0e10cSrcweir
158cdf0e10cSrcweir
159cdf0e10cSrcweir
160cdf0e10cSrcweir
161cdf0e10cSrcweir
162cdf0e10cSrcweir
163cdf0e10cSrcweir
164cdf0e10cSrcweir template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 >
165cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
166cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *)167cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
168cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
169cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
170cdf0e10cSrcweir const Interface1 *,
171cdf0e10cSrcweir const Interface2 *,
172cdf0e10cSrcweir const Interface3 *,
173cdf0e10cSrcweir const Interface4 *,
174cdf0e10cSrcweir const Interface5 *
175cdf0e10cSrcweir )
176cdf0e10cSrcweir SAL_THROW( () )
177cdf0e10cSrcweir {
178cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(5);
179cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
180cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
181cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
182cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
183cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
184cdf0e10cSrcweir return createStandardClassWithSequence(
185cdf0e10cSrcweir rSMgr,
186cdf0e10cSrcweir sImplementationName,
187cdf0e10cSrcweir rSuperClass,
188cdf0e10cSrcweir seqInterface
189cdf0e10cSrcweir );
190cdf0e10cSrcweir }
191cdf0e10cSrcweir
192cdf0e10cSrcweir
193cdf0e10cSrcweir
194cdf0e10cSrcweir
195cdf0e10cSrcweir template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 ,
196cdf0e10cSrcweir class Interface6 >
197cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
198cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *,const Interface6 *)199cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
200cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
201cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
202cdf0e10cSrcweir const Interface1 *,
203cdf0e10cSrcweir const Interface2 *,
204cdf0e10cSrcweir const Interface3 *,
205cdf0e10cSrcweir const Interface4 *,
206cdf0e10cSrcweir const Interface5 *,
207cdf0e10cSrcweir const Interface6 *
208cdf0e10cSrcweir )
209cdf0e10cSrcweir SAL_THROW( () )
210cdf0e10cSrcweir {
211cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(6);
212cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
213cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
214cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
215cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
216cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
217cdf0e10cSrcweir seqInterface.getArray()[5] = Interface6::static_type().getTypeName();
218cdf0e10cSrcweir return createStandardClassWithSequence(
219cdf0e10cSrcweir rSMgr,
220cdf0e10cSrcweir sImplementationName,
221cdf0e10cSrcweir rSuperClass,
222cdf0e10cSrcweir seqInterface
223cdf0e10cSrcweir );
224cdf0e10cSrcweir }
225cdf0e10cSrcweir
226cdf0e10cSrcweir
227cdf0e10cSrcweir
228cdf0e10cSrcweir
229cdf0e10cSrcweir
230cdf0e10cSrcweir template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 ,
231cdf0e10cSrcweir class Interface6, class Interface7 >
232cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
233cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *,const Interface6 *,const Interface7 *)234cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
235cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
236cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
237cdf0e10cSrcweir const Interface1 *,
238cdf0e10cSrcweir const Interface2 *,
239cdf0e10cSrcweir const Interface3 *,
240cdf0e10cSrcweir const Interface4 *,
241cdf0e10cSrcweir const Interface5 *,
242cdf0e10cSrcweir const Interface6 *,
243cdf0e10cSrcweir const Interface7 *
244cdf0e10cSrcweir )
245cdf0e10cSrcweir SAL_THROW( () )
246cdf0e10cSrcweir {
247cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(7);
248cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
249cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
250cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
251cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
252cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
253cdf0e10cSrcweir seqInterface.getArray()[5] = Interface6::static_type().getTypeName();
254cdf0e10cSrcweir seqInterface.getArray()[6] = Interface7::static_type().getTypeName();
255cdf0e10cSrcweir return createStandardClassWithSequence(
256cdf0e10cSrcweir rSMgr,
257cdf0e10cSrcweir sImplementationName,
258cdf0e10cSrcweir rSuperClass,
259cdf0e10cSrcweir seqInterface
260cdf0e10cSrcweir );
261cdf0e10cSrcweir }
262cdf0e10cSrcweir
263cdf0e10cSrcweir
264cdf0e10cSrcweir
265cdf0e10cSrcweir
266cdf0e10cSrcweir
267cdf0e10cSrcweir
268cdf0e10cSrcweir template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 ,
269cdf0e10cSrcweir class Interface6, class Interface7, class Interface8 >
270cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
271cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *,const Interface6 *,const Interface7 *,const Interface8 *)272cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
273cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
274cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
275cdf0e10cSrcweir const Interface1 *,
276cdf0e10cSrcweir const Interface2 *,
277cdf0e10cSrcweir const Interface3 *,
278cdf0e10cSrcweir const Interface4 *,
279cdf0e10cSrcweir const Interface5 *,
280cdf0e10cSrcweir const Interface6 *,
281cdf0e10cSrcweir const Interface7 *,
282cdf0e10cSrcweir const Interface8 *
283cdf0e10cSrcweir )
284cdf0e10cSrcweir SAL_THROW( () )
285cdf0e10cSrcweir {
286cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(8);
287cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
288cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
289cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
290cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
291cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
292cdf0e10cSrcweir seqInterface.getArray()[5] = Interface6::static_type().getTypeName();
293cdf0e10cSrcweir seqInterface.getArray()[6] = Interface7::static_type().getTypeName();
294cdf0e10cSrcweir seqInterface.getArray()[7] = Interface8::static_type().getTypeName();
295cdf0e10cSrcweir return createStandardClassWithSequence(
296cdf0e10cSrcweir rSMgr,
297cdf0e10cSrcweir sImplementationName,
298cdf0e10cSrcweir rSuperClass,
299cdf0e10cSrcweir seqInterface
300cdf0e10cSrcweir );
301cdf0e10cSrcweir }
302cdf0e10cSrcweir
303cdf0e10cSrcweir
304cdf0e10cSrcweir
305cdf0e10cSrcweir
306cdf0e10cSrcweir template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 ,
307cdf0e10cSrcweir class Interface6, class Interface7, class Interface8 , class Interface9 >
308cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
309cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *,const Interface6 *,const Interface7 *,const Interface8 *,const Interface9 *)310cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
311cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
312cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
313cdf0e10cSrcweir const Interface1 *,
314cdf0e10cSrcweir const Interface2 *,
315cdf0e10cSrcweir const Interface3 *,
316cdf0e10cSrcweir const Interface4 *,
317cdf0e10cSrcweir const Interface5 *,
318cdf0e10cSrcweir const Interface6 *,
319cdf0e10cSrcweir const Interface7 *,
320cdf0e10cSrcweir const Interface8 *,
321cdf0e10cSrcweir const Interface9 *
322cdf0e10cSrcweir )
323cdf0e10cSrcweir SAL_THROW( () )
324cdf0e10cSrcweir {
325cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(9);
326cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
327cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
328cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
329cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
330cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
331cdf0e10cSrcweir seqInterface.getArray()[5] = Interface6::static_type().getTypeName();
332cdf0e10cSrcweir seqInterface.getArray()[6] = Interface7::static_type().getTypeName();
333cdf0e10cSrcweir seqInterface.getArray()[7] = Interface8::static_type().getTypeName();
334cdf0e10cSrcweir seqInterface.getArray()[8] = Interface9::static_type().getTypeName();
335cdf0e10cSrcweir return createStandardClassWithSequence(
336cdf0e10cSrcweir rSMgr,
337cdf0e10cSrcweir sImplementationName,
338cdf0e10cSrcweir rSuperClass,
339cdf0e10cSrcweir seqInterface
340cdf0e10cSrcweir );
341cdf0e10cSrcweir }
342cdf0e10cSrcweir
343cdf0e10cSrcweir
344cdf0e10cSrcweir template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 ,
345cdf0e10cSrcweir class Interface6, class Interface7, class Interface8 , class Interface9 , class Interface10 >
346cdf0e10cSrcweir inline ::com::sun::star::reflection::XIdlClass * SAL_CALL
347cdf0e10cSrcweir //inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass >
createStandardClass(const::com::sun::star::uno::Reference<::com::sun::star::lang::XMultiServiceFactory> & rSMgr,const::rtl::OUString & sImplementationName,const::com::sun::star::uno::Reference<::com::sun::star::reflection::XIdlClass> & rSuperClass,const Interface1 *,const Interface2 *,const Interface3 *,const Interface4 *,const Interface5 *,const Interface6 *,const Interface7 *,const Interface8 *,const Interface9 *,const Interface10 *)348cdf0e10cSrcweir createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr,
349cdf0e10cSrcweir const ::rtl::OUString &sImplementationName ,
350cdf0e10cSrcweir const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass ,
351cdf0e10cSrcweir const Interface1 *,
352cdf0e10cSrcweir const Interface2 *,
353cdf0e10cSrcweir const Interface3 *,
354cdf0e10cSrcweir const Interface4 *,
355cdf0e10cSrcweir const Interface5 *,
356cdf0e10cSrcweir const Interface6 *,
357cdf0e10cSrcweir const Interface7 *,
358cdf0e10cSrcweir const Interface8 *,
359cdf0e10cSrcweir const Interface9 *,
360cdf0e10cSrcweir const Interface10 *
361cdf0e10cSrcweir )
362cdf0e10cSrcweir SAL_THROW( () )
363cdf0e10cSrcweir {
364cdf0e10cSrcweir ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(10);
365cdf0e10cSrcweir seqInterface.getArray()[0] = Interface1::static_type().getTypeName();
366cdf0e10cSrcweir seqInterface.getArray()[1] = Interface2::static_type().getTypeName();
367cdf0e10cSrcweir seqInterface.getArray()[2] = Interface3::static_type().getTypeName();
368cdf0e10cSrcweir seqInterface.getArray()[3] = Interface4::static_type().getTypeName();
369cdf0e10cSrcweir seqInterface.getArray()[4] = Interface5::static_type().getTypeName();
370cdf0e10cSrcweir seqInterface.getArray()[5] = Interface6::static_type().getTypeName();
371cdf0e10cSrcweir seqInterface.getArray()[6] = Interface7::static_type().getTypeName();
372cdf0e10cSrcweir seqInterface.getArray()[7] = Interface8::static_type().getTypeName();
373cdf0e10cSrcweir seqInterface.getArray()[8] = Interface9::static_type().getTypeName();
374cdf0e10cSrcweir seqInterface.getArray()[9] = Interface10::static_type().getTypeName();
375cdf0e10cSrcweir return createStandardClassWithSequence(
376cdf0e10cSrcweir rSMgr,
377cdf0e10cSrcweir sImplementationName,
378cdf0e10cSrcweir rSuperClass,
379cdf0e10cSrcweir seqInterface
380cdf0e10cSrcweir );
381cdf0e10cSrcweir }
382cdf0e10cSrcweir
383cdf0e10cSrcweir } // end namespace cppu
384cdf0e10cSrcweir
385cdf0e10cSrcweir #endif
386