Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_UNO_XAGGREGATION_HPP
2 : #define INCLUDED_COM_SUN_STAR_UNO_XAGGREGATION_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/uno/XAggregation.hdl"
7 :
8 : #include "com/sun/star/uno/RuntimeException.hpp"
9 : #include "com/sun/star/uno/XInterface.hpp"
10 : #include "com/sun/star/uno/Any.hxx"
11 : #include "com/sun/star/uno/Reference.hxx"
12 : #include "com/sun/star/uno/Type.hxx"
13 : #include "cppu/unotype.hxx"
14 : #include "osl/mutex.hxx"
15 : #include "rtl/instance.hxx"
16 :
17 : namespace com { namespace sun { namespace star { namespace uno { namespace detail {
18 :
19 : struct theXAggregationType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theXAggregationType >
20 : {
21 111 : ::com::sun::star::uno::Type * operator()() const
22 : {
23 111 : ::rtl::OUString sTypeName( "com.sun.star.uno.XAggregation" );
24 :
25 : // Start inline typedescription generation
26 111 : typelib_InterfaceTypeDescription * pTD = 0;
27 :
28 : typelib_TypeDescriptionReference * aSuperTypes[1];
29 111 : aSuperTypes[0] = ::cppu::UnoType< ::com::sun::star::uno::Reference< css::uno::XInterface > >::get().getTypeLibType();
30 111 : typelib_TypeDescriptionReference * pMembers[2] = { 0,0 };
31 222 : ::rtl::OUString sMethodName0( "com.sun.star.uno.XAggregation::setDelegator" );
32 : typelib_typedescriptionreference_new( &pMembers[0],
33 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
34 111 : sMethodName0.pData );
35 222 : ::rtl::OUString sMethodName1( "com.sun.star.uno.XAggregation::queryAggregation" );
36 : typelib_typedescriptionreference_new( &pMembers[1],
37 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
38 111 : sMethodName1.pData );
39 :
40 : typelib_typedescription_newMIInterface(
41 : &pTD,
42 : sTypeName.pData, 0x00000000, 0x0000, 0x0000, 0x00000000, 0x00000000,
43 : 1, aSuperTypes,
44 : 2,
45 111 : pMembers );
46 :
47 111 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
48 111 : typelib_typedescriptionreference_release( pMembers[0] );
49 111 : typelib_typedescriptionreference_release( pMembers[1] );
50 111 : typelib_typedescription_release( (typelib_TypeDescription*)pTD );
51 :
52 222 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_INTERFACE, sTypeName ); // leaked
53 : }
54 : };
55 :
56 : } } } } }
57 :
58 : namespace com { namespace sun { namespace star { namespace uno {
59 :
60 6985 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::uno::XAggregation const *) {
61 6985 : const ::com::sun::star::uno::Type &rRet = *detail::theXAggregationType::get();
62 : // End inline typedescription generation
63 : static bool bInitStarted = false;
64 6985 : if (!bInitStarted)
65 : {
66 111 : ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
67 111 : if (!bInitStarted)
68 : {
69 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
70 111 : bInitStarted = true;
71 111 : ::cppu::UnoType< css::uno::RuntimeException >::get();
72 111 : ::cppu::UnoType< ::com::sun::star::uno::Reference< css::uno::XInterface > >::get();
73 :
74 111 : typelib_InterfaceMethodTypeDescription * pMethod = 0;
75 : {
76 : typelib_Parameter_Init aParameters[1];
77 111 : ::rtl::OUString sParamName0( "Delegator" );
78 222 : ::rtl::OUString sParamType0( "com.sun.star.uno.XInterface" );
79 111 : aParameters[0].pParamName = sParamName0.pData;
80 111 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE;
81 111 : aParameters[0].pTypeName = sParamType0.pData;
82 111 : aParameters[0].bIn = sal_True;
83 111 : aParameters[0].bOut = sal_False;
84 222 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
85 111 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
86 222 : ::rtl::OUString sReturnType0( "void" );
87 222 : ::rtl::OUString sMethodName0( "com.sun.star.uno.XAggregation::setDelegator" );
88 : typelib_typedescription_newInterfaceMethod( &pMethod,
89 : 3, sal_False,
90 : sMethodName0.pData,
91 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType0.pData,
92 : 1, aParameters,
93 111 : 1, the_Exceptions );
94 222 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
95 : }
96 : {
97 : typelib_Parameter_Init aParameters[1];
98 111 : ::rtl::OUString sParamName0( "aType" );
99 222 : ::rtl::OUString sParamType0( "type" );
100 111 : aParameters[0].pParamName = sParamName0.pData;
101 111 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_TYPE;
102 111 : aParameters[0].pTypeName = sParamType0.pData;
103 111 : aParameters[0].bIn = sal_True;
104 111 : aParameters[0].bOut = sal_False;
105 222 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
106 111 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
107 222 : ::rtl::OUString sReturnType1( "any" );
108 222 : ::rtl::OUString sMethodName1( "com.sun.star.uno.XAggregation::queryAggregation" );
109 : typelib_typedescription_newInterfaceMethod( &pMethod,
110 : 4, sal_False,
111 : sMethodName1.pData,
112 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_ANY, sReturnType1.pData,
113 : 1, aParameters,
114 111 : 1, the_Exceptions );
115 222 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
116 : }
117 111 : typelib_typedescription_release( (typelib_TypeDescription*)pMethod );
118 111 : }
119 : }
120 : else
121 : {
122 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
123 : }
124 6985 : return rRet;
125 : }
126 :
127 : } } } }
128 :
129 6985 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER ::com::sun::star::uno::Reference< css::uno::XAggregation > const *) SAL_THROW(()) {
130 6985 : return ::cppu::UnoType< ::com::sun::star::uno::Reference< css::uno::XAggregation > >::get();
131 : }
132 :
133 2395 : ::com::sun::star::uno::Type const & css::uno::XAggregation::static_type(SAL_UNUSED_PARAMETER void *) {
134 2395 : return ::getCppuType(static_cast< ::com::sun::star::uno::Reference< css::uno::XAggregation > * >(0));
135 : }
136 :
137 : #endif // INCLUDED_COM_SUN_STAR_UNO_XAGGREGATION_HPP
|