Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_UTIL_XNUMBERFORMATS_HPP
2 : #define INCLUDED_COM_SUN_STAR_UTIL_XNUMBERFORMATS_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/util/XNumberFormats.hdl"
7 :
8 : #include "com/sun/star/util/MalformedNumberFormatException.hpp"
9 : #include "com/sun/star/lang/Locale.hpp"
10 : #include "com/sun/star/beans/XPropertySet.hpp"
11 : #include "com/sun/star/uno/RuntimeException.hpp"
12 : #include "com/sun/star/uno/XInterface.hpp"
13 : #include "com/sun/star/uno/Reference.hxx"
14 : #include "com/sun/star/uno/Sequence.hxx"
15 : #include "com/sun/star/uno/Type.hxx"
16 : #include "cppu/unotype.hxx"
17 : #include "osl/mutex.hxx"
18 : #include "rtl/ustring.hxx"
19 : #include "rtl/instance.hxx"
20 : #include "sal/types.h"
21 :
22 : namespace com { namespace sun { namespace star { namespace util { namespace detail {
23 :
24 : struct theXNumberFormatsType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theXNumberFormatsType >
25 : {
26 3 : ::com::sun::star::uno::Type * operator()() const
27 : {
28 3 : ::rtl::OUString sTypeName( "com.sun.star.util.XNumberFormats" );
29 :
30 : // Start inline typedescription generation
31 3 : typelib_InterfaceTypeDescription * pTD = 0;
32 :
33 : typelib_TypeDescriptionReference * aSuperTypes[1];
34 3 : aSuperTypes[0] = ::cppu::UnoType< ::com::sun::star::uno::Reference< css::uno::XInterface > >::get().getTypeLibType();
35 3 : typelib_TypeDescriptionReference * pMembers[7] = { 0,0,0,0,0,0,0 };
36 3 : ::rtl::OUString sMethodName0( "com.sun.star.util.XNumberFormats::getByKey" );
37 : typelib_typedescriptionreference_new( &pMembers[0],
38 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
39 3 : sMethodName0.pData );
40 3 : ::rtl::OUString sMethodName1( "com.sun.star.util.XNumberFormats::queryKeys" );
41 : typelib_typedescriptionreference_new( &pMembers[1],
42 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
43 3 : sMethodName1.pData );
44 3 : ::rtl::OUString sMethodName2( "com.sun.star.util.XNumberFormats::queryKey" );
45 : typelib_typedescriptionreference_new( &pMembers[2],
46 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
47 3 : sMethodName2.pData );
48 3 : ::rtl::OUString sMethodName3( "com.sun.star.util.XNumberFormats::addNew" );
49 : typelib_typedescriptionreference_new( &pMembers[3],
50 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
51 3 : sMethodName3.pData );
52 3 : ::rtl::OUString sMethodName4( "com.sun.star.util.XNumberFormats::addNewConverted" );
53 : typelib_typedescriptionreference_new( &pMembers[4],
54 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
55 3 : sMethodName4.pData );
56 3 : ::rtl::OUString sMethodName5( "com.sun.star.util.XNumberFormats::removeByKey" );
57 : typelib_typedescriptionreference_new( &pMembers[5],
58 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
59 3 : sMethodName5.pData );
60 3 : ::rtl::OUString sMethodName6( "com.sun.star.util.XNumberFormats::generateFormat" );
61 : typelib_typedescriptionreference_new( &pMembers[6],
62 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
63 3 : sMethodName6.pData );
64 :
65 : typelib_typedescription_newMIInterface(
66 : &pTD,
67 : sTypeName.pData, 0x00000000, 0x0000, 0x0000, 0x00000000, 0x00000000,
68 : 1, aSuperTypes,
69 : 7,
70 3 : pMembers );
71 :
72 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
73 3 : typelib_typedescriptionreference_release( pMembers[0] );
74 3 : typelib_typedescriptionreference_release( pMembers[1] );
75 3 : typelib_typedescriptionreference_release( pMembers[2] );
76 3 : typelib_typedescriptionreference_release( pMembers[3] );
77 3 : typelib_typedescriptionreference_release( pMembers[4] );
78 3 : typelib_typedescriptionreference_release( pMembers[5] );
79 3 : typelib_typedescriptionreference_release( pMembers[6] );
80 3 : typelib_typedescription_release( (typelib_TypeDescription*)pTD );
81 :
82 3 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_INTERFACE, sTypeName ); // leaked
83 : }
84 : };
85 :
86 : } } } } }
87 :
88 : namespace com { namespace sun { namespace star { namespace util {
89 :
90 3 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::util::XNumberFormats const *) {
91 3 : const ::com::sun::star::uno::Type &rRet = *detail::theXNumberFormatsType::get();
92 : // End inline typedescription generation
93 : static bool bInitStarted = false;
94 3 : if (!bInitStarted)
95 : {
96 3 : ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
97 3 : if (!bInitStarted)
98 : {
99 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
100 3 : bInitStarted = true;
101 3 : ::cppu::UnoType< css::uno::RuntimeException >::get();
102 3 : ::cppu::UnoType< ::com::sun::star::uno::Reference< css::beans::XPropertySet > >::get();
103 3 : ::cppu::UnoType< ::cppu::UnoSequenceType< ::sal_Int32 > >::get();
104 3 : ::cppu::UnoType< css::lang::Locale >::get();
105 3 : ::cppu::UnoType< css::util::MalformedNumberFormatException >::get();
106 :
107 3 : typelib_InterfaceMethodTypeDescription * pMethod = 0;
108 : {
109 : typelib_Parameter_Init aParameters[1];
110 3 : ::rtl::OUString sParamName0( "nKey" );
111 3 : ::rtl::OUString sParamType0( "long" );
112 3 : aParameters[0].pParamName = sParamName0.pData;
113 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG;
114 3 : aParameters[0].pTypeName = sParamType0.pData;
115 3 : aParameters[0].bIn = sal_True;
116 3 : aParameters[0].bOut = sal_False;
117 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
118 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
119 3 : ::rtl::OUString sReturnType0( "com.sun.star.beans.XPropertySet" );
120 3 : ::rtl::OUString sMethodName0( "com.sun.star.util.XNumberFormats::getByKey" );
121 : typelib_typedescription_newInterfaceMethod( &pMethod,
122 : 3, sal_False,
123 : sMethodName0.pData,
124 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE, sReturnType0.pData,
125 : 1, aParameters,
126 3 : 1, the_Exceptions );
127 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
128 : }
129 : {
130 : typelib_Parameter_Init aParameters[3];
131 3 : ::rtl::OUString sParamName0( "nType" );
132 3 : ::rtl::OUString sParamType0( "short" );
133 3 : aParameters[0].pParamName = sParamName0.pData;
134 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_SHORT;
135 3 : aParameters[0].pTypeName = sParamType0.pData;
136 3 : aParameters[0].bIn = sal_True;
137 3 : aParameters[0].bOut = sal_False;
138 3 : ::rtl::OUString sParamName1( "nLocale" );
139 3 : ::rtl::OUString sParamType1( "com.sun.star.lang.Locale" );
140 3 : aParameters[1].pParamName = sParamName1.pData;
141 3 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
142 3 : aParameters[1].pTypeName = sParamType1.pData;
143 3 : aParameters[1].bIn = sal_True;
144 3 : aParameters[1].bOut = sal_False;
145 3 : ::rtl::OUString sParamName2( "bCreate" );
146 3 : ::rtl::OUString sParamType2( "boolean" );
147 3 : aParameters[2].pParamName = sParamName2.pData;
148 3 : aParameters[2].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_BOOLEAN;
149 3 : aParameters[2].pTypeName = sParamType2.pData;
150 3 : aParameters[2].bIn = sal_True;
151 3 : aParameters[2].bOut = sal_False;
152 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
153 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
154 3 : ::rtl::OUString sReturnType1( "[]long" );
155 3 : ::rtl::OUString sMethodName1( "com.sun.star.util.XNumberFormats::queryKeys" );
156 : typelib_typedescription_newInterfaceMethod( &pMethod,
157 : 4, sal_False,
158 : sMethodName1.pData,
159 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_SEQUENCE, sReturnType1.pData,
160 : 3, aParameters,
161 3 : 1, the_Exceptions );
162 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
163 : }
164 : {
165 : typelib_Parameter_Init aParameters[3];
166 3 : ::rtl::OUString sParamName0( "aFormat" );
167 3 : ::rtl::OUString sParamType0( "string" );
168 3 : aParameters[0].pParamName = sParamName0.pData;
169 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
170 3 : aParameters[0].pTypeName = sParamType0.pData;
171 3 : aParameters[0].bIn = sal_True;
172 3 : aParameters[0].bOut = sal_False;
173 3 : ::rtl::OUString sParamName1( "nLocale" );
174 3 : ::rtl::OUString sParamType1( "com.sun.star.lang.Locale" );
175 3 : aParameters[1].pParamName = sParamName1.pData;
176 3 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
177 3 : aParameters[1].pTypeName = sParamType1.pData;
178 3 : aParameters[1].bIn = sal_True;
179 3 : aParameters[1].bOut = sal_False;
180 3 : ::rtl::OUString sParamName2( "bScan" );
181 3 : ::rtl::OUString sParamType2( "boolean" );
182 3 : aParameters[2].pParamName = sParamName2.pData;
183 3 : aParameters[2].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_BOOLEAN;
184 3 : aParameters[2].pTypeName = sParamType2.pData;
185 3 : aParameters[2].bIn = sal_True;
186 3 : aParameters[2].bOut = sal_False;
187 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
188 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
189 3 : ::rtl::OUString sReturnType2( "long" );
190 3 : ::rtl::OUString sMethodName2( "com.sun.star.util.XNumberFormats::queryKey" );
191 : typelib_typedescription_newInterfaceMethod( &pMethod,
192 : 5, sal_False,
193 : sMethodName2.pData,
194 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG, sReturnType2.pData,
195 : 3, aParameters,
196 3 : 1, the_Exceptions );
197 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
198 : }
199 : {
200 : typelib_Parameter_Init aParameters[2];
201 3 : ::rtl::OUString sParamName0( "aFormat" );
202 3 : ::rtl::OUString sParamType0( "string" );
203 3 : aParameters[0].pParamName = sParamName0.pData;
204 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
205 3 : aParameters[0].pTypeName = sParamType0.pData;
206 3 : aParameters[0].bIn = sal_True;
207 3 : aParameters[0].bOut = sal_False;
208 3 : ::rtl::OUString sParamName1( "nLocale" );
209 3 : ::rtl::OUString sParamType1( "com.sun.star.lang.Locale" );
210 3 : aParameters[1].pParamName = sParamName1.pData;
211 3 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
212 3 : aParameters[1].pTypeName = sParamType1.pData;
213 3 : aParameters[1].bIn = sal_True;
214 3 : aParameters[1].bOut = sal_False;
215 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.util.MalformedNumberFormatException" );
216 3 : ::rtl::OUString the_ExceptionName1( "com.sun.star.uno.RuntimeException" );
217 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData };
218 3 : ::rtl::OUString sReturnType3( "long" );
219 3 : ::rtl::OUString sMethodName3( "com.sun.star.util.XNumberFormats::addNew" );
220 : typelib_typedescription_newInterfaceMethod( &pMethod,
221 : 6, sal_False,
222 : sMethodName3.pData,
223 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG, sReturnType3.pData,
224 : 2, aParameters,
225 3 : 2, the_Exceptions );
226 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
227 : }
228 : {
229 : typelib_Parameter_Init aParameters[3];
230 3 : ::rtl::OUString sParamName0( "aFormat" );
231 3 : ::rtl::OUString sParamType0( "string" );
232 3 : aParameters[0].pParamName = sParamName0.pData;
233 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
234 3 : aParameters[0].pTypeName = sParamType0.pData;
235 3 : aParameters[0].bIn = sal_True;
236 3 : aParameters[0].bOut = sal_False;
237 3 : ::rtl::OUString sParamName1( "nLocale" );
238 3 : ::rtl::OUString sParamType1( "com.sun.star.lang.Locale" );
239 3 : aParameters[1].pParamName = sParamName1.pData;
240 3 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
241 3 : aParameters[1].pTypeName = sParamType1.pData;
242 3 : aParameters[1].bIn = sal_True;
243 3 : aParameters[1].bOut = sal_False;
244 3 : ::rtl::OUString sParamName2( "nNewLocale" );
245 3 : ::rtl::OUString sParamType2( "com.sun.star.lang.Locale" );
246 3 : aParameters[2].pParamName = sParamName2.pData;
247 3 : aParameters[2].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
248 3 : aParameters[2].pTypeName = sParamType2.pData;
249 3 : aParameters[2].bIn = sal_True;
250 3 : aParameters[2].bOut = sal_False;
251 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.util.MalformedNumberFormatException" );
252 3 : ::rtl::OUString the_ExceptionName1( "com.sun.star.uno.RuntimeException" );
253 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData };
254 3 : ::rtl::OUString sReturnType4( "long" );
255 3 : ::rtl::OUString sMethodName4( "com.sun.star.util.XNumberFormats::addNewConverted" );
256 : typelib_typedescription_newInterfaceMethod( &pMethod,
257 : 7, sal_False,
258 : sMethodName4.pData,
259 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG, sReturnType4.pData,
260 : 3, aParameters,
261 3 : 2, the_Exceptions );
262 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
263 : }
264 : {
265 : typelib_Parameter_Init aParameters[1];
266 3 : ::rtl::OUString sParamName0( "nKey" );
267 3 : ::rtl::OUString sParamType0( "long" );
268 3 : aParameters[0].pParamName = sParamName0.pData;
269 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG;
270 3 : aParameters[0].pTypeName = sParamType0.pData;
271 3 : aParameters[0].bIn = sal_True;
272 3 : aParameters[0].bOut = sal_False;
273 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
274 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
275 3 : ::rtl::OUString sReturnType5( "void" );
276 3 : ::rtl::OUString sMethodName5( "com.sun.star.util.XNumberFormats::removeByKey" );
277 : typelib_typedescription_newInterfaceMethod( &pMethod,
278 : 8, sal_False,
279 : sMethodName5.pData,
280 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType5.pData,
281 : 1, aParameters,
282 3 : 1, the_Exceptions );
283 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
284 : }
285 : {
286 : typelib_Parameter_Init aParameters[6];
287 3 : ::rtl::OUString sParamName0( "nBaseKey" );
288 3 : ::rtl::OUString sParamType0( "long" );
289 3 : aParameters[0].pParamName = sParamName0.pData;
290 3 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_LONG;
291 3 : aParameters[0].pTypeName = sParamType0.pData;
292 3 : aParameters[0].bIn = sal_True;
293 3 : aParameters[0].bOut = sal_False;
294 3 : ::rtl::OUString sParamName1( "nLocale" );
295 3 : ::rtl::OUString sParamType1( "com.sun.star.lang.Locale" );
296 3 : aParameters[1].pParamName = sParamName1.pData;
297 3 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRUCT;
298 3 : aParameters[1].pTypeName = sParamType1.pData;
299 3 : aParameters[1].bIn = sal_True;
300 3 : aParameters[1].bOut = sal_False;
301 3 : ::rtl::OUString sParamName2( "bThousands" );
302 3 : ::rtl::OUString sParamType2( "boolean" );
303 3 : aParameters[2].pParamName = sParamName2.pData;
304 3 : aParameters[2].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_BOOLEAN;
305 3 : aParameters[2].pTypeName = sParamType2.pData;
306 3 : aParameters[2].bIn = sal_True;
307 3 : aParameters[2].bOut = sal_False;
308 3 : ::rtl::OUString sParamName3( "bRed" );
309 3 : ::rtl::OUString sParamType3( "boolean" );
310 3 : aParameters[3].pParamName = sParamName3.pData;
311 3 : aParameters[3].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_BOOLEAN;
312 3 : aParameters[3].pTypeName = sParamType3.pData;
313 3 : aParameters[3].bIn = sal_True;
314 3 : aParameters[3].bOut = sal_False;
315 3 : ::rtl::OUString sParamName4( "nDecimals" );
316 3 : ::rtl::OUString sParamType4( "short" );
317 3 : aParameters[4].pParamName = sParamName4.pData;
318 3 : aParameters[4].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_SHORT;
319 3 : aParameters[4].pTypeName = sParamType4.pData;
320 3 : aParameters[4].bIn = sal_True;
321 3 : aParameters[4].bOut = sal_False;
322 3 : ::rtl::OUString sParamName5( "nLeading" );
323 3 : ::rtl::OUString sParamType5( "short" );
324 3 : aParameters[5].pParamName = sParamName5.pData;
325 3 : aParameters[5].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_SHORT;
326 3 : aParameters[5].pTypeName = sParamType5.pData;
327 3 : aParameters[5].bIn = sal_True;
328 3 : aParameters[5].bOut = sal_False;
329 3 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
330 3 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
331 3 : ::rtl::OUString sReturnType6( "string" );
332 3 : ::rtl::OUString sMethodName6( "com.sun.star.util.XNumberFormats::generateFormat" );
333 : typelib_typedescription_newInterfaceMethod( &pMethod,
334 : 9, sal_False,
335 : sMethodName6.pData,
336 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING, sReturnType6.pData,
337 : 6, aParameters,
338 3 : 1, the_Exceptions );
339 3 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
340 : }
341 3 : typelib_typedescription_release( (typelib_TypeDescription*)pMethod );
342 3 : }
343 : }
344 : else
345 : {
346 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
347 : }
348 3 : return rRet;
349 : }
350 :
351 : } } } }
352 :
353 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER ::com::sun::star::uno::Reference< css::util::XNumberFormats > const *) SAL_THROW(()) {
354 : return ::cppu::UnoType< ::com::sun::star::uno::Reference< css::util::XNumberFormats > >::get();
355 : }
356 :
357 : ::com::sun::star::uno::Type const & css::util::XNumberFormats::static_type(SAL_UNUSED_PARAMETER void *) {
358 : return ::getCppuType(static_cast< ::com::sun::star::uno::Reference< css::util::XNumberFormats > * >(0));
359 : }
360 :
361 : #endif // INCLUDED_COM_SUN_STAR_UTIL_XNUMBERFORMATS_HPP
|