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