Branch data Line data Source code
1 : : #ifndef INCLUDED_ENUM1_HPP
2 : : #define INCLUDED_ENUM1_HPP
3 : :
4 : : #include "sal/config.h"
5 : :
6 : : #include "Enum1.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 detail {
14 : :
15 : : struct theEnum1Type : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theEnum1Type >
16 : : {
17 : 5 : ::com::sun::star::uno::Type * operator()() const
18 : : {
19 [ + - ]: 5 : ::rtl::OUString sTypeName( RTL_CONSTASCII_USTRINGPARAM("Enum1") );
20 : :
21 : : // Start inline typedescription generation
22 : 5 : typelib_TypeDescription * pTD = 0;
23 : :
24 : : rtl_uString* enumValueNames[3];
25 [ + - ]: 5 : ::rtl::OUString sEnumValue0( RTL_CONSTASCII_USTRINGPARAM("M0") );
26 : 5 : enumValueNames[0] = sEnumValue0.pData;
27 [ + - ]: 5 : ::rtl::OUString sEnumValue1( RTL_CONSTASCII_USTRINGPARAM("M1") );
28 : 5 : enumValueNames[1] = sEnumValue1.pData;
29 [ + - ]: 5 : ::rtl::OUString sEnumValue2( RTL_CONSTASCII_USTRINGPARAM("M2") );
30 : 5 : enumValueNames[2] = sEnumValue2.pData;
31 : :
32 : : sal_Int32 enumValues[3];
33 : 5 : enumValues[0] = 0;
34 : 5 : enumValues[1] = 1;
35 : 5 : enumValues[2] = 2;
36 : :
37 : : typelib_typedescription_newEnum( &pTD,
38 : : sTypeName.pData,
39 : : (sal_Int32)Enum1_M0,
40 : 5 : 3, enumValueNames, enumValues );
41 : :
42 : 5 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
43 : 5 : typelib_typedescription_release( pTD );
44 : : // End inline typedescription generation
45 : :
46 : 5 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_ENUM, sTypeName ); // leaked
47 : : }
48 : : };
49 : :
50 : : }
51 : :
52 : 100 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER Enum1 const *) {
53 : 100 : return *detail::theEnum1Type::get();
54 : : }
55 : :
56 : : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER Enum1 const *) SAL_THROW(()) {
57 : : return ::cppu::UnoType< Enum1 >::get();
58 : : }
59 : :
60 : : #endif // INCLUDED_ENUM1_HPP
|