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 2 : ::com::sun::star::uno::Type * operator()() const
18 : {
19 2 : ::rtl::OUString sTypeName( "test.codemaker.cppumaker.HelperEnum" );
20 :
21 : // Start inline typedescription generation
22 2 : typelib_TypeDescription * pTD = 0;
23 :
24 : rtl_uString* enumValueNames[2];
25 2 : ::rtl::OUString sEnumValue0( "ZERO" );
26 2 : enumValueNames[0] = sEnumValue0.pData;
27 2 : ::rtl::OUString sEnumValue1( "ONE" );
28 2 : enumValueNames[1] = sEnumValue1.pData;
29 :
30 : sal_Int32 enumValues[2];
31 2 : enumValues[0] = 0;
32 2 : enumValues[1] = 1;
33 :
34 : typelib_typedescription_newEnum( &pTD,
35 : sTypeName.pData,
36 : (sal_Int32)::test::codemaker::cppumaker::HelperEnum_ZERO,
37 2 : 2, enumValueNames, enumValues );
38 :
39 2 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
40 2 : typelib_typedescription_release( pTD );
41 : // End inline typedescription generation
42 :
43 2 : 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 6 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER ::test::codemaker::cppumaker::HelperEnum const *) {
52 6 : 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
|