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