Branch data Line data Source code
1 : : #ifndef INCLUDED_INTERFACE1_HPP
2 : : #define INCLUDED_INTERFACE1_HPP
3 : :
4 : : #include "sal/config.h"
5 : :
6 : : #include "Interface1.hdl"
7 : :
8 : : #include "com/sun/star/uno/RuntimeException.hpp"
9 : : #include "com/sun/star/uno/XInterface.hpp"
10 : : #include "com/sun/star/uno/Reference.hxx"
11 : : #include "com/sun/star/uno/Type.hxx"
12 : : #include "cppu/unotype.hxx"
13 : : #include "osl/mutex.hxx"
14 : : #include "rtl/instance.hxx"
15 : :
16 : : namespace detail {
17 : :
18 : : struct theInterface1Type : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theInterface1Type >
19 : : {
20 : 10 : ::com::sun::star::uno::Type * operator()() const
21 : : {
22 [ + - ]: 10 : ::rtl::OUString sTypeName( RTL_CONSTASCII_USTRINGPARAM("Interface1") );
23 : :
24 : : // Start inline typedescription generation
25 : 10 : typelib_InterfaceTypeDescription * pTD = 0;
26 : :
27 : : typelib_TypeDescriptionReference * aSuperTypes[1];
28 [ + - ]: 10 : aSuperTypes[0] = ::cppu::UnoType< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > >::get().getTypeLibType();
29 : :
30 : : typelib_typedescription_newMIInterface(
31 : : &pTD,
32 : : sTypeName.pData, 0x00000000, 0x0000, 0x0000, 0x00000000, 0x00000000,
33 : : 1, aSuperTypes,
34 : : 0,
35 : 10 : 0 );
36 : :
37 : 10 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
38 : 10 : typelib_typedescription_release( (typelib_TypeDescription*)pTD );
39 : :
40 : 10 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_INTERFACE, sTypeName ); // leaked
41 : : }
42 : : };
43 : :
44 : : }
45 : :
46 : 120 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER Interface1 const *) {
47 : 120 : const ::com::sun::star::uno::Type &rRet = *detail::theInterface1Type::get();
48 : : // End inline typedescription generation
49 : : static bool bInitStarted = false;
50 [ + + ]: 120 : if (!bInitStarted)
51 : : {
52 [ + - ][ + - ]: 10 : ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
53 [ + - ]: 10 : if (!bInitStarted)
54 : : {
55 : : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
56 : 10 : bInitStarted = true;
57 [ + - ]: 10 : ::cppu::UnoType< ::com::sun::star::uno::RuntimeException >::get();
58 [ + - ]: 10 : }
59 : : }
60 : : else
61 : : {
62 : : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
63 : : }
64 : 120 : return rRet;
65 : : }
66 : :
67 : 20 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER ::com::sun::star::uno::Reference< Interface1 > const *) SAL_THROW(()) {
68 : 20 : return ::cppu::UnoType< ::com::sun::star::uno::Reference< Interface1 > >::get();
69 : : }
70 : :
71 : 20 : ::com::sun::star::uno::Type const & Interface1::static_type(SAL_UNUSED_PARAMETER void *) {
72 : 20 : return ::getCppuType(static_cast< ::com::sun::star::uno::Reference< Interface1 > * >(0));
73 : : }
74 : :
75 : : #endif // INCLUDED_INTERFACE1_HPP
|