Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_REGISTRY_REGISTRYVALUETYPE_HPP
2 : #define INCLUDED_COM_SUN_STAR_REGISTRY_REGISTRYVALUETYPE_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/registry/RegistryValueType.hdl"
7 :
8 : #include "com/sun/star/uno/Type.hxx"
9 : #include "cppu/unotype.hxx"
10 : #include "osl/mutex.hxx"
11 : #include "rtl/instance.hxx"
12 :
13 : namespace com { namespace sun { namespace star { namespace registry { namespace detail {
14 :
15 : struct theRegistryValueTypeType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theRegistryValueTypeType >
16 : {
17 116 : ::com::sun::star::uno::Type * operator()() const
18 : {
19 116 : ::rtl::OUString sTypeName( "com.sun.star.registry.RegistryValueType" );
20 :
21 : // Start inline typedescription generation
22 116 : typelib_TypeDescription * pTD = 0;
23 :
24 : rtl_uString* enumValueNames[8];
25 116 : ::rtl::OUString sEnumValue0( "NOT_DEFINED" );
26 116 : enumValueNames[0] = sEnumValue0.pData;
27 116 : ::rtl::OUString sEnumValue1( "LONG" );
28 116 : enumValueNames[1] = sEnumValue1.pData;
29 116 : ::rtl::OUString sEnumValue2( "ASCII" );
30 116 : enumValueNames[2] = sEnumValue2.pData;
31 116 : ::rtl::OUString sEnumValue3( "STRING" );
32 116 : enumValueNames[3] = sEnumValue3.pData;
33 116 : ::rtl::OUString sEnumValue4( "BINARY" );
34 116 : enumValueNames[4] = sEnumValue4.pData;
35 116 : ::rtl::OUString sEnumValue5( "LONGLIST" );
36 116 : enumValueNames[5] = sEnumValue5.pData;
37 116 : ::rtl::OUString sEnumValue6( "ASCIILIST" );
38 116 : enumValueNames[6] = sEnumValue6.pData;
39 116 : ::rtl::OUString sEnumValue7( "STRINGLIST" );
40 116 : enumValueNames[7] = sEnumValue7.pData;
41 :
42 : sal_Int32 enumValues[8];
43 116 : enumValues[0] = 0;
44 116 : enumValues[1] = 1;
45 116 : enumValues[2] = 2;
46 116 : enumValues[3] = 3;
47 116 : enumValues[4] = 4;
48 116 : enumValues[5] = 5;
49 116 : enumValues[6] = 6;
50 116 : enumValues[7] = 7;
51 :
52 : typelib_typedescription_newEnum( &pTD,
53 : sTypeName.pData,
54 : (sal_Int32)::com::sun::star::registry::RegistryValueType_NOT_DEFINED,
55 116 : 8, enumValueNames, enumValues );
56 :
57 116 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
58 116 : typelib_typedescription_release( pTD );
59 : // End inline typedescription generation
60 :
61 116 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_ENUM, sTypeName ); // leaked
62 : }
63 : };
64 :
65 : } } } } }
66 :
67 : namespace com { namespace sun { namespace star { namespace registry {
68 :
69 116 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::registry::RegistryValueType const *) {
70 116 : return *detail::theRegistryValueTypeType::get();
71 : }
72 :
73 : } } } }
74 :
75 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER css::registry::RegistryValueType const *) SAL_THROW(()) {
76 : return ::cppu::UnoType< css::registry::RegistryValueType >::get();
77 : }
78 :
79 : #endif // INCLUDED_COM_SUN_STAR_REGISTRY_REGISTRYVALUETYPE_HPP
|