28 #ifndef _CPPUHELPER_PROPTYPEHLP_HXX
29 #define _CPPUHELPER_PROPTYPEHLP_HXX
43 template <
class target >
47 if( !( a >>= value ) ) {
48 throw ::com::sun::star::lang::IllegalArgumentException();
54 template <
class target >
64 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
66 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
68 if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
73 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
77 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
82 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
85 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
90 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
95 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
101 throw ::com::sun::star::lang::IllegalArgumentException();
106 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
108 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
110 if( ::com::sun::star::uno::TypeClass_HYPER == tc ) {
113 else if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) {
116 i = ( sal_Int64 ) i64;
118 else if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
121 i = ( sal_Int64 )i32;
123 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
128 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
131 i = ( sal_Int64 ) i16;
133 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
138 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
141 i = ( sal_Int64 ) i8;
143 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
146 i = ( sal_Int64 ) i16;
148 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
151 i = ( sal_Int64 ) i32;
154 throw ::com::sun::star::lang::IllegalArgumentException();
160 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
162 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
164 if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) {
167 if( ::com::sun::star::uno::TypeClass_HYPER == tc ) {
170 i = ( sal_uInt64 ) i64;
172 else if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
175 i = ( sal_uInt64 )i32;
177 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
180 i = ( sal_uInt64 ) c;
182 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
185 i = ( sal_uInt64 ) i16;
187 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
190 i = ( sal_uInt64 ) b;
192 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
195 i = ( sal_uInt64 ) i8;
197 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
200 i = ( sal_uInt64 ) i16;
202 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
205 i = ( sal_uInt64 ) i32;
208 throw ::com::sun::star::lang::IllegalArgumentException();
215 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
217 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
219 if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
222 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
227 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
230 i = ( sal_Int32 ) i16;
232 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
237 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
240 i = ( sal_Int32 ) i8;
242 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
245 i = ( sal_Int32 ) i16;
247 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
250 i = ( sal_Int32 ) i32;
253 throw ::com::sun::star::lang::IllegalArgumentException();
258 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
260 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
262 if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
265 else if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
268 i = (sal_uInt32 ) i32;
270 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
273 i = ( sal_uInt32 ) c;
275 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
278 i = ( sal_uInt32 ) i16;
280 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
283 i = ( sal_uInt32 ) b;
285 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
288 i = ( sal_uInt32 ) i8;
290 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
293 i = ( sal_uInt32 ) i16;
296 throw ::com::sun::star::lang::IllegalArgumentException();
302 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
304 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
306 if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
309 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
314 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
319 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
322 i = ( sal_Int16 ) i8;
324 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
327 i = ( sal_Int16 ) i16;
330 throw ::com::sun::star::lang::IllegalArgumentException();
335 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
337 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
339 if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
342 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
347 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
352 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
355 i = ( sal_Int16 ) i8;
357 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
360 i = ( sal_Int16 ) i16;
363 throw ::com::sun::star::lang::IllegalArgumentException();
368 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
370 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
372 if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
375 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
381 throw ::com::sun::star::lang::IllegalArgumentException();
386 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
388 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
390 if ( ::com::sun::star::uno::TypeClass_FLOAT == tc ) {
393 else if( ::com::sun::star::uno::TypeClass_DOUBLE == tc ) {
398 else if( ::com::sun::star::uno::TypeClass_HYPER == tc ) {
409 else if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
414 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
419 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
424 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
429 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
434 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
439 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
445 throw ::com::sun::star::lang::IllegalArgumentException();
451 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
453 const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass();
455 if( ::com::sun::star::uno::TypeClass_DOUBLE == tc ) {
460 else if ( ::com::sun::star::uno::TypeClass_FLOAT == tc ) {
465 else if( ::com::sun::star::uno::TypeClass_HYPER == tc ) {
476 else if( ::com::sun::star::uno::TypeClass_LONG == tc ) {
481 else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) {
486 else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) {
491 else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) {
496 else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) {
501 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) {
506 else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) {
512 throw ::com::sun::star::lang::IllegalArgumentException();
517 SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) )
519 if( ::com::sun::star::uno::TypeClass_STRING == a.getValueType().getTypeClass() ) {
523 throw ::com::sun::star::lang::IllegalArgumentException();