1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 #include <sal/config.h>
23 #include <com/sun/star/lang/XInitialization.hpp>
24 #include <com/sun/star/lang/XComponent.hpp>
25 #include <com/sun/star/uno/Any.hxx>
26 #include <com/sun/star/uno/Exception.hpp>
27 #include <com/sun/star/uno/Reference.hxx>
28 #include <com/sun/star/uno/Sequence.hxx>
29 #include <com/sun/star/uno/Type.hxx>
30 #include <com/sun/star/uno/XComponentContext.hpp>
31 #include <com/sun/star/uno/XInterface.hpp>
32 #include <cppu/unotype.hxx>
33 #include <cppuhelper/factory.hxx>
34 #include <cppuhelper/implbase.hxx>
35 #include <cppuhelper/implementationentry.hxx>
36 #include <cppuhelper/weak.hxx>
37 #include <rtl/string.h>
38 #include <rtl/ustring.h>
39 #include <rtl/ustring.hxx>
40 #include <sal/types.h>
41 #include <test/testtools/bridgetest/BadConstructorArguments.hpp>
42 #include <test/testtools/bridgetest/TestEnum.hpp>
43 #include <test/testtools/bridgetest/TestStruct.hpp>
44 #include <test/testtools/bridgetest/TestPolyStruct.hpp>
45 #include <test/testtools/bridgetest/TestPolyStruct2.hpp>
46 #include <test/testtools/bridgetest/XMultiBase1.hpp>
50 namespace ttb
= ::test::testtools::bridgetest
;
52 public cppu::WeakImplHelper
<css::lang::XInitialization
>
56 Impl(const Impl
&) = delete;
57 Impl
& operator=(const Impl
&) = delete;
60 virtual ~Impl() override
{}
62 virtual void SAL_CALL
initialize(
63 css::uno::Sequence
< css::uno::Any
> const & arguments
) override
;
66 void Impl::initialize(css::uno::Sequence
< css::uno::Any
> const & arguments
)
69 ::sal_Int8 arg1
= sal_Int8();
70 ::sal_Int16 arg2
= sal_Int16();
71 ::sal_uInt16 arg3
= sal_uInt16();
72 ::sal_Int32 arg4
= sal_Int32();
73 ::sal_uInt32 arg5
= sal_uInt32();
74 ::sal_Int64 arg6
= sal_Int64();
75 ::sal_uInt64 arg7
= sal_uInt64();
77 double arg9
= double();
78 sal_Unicode arg10
= sal_Unicode();
82 css::uno::Sequence
< sal_Bool
> arg14
;
83 css::uno::Sequence
< ::sal_Int8
> arg15
;
84 css::uno::Sequence
< ::sal_Int16
> arg16
;
85 css::uno::Sequence
< ::sal_uInt16
> arg17
;
86 css::uno::Sequence
< ::sal_Int32
> arg18
;
87 css::uno::Sequence
< ::sal_uInt32
> arg19
;
88 css::uno::Sequence
< ::sal_Int64
> arg20
;
89 css::uno::Sequence
< ::sal_uInt64
> arg21
;
90 css::uno::Sequence
< float > arg22
;
91 css::uno::Sequence
< double > arg23
;
92 css::uno::Sequence
< sal_Unicode
> arg24
;
93 css::uno::Sequence
< OUString
> arg25
;
94 css::uno::Sequence
< css::uno::Type
> arg26
;
95 css::uno::Sequence
< css::uno::Any
> arg27
;
97 css::uno::Sequence
< css::uno::Sequence
< sal_Bool
> > arg28
;
98 css::uno::Sequence
< css::uno::Sequence
< css::uno::Any
> > arg29
;
100 css::uno::Sequence
< ::test::testtools::bridgetest::TestEnum
> arg30
;
101 css::uno::Sequence
< ::test::testtools::bridgetest::TestStruct
> arg31
;
103 ::test::testtools::bridgetest::TestPolyStruct
< sal_Bool
> > arg32
;
105 ::test::testtools::bridgetest::TestPolyStruct
< css::uno::Any
> > arg33
;
107 css::uno::Sequence
< css::uno::Reference
< css::uno::XInterface
> > arg34
;
108 ::test::testtools::bridgetest::TestEnum arg35
;
109 ::test::testtools::bridgetest::TestStruct arg36
;
110 ::test::testtools::bridgetest::TestPolyStruct
< sal_Bool
> arg37
;
111 ::test::testtools::bridgetest::TestPolyStruct
< css::uno::Any
> arg38
;
113 css::uno::Reference
< css::uno::XInterface
> arg39
;
114 bool ok
= (arguments
.getLength() == 40
115 && (arguments
[0] >>= arg0
) && arg0
116 && (arguments
[1] >>= arg1
) && arg1
== SAL_MIN_INT8
117 && (arguments
[2] >>= arg2
) && arg2
== SAL_MIN_INT16
118 && (arguments
[3] >>= arg3
) && arg3
== SAL_MAX_UINT16
119 && (arguments
[4] >>= arg4
) && arg4
== SAL_MIN_INT32
120 && (arguments
[5] >>= arg5
) && arg5
== SAL_MAX_UINT32
121 && (arguments
[6] >>= arg6
) && arg6
== SAL_MIN_INT64
122 && (arguments
[7] >>= arg7
) && arg7
== SAL_MAX_UINT64
123 && (arguments
[8] >>= arg8
) && arg8
== 0.123f
124 && (arguments
[9] >>= arg9
) && arg9
== 0.456
125 && (arguments
[10] >>= arg10
) && arg10
== 'X'
126 && (arguments
[11] >>= arg11
)
128 && (arguments
[12] >>= arg12
)
129 && arg12
== ::cppu::UnoType
< css::uno::Any
>::get()
130 && (arguments
[13] >>= arg13
) && arg13
131 && (arguments
[14] >>= arg14
) && arg14
.getLength() == 1 && arg14
[0]
132 && (arguments
[15] >>= arg15
) && arg15
.getLength() == 1
133 && arg15
[0] == SAL_MIN_INT8
134 && (arguments
[16] >>= arg16
) && arg16
.getLength() == 1
135 && arg16
[0] == SAL_MIN_INT16
136 && (arguments
[17] >>= arg17
) && arg17
.getLength() == 1
137 && arg17
[0] == SAL_MAX_UINT16
138 && (arguments
[18] >>= arg18
) && arg18
.getLength() == 1
139 && arg18
[0] == SAL_MIN_INT32
140 && (arguments
[19] >>= arg19
) && arg19
.getLength() == 1
141 && arg19
[0] == SAL_MAX_UINT32
142 && (arguments
[20] >>= arg20
) && arg20
.getLength() == 1
143 && arg20
[0] == SAL_MIN_INT64
144 && (arguments
[21] >>= arg21
) && arg21
.getLength() == 1
145 && arg21
[0] == SAL_MAX_UINT64
146 && (arguments
[22] >>= arg22
) && arg22
.getLength() == 1
147 && arg22
[0] == 0.123f
148 && (arguments
[23] >>= arg23
) && arg23
.getLength() == 1
150 && (arguments
[24] >>= arg24
) && arg24
.getLength() == 1
152 && (arguments
[25] >>= arg25
) && arg25
.getLength() == 1
153 && arg25
[0] == "test"
154 && (arguments
[26] >>= arg26
) && arg26
.getLength() == 1
155 && arg26
[0] == ::cppu::UnoType
< css::uno::Any
>::get()
156 && (arguments
[27] >>= arg27
) && arg27
.getLength() == 1
157 && (arg27
[0] >>= arg27b
) && arg27b
158 && (arguments
[28] >>= arg28
) && arg28
.getLength() == 1
159 && arg28
[0].getLength() == 1 && arg28
[0][0]
160 && (arguments
[29] >>= arg29
) && arg29
.getLength() == 1
161 && arg29
[0].getLength() == 1 && (arg29
[0][0] >>= arg29b
) && arg29b
162 && (arguments
[30] >>= arg30
) && arg30
.getLength() == 1
163 && arg30
[0] == ::test::testtools::bridgetest::TestEnum_TWO
164 && (arguments
[31] >>= arg31
) && arg31
.getLength() == 1
165 && arg31
[0].member
== 10
166 && (arguments
[32] >>= arg32
) && arg32
.getLength() == 1
168 && (arguments
[33] >>= arg33
) && arg33
.getLength() == 1
169 && (arg33
[0].member
>>= arg33b
) && arg33b
170 && (arguments
[34] >>= arg34
) && arg34
.getLength() == 1
172 && (arguments
[35] >>= arg35
)
173 && arg35
== ::test::testtools::bridgetest::TestEnum_TWO
174 && (arguments
[36] >>= arg36
) && arg36
.member
== 10
175 && (arguments
[37] >>= arg37
) && arg37
.member
176 && (arguments
[38] >>= arg38
) && (arg38
.member
>>= arg38b
) && arg38b
177 && (arguments
[39] >>= arg39
) && !arg39
.is());
180 throw ::test::testtools::bridgetest::BadConstructorArguments();
185 class Impl2
: public ::cppu::WeakImplHelper
<
186 css::lang::XInitialization
, ttb::XMultiBase1
>
189 Impl2(): m_attr1(0.0) {}
192 virtual ~Impl2() override
{}
194 virtual void SAL_CALL
initialize(
195 css::uno::Sequence
< css::uno::Any
> const & arguments
) override
;
198 virtual double SAL_CALL
getatt1() override
;
199 virtual void SAL_CALL
setatt1( double _att1
) override
;
200 virtual ::sal_Int32 SAL_CALL
fn11( ::sal_Int32 arg
) override
;
201 virtual OUString SAL_CALL
fn12( const OUString
& arg
) override
;
207 void Impl2::initialize(css::uno::Sequence
< css::uno::Any
> const & arguments
)
209 ttb::TestPolyStruct
< css::uno::Type
> arg0
;
210 ttb::TestPolyStruct
< css::uno::Any
> arg1
;
211 css::uno::Any
arg1b(true);
212 ttb::TestPolyStruct
< sal_Bool
> arg2
;
213 ttb::TestPolyStruct
< ::sal_Int8
> arg3
;
214 ttb::TestPolyStruct
< ::sal_Int16
> arg4
;
215 ttb::TestPolyStruct
< ::sal_Int32
> arg5
;
216 ttb::TestPolyStruct
< ::sal_Int64
> arg6
;
217 ttb::TestPolyStruct
< ::sal_Unicode
> arg7
;
218 ttb::TestPolyStruct
< OUString
> arg8
;
219 ttb::TestPolyStruct
< float > arg9
;
220 ttb::TestPolyStruct
< double > arg10
;
221 ttb::TestPolyStruct
<css::uno::Reference
<css::uno::XInterface
> > arg11
;
222 ttb::TestPolyStruct
<css::uno::Reference
< css::lang::XComponent
> > arg12
;
223 ttb::TestPolyStruct
<ttb::TestEnum
> arg13
;
225 ttb::TestPolyStruct2
<sal_Unicode
, css::uno::Any
> > arg14
;
226 ttb::TestPolyStruct
< ttb::TestPolyStruct2
<
227 ttb::TestPolyStruct2
< sal_Unicode
, css::uno::Any
>,
229 ttb::TestPolyStruct2
< OUString
,ttb::TestPolyStruct2
<
230 ::sal_Unicode
, ttb::TestPolyStruct
< css::uno::Any
> > > arg16
;
231 ttb::TestPolyStruct2
< ttb::TestPolyStruct2
<sal_Unicode
, css::uno::Any
>,
232 ttb::TestPolyStruct
<sal_Unicode
> > arg17
;
233 ttb::TestPolyStruct
<css::uno::Sequence
< css::uno::Type
> > arg18
;
234 ttb::TestPolyStruct
<css::uno::Sequence
<css::uno::Any
> > arg19
;
235 ttb::TestPolyStruct
<css::uno::Sequence
< sal_Bool
> > arg20
;
236 ttb::TestPolyStruct
<css::uno::Sequence
< ::sal_Int8
> > arg21
;
237 ttb::TestPolyStruct
<css::uno::Sequence
< ::sal_Int16
> > arg22
;
238 ttb::TestPolyStruct
<css::uno::Sequence
< ::sal_Int32
> > arg23
;
239 ttb::TestPolyStruct
<css::uno::Sequence
< ::sal_Int64
> > arg24
;
240 ttb::TestPolyStruct
<css::uno::Sequence
< sal_Unicode
> > arg25
;
241 ttb::TestPolyStruct
<css::uno::Sequence
< OUString
> > arg26
;
242 ttb::TestPolyStruct
<css::uno::Sequence
<float> > arg27
;
243 ttb::TestPolyStruct
<css::uno::Sequence
<double> > arg28
;
244 ttb::TestPolyStruct
<css::uno::Sequence
<css::uno::Reference
<css::uno::XInterface
> > > arg29
;
245 ttb::TestPolyStruct
<css::uno::Sequence
<css::uno::Reference
<css::lang::XComponent
> > > arg30
;
246 ttb::TestPolyStruct
<css::uno::Sequence
<ttb::TestEnum
> > arg31
;
247 ttb::TestPolyStruct
<css::uno::Sequence
<ttb::TestPolyStruct2
<
248 ::sal_Unicode
, css::uno::Sequence
<css::uno::Any
> > > > arg32
;
250 ttb::TestPolyStruct
<css::uno::Sequence
<ttb::TestPolyStruct2
<
251 ttb::TestPolyStruct
< ::sal_Unicode
>, css::uno::Sequence
<css::uno::Any
> > > > arg33
;
252 ttb::TestPolyStruct
<css::uno::Sequence
<css::uno::Sequence
< ::sal_Int32
> > > arg34
;
253 css::uno::Sequence
<ttb::TestPolyStruct
< ::sal_Int32
> > arg35
;
254 css::uno::Sequence
<ttb::TestPolyStruct
<ttb::TestPolyStruct2
< ::sal_Unicode
, css::uno::Any
> > > arg36
;
255 css::uno::Sequence
<ttb::TestPolyStruct
<ttb::TestPolyStruct2
<
256 ttb::TestPolyStruct2
< ::sal_Unicode
,css::uno::Any
>, OUString
> > > arg37
;
257 css::uno::Sequence
<ttb::TestPolyStruct2
< OUString
, ttb::TestPolyStruct2
<
258 ::sal_Unicode
, ttb::TestPolyStruct
<css::uno::Any
> > > > arg38
;
259 css::uno::Sequence
<ttb::TestPolyStruct2
<ttb::TestPolyStruct2
<
260 ::sal_Unicode
, css::uno::Any
>, ttb::TestPolyStruct
< ::sal_Unicode
> > > arg39
;
261 css::uno::Sequence
<css::uno::Sequence
<ttb::TestPolyStruct
< ::sal_Unicode
> > > arg40
;
262 css::uno::Sequence
<css::uno::Sequence
<ttb::TestPolyStruct
<ttb::TestPolyStruct2
< ::sal_Unicode
, css::uno::Any
> > > >arg41
;
263 css::uno::Sequence
<css::uno::Sequence
<ttb::TestPolyStruct
<
264 ttb::TestPolyStruct2
<ttb::TestPolyStruct2
<sal_Unicode
, css::uno::Any
>, OUString
> > > > arg42
;
265 css::uno::Sequence
<css::uno::Sequence
<ttb::TestPolyStruct2
<
266 OUString
, ttb::TestPolyStruct2
< ::sal_Unicode
, ttb::TestPolyStruct
<css::uno::Any
> > > > > arg43
;
267 css::uno::Sequence
<css::uno::Sequence
<ttb::TestPolyStruct2
<
268 ttb::TestPolyStruct2
< ::sal_Unicode
, css::uno::Any
>, ttb::TestPolyStruct
<
269 ::sal_Unicode
> > > > arg44
;
271 if (!(arguments
.getLength() == 45
272 && (arguments
[0] >>= arg0
) && arg0
.member
== cppu::UnoType
<sal_Int32
>::get()
273 && (arguments
[1] >>= arg1
) && arg1
.member
== arg1b
274 && (arguments
[2] >>= arg2
) && arg2
.member
275 && (arguments
[3] >>= arg3
) && arg3
.member
== SAL_MIN_INT8
276 && (arguments
[4] >>= arg4
) && arg4
.member
== SAL_MIN_INT16
277 && (arguments
[5] >>= arg5
) && arg5
.member
== SAL_MIN_INT32
278 && (arguments
[6] >>= arg6
) && arg6
.member
== SAL_MIN_INT64
279 && (arguments
[7] >>= arg7
) && arg7
.member
== 'X'
280 && (arguments
[8] >>= arg8
) && arg8
.member
== "test"
281 && (arguments
[9] >>= arg9
) && arg9
.member
== 0.123f
282 && (arguments
[10] >>= arg10
) && arg10
.member
== 0.456
283 && (arguments
[11] >>= arg11
)
284 && (arguments
[12] >>= arg12
)
285 && (arguments
[13] >>= arg13
) && arg13
.member
== ttb::TestEnum_TWO
286 && (arguments
[14] >>= arg14
) && arg14
.member
.member1
== 'X' && arg14
.member
.member2
== arg1b
287 && (arguments
[15] >>= arg15
) && arg15
.member
.member1
.member1
== 'X'
288 && arg15
.member
.member1
.member2
== arg1b
289 && arg15
.member
.member2
== "test"
290 && (arguments
[16] >>= arg16
) && arg16
.member1
== "test"
291 && arg16
.member2
.member1
== 'X'
292 && arg16
.member2
.member2
.member
== arg1b
293 && (arguments
[17] >>= arg17
) && arg17
.member1
.member1
== 'X'
294 && arg17
.member1
.member2
== arg1b
295 && arg17
.member2
.member
== 'X'
296 && (arguments
[18] >>= arg18
) && arg18
.member
.getLength() == 1
297 && arg18
.member
[0] == ::cppu::UnoType
<sal_Int32
>::get()
298 && (arguments
[19] >>= arg19
) && arg19
.member
.getLength() == 1
299 && arg19
.member
[0] == arg1b
300 && (arguments
[20] >>= arg20
) && arg20
.member
.getLength() == 1
302 && (arguments
[21] >>= arg21
) && arg21
.member
.getLength() == 1
303 && arg21
.member
[0] == SAL_MIN_INT8
304 && (arguments
[22] >>= arg22
) && arg22
.member
.getLength() == 1
305 && arg22
.member
[0] == SAL_MIN_INT16
306 && (arguments
[23] >>= arg23
) && arg23
.member
.getLength() == 1
307 && arg23
.member
[0] == SAL_MIN_INT32
308 && (arguments
[24] >>= arg24
) && arg24
.member
.getLength() == 1
309 && arg24
.member
[0] == SAL_MIN_INT64
310 && (arguments
[25] >>= arg25
) && arg25
.member
.getLength() == 1
311 && arg25
.member
[0] == 'X'
312 && (arguments
[26] >>= arg26
) && arg26
.member
.getLength() == 1
313 && arg26
.member
[0] == "test"
314 && (arguments
[27] >>= arg27
) && arg27
.member
.getLength() == 1
315 && arg27
.member
[0] == 0.123f
316 && (arguments
[28] >>= arg28
) && arg28
.member
.getLength() == 1
317 && arg28
.member
[0] == 0.456
318 && (arguments
[29] >>= arg29
) && arg29
.member
.getLength() == 1
319 && arg29
.member
[0] != nullptr
320 && (arguments
[30] >>= arg30
) && arg30
.member
.getLength() == 1
321 && arg30
.member
[0] != nullptr
322 && (arguments
[31] >>= arg31
) && arg31
.member
.getLength() == 1
323 && arg31
.member
[0] == ttb::TestEnum_TWO
324 && (arguments
[32] >>= arg32
) && arg32
.member
.getLength() == 1
325 && arg32
.member
[0].member1
== 'X'
326 && arg32
.member
[0].member2
.getLength() == 1
327 && (arg32
.member
[0].member2
[0] >>= arg32a
) && arg32a
328 && (arguments
[33] >>= arg33
) && arg33
.member
.getLength() == 1
329 && arg33
.member
[0].member1
.member
== 'X'
330 && arg33
.member
[0].member2
.getLength() == 1
331 && arg33
.member
[0].member2
[0] == arg1b
332 && (arguments
[34] >>= arg34
) && arg34
.member
.getLength() == 1
333 && arg34
.member
[0].getLength() == 1 && arg34
.member
[0][0] == SAL_MIN_INT32
334 && (arguments
[35] >>= arg35
) && arg35
.getLength() == 1
335 && arg35
[0].member
== SAL_MIN_INT32
336 && (arguments
[36] >>= arg36
) && arg36
.getLength() == 1
337 && arg36
[0].member
.member1
== 'X'
338 && arg36
[0].member
.member2
== arg1b
339 && (arguments
[37] >>= arg37
) && arg37
.getLength() == 1
340 && arg37
[0].member
.member1
.member1
== 'X'
341 && arg37
[0].member
.member1
.member2
== arg1b
342 && arg37
[0].member
.member2
== "test"
343 && (arguments
[38] >>= arg38
) && arg38
.getLength() == 1
344 && arg38
[0].member1
== "test"
345 && arg38
[0].member2
.member1
== 'X'
346 && arg38
[0].member2
.member2
.member
== arg1b
347 && (arguments
[39] >>= arg39
) && arg39
.getLength() == 1
348 && arg39
[0].member1
.member1
== 'X'
349 && arg39
[0].member1
.member2
== arg1b
350 && arg39
[0].member2
.member
== 'X'
351 && (arguments
[40] >>= arg40
) && arg40
.getLength() == 1
352 && arg40
[0].getLength() == 1
353 && arg40
[0][0].member
== 'X'
354 && (arguments
[41] >>= arg41
) && arg41
.getLength() == 1
355 && arg41
[0].getLength() == 1
356 && arg41
[0][0].member
.member1
== 'X'
357 && arg41
[0][0].member
.member2
== arg1b
358 && (arguments
[42] >>= arg42
) && arg42
.getLength() == 1
359 && arg42
[0].getLength() == 1
360 && arg42
[0][0].member
.member1
.member1
== 'X'
361 && arg42
[0][0].member
.member1
.member2
== arg1b
362 && arg42
[0][0].member
.member2
== "test"
363 && (arguments
[43] >>= arg43
) && arg43
.getLength() == 1
364 && arg43
[0].getLength() == 1
365 && arg43
[0][0].member1
== "test"
366 && arg43
[0][0].member2
.member1
== 'X'
367 && arg43
[0][0].member2
.member2
.member
== arg1b
368 && (arguments
[44] >>= arg44
) && arg44
.getLength() == 1
369 && arg44
[0].getLength() == 1
370 && arg44
[0][0].member1
.member1
== 'X'
371 && arg44
[0][0].member1
.member2
== arg1b
372 && arg44
[0][0].member2
.member
== 'X'
375 throw ::test::testtools::bridgetest::BadConstructorArguments();
378 //check if interfaces work
379 arg11
.member
->acquire();
380 arg11
.member
->release();
381 arg12
.member
->acquire();
382 arg12
.member
->release();
383 arg29
.member
[0]->acquire();
384 arg29
.member
[0]->release();
389 double Impl2::getatt1()
394 void Impl2::setatt1( double _att1
)
399 ::sal_Int32
Impl2::fn11( ::sal_Int32 arg
)
404 OUString
Impl2::fn12( const OUString
& arg
)
409 css::uno::Reference
< css::uno::XInterface
> create(
410 SAL_UNUSED_PARAMETER
css::uno::Reference
< css::uno::XComponentContext
>
413 return static_cast< ::cppu::OWeakObject
* >(new Impl
);
416 OUString
getImplementationName() {
418 "comp.test.testtools.bridgetest.Constructors";
421 css::uno::Sequence
< OUString
> getSupportedServiceNames() {
422 return { "test.testtools.bridgetest.Constructors" };
425 css::uno::Reference
< css::uno::XInterface
> create2(
426 SAL_UNUSED_PARAMETER
css::uno::Reference
< css::uno::XComponentContext
>
429 return static_cast< ::cppu::OWeakObject
* >(new Impl2
);
432 OUString
getImplementationName2() {
433 return "comp.test.testtools.bridgetest.Constructors2";
436 css::uno::Sequence
< OUString
> getSupportedServiceNames2() {
437 return { "test.testtools.bridgetest.Constructors2" };
440 ::cppu::ImplementationEntry
const entries
[] = {
441 { &create
, &getImplementationName
, &getSupportedServiceNames
,
442 &::cppu::createSingleComponentFactory
, nullptr, 0 },
443 { &create2
, &getImplementationName2
, &getSupportedServiceNames2
,
444 &::cppu::createSingleComponentFactory
, nullptr, 0 },
445 { nullptr, nullptr, nullptr, nullptr, nullptr, 0 } };
448 extern "C" SAL_DLLPUBLIC_EXPORT
void * component_getFactory(
449 char const * implName
, void * serviceManager
, void * registryKey
)
451 return ::cppu::component_getFactoryHelper(
452 implName
, serviceManager
, registryKey
, entries
);
455 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */