Line data Source code
1 : #ifndef INCLUDED_COM_SUN_STAR_BEANS_XPROPERTYSET_HPP
2 : #define INCLUDED_COM_SUN_STAR_BEANS_XPROPERTYSET_HPP
3 :
4 : #include "sal/config.h"
5 :
6 : #include "com/sun/star/beans/XPropertySet.hdl"
7 :
8 : #include "com/sun/star/beans/XPropertyChangeListener.hpp"
9 : #include "com/sun/star/beans/XVetoableChangeListener.hpp"
10 : #include "com/sun/star/lang/WrappedTargetException.hpp"
11 : #include "com/sun/star/lang/IllegalArgumentException.hpp"
12 : #include "com/sun/star/beans/UnknownPropertyException.hpp"
13 : #include "com/sun/star/beans/PropertyVetoException.hpp"
14 : #include "com/sun/star/uno/RuntimeException.hpp"
15 : #include "com/sun/star/beans/XPropertySetInfo.hpp"
16 : #include "com/sun/star/uno/XInterface.hpp"
17 : #include "com/sun/star/uno/Any.hxx"
18 : #include "com/sun/star/uno/Reference.hxx"
19 : #include "com/sun/star/uno/Type.hxx"
20 : #include "cppu/unotype.hxx"
21 : #include "osl/mutex.hxx"
22 : #include "rtl/ustring.hxx"
23 : #include "rtl/instance.hxx"
24 :
25 : namespace com { namespace sun { namespace star { namespace beans { namespace detail {
26 :
27 : struct theXPropertySetType : public rtl::StaticWithInit< ::com::sun::star::uno::Type *, theXPropertySetType >
28 : {
29 114 : ::com::sun::star::uno::Type * operator()() const
30 : {
31 114 : ::rtl::OUString sTypeName( "com.sun.star.beans.XPropertySet" );
32 :
33 : // Start inline typedescription generation
34 114 : typelib_InterfaceTypeDescription * pTD = 0;
35 :
36 : typelib_TypeDescriptionReference * aSuperTypes[1];
37 114 : aSuperTypes[0] = ::cppu::UnoType< ::com::sun::star::uno::Reference< css::uno::XInterface > >::get().getTypeLibType();
38 114 : typelib_TypeDescriptionReference * pMembers[7] = { 0,0,0,0,0,0,0 };
39 114 : ::rtl::OUString sMethodName0( "com.sun.star.beans.XPropertySet::getPropertySetInfo" );
40 : typelib_typedescriptionreference_new( &pMembers[0],
41 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
42 114 : sMethodName0.pData );
43 114 : ::rtl::OUString sMethodName1( "com.sun.star.beans.XPropertySet::setPropertyValue" );
44 : typelib_typedescriptionreference_new( &pMembers[1],
45 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
46 114 : sMethodName1.pData );
47 114 : ::rtl::OUString sMethodName2( "com.sun.star.beans.XPropertySet::getPropertyValue" );
48 : typelib_typedescriptionreference_new( &pMembers[2],
49 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
50 114 : sMethodName2.pData );
51 114 : ::rtl::OUString sMethodName3( "com.sun.star.beans.XPropertySet::addPropertyChangeListener" );
52 : typelib_typedescriptionreference_new( &pMembers[3],
53 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
54 114 : sMethodName3.pData );
55 114 : ::rtl::OUString sMethodName4( "com.sun.star.beans.XPropertySet::removePropertyChangeListener" );
56 : typelib_typedescriptionreference_new( &pMembers[4],
57 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
58 114 : sMethodName4.pData );
59 114 : ::rtl::OUString sMethodName5( "com.sun.star.beans.XPropertySet::addVetoableChangeListener" );
60 : typelib_typedescriptionreference_new( &pMembers[5],
61 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
62 114 : sMethodName5.pData );
63 114 : ::rtl::OUString sMethodName6( "com.sun.star.beans.XPropertySet::removeVetoableChangeListener" );
64 : typelib_typedescriptionreference_new( &pMembers[6],
65 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE_METHOD,
66 114 : sMethodName6.pData );
67 :
68 : typelib_typedescription_newMIInterface(
69 : &pTD,
70 : sTypeName.pData, 0x00000000, 0x0000, 0x0000, 0x00000000, 0x00000000,
71 : 1, aSuperTypes,
72 : 7,
73 114 : pMembers );
74 :
75 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pTD );
76 114 : typelib_typedescriptionreference_release( pMembers[0] );
77 114 : typelib_typedescriptionreference_release( pMembers[1] );
78 114 : typelib_typedescriptionreference_release( pMembers[2] );
79 114 : typelib_typedescriptionreference_release( pMembers[3] );
80 114 : typelib_typedescriptionreference_release( pMembers[4] );
81 114 : typelib_typedescriptionreference_release( pMembers[5] );
82 114 : typelib_typedescriptionreference_release( pMembers[6] );
83 114 : typelib_typedescription_release( (typelib_TypeDescription*)pTD );
84 :
85 114 : return new ::com::sun::star::uno::Type( ::com::sun::star::uno::TypeClass_INTERFACE, sTypeName ); // leaked
86 : }
87 : };
88 :
89 : } } } } }
90 :
91 : namespace com { namespace sun { namespace star { namespace beans {
92 :
93 118 : inline ::com::sun::star::uno::Type const & cppu_detail_getUnoType(SAL_UNUSED_PARAMETER css::beans::XPropertySet const *) {
94 118 : const ::com::sun::star::uno::Type &rRet = *detail::theXPropertySetType::get();
95 : // End inline typedescription generation
96 : static bool bInitStarted = false;
97 118 : if (!bInitStarted)
98 : {
99 114 : ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
100 114 : if (!bInitStarted)
101 : {
102 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
103 114 : bInitStarted = true;
104 114 : ::cppu::UnoType< css::uno::RuntimeException >::get();
105 114 : ::cppu::UnoType< ::com::sun::star::uno::Reference< css::beans::XPropertySetInfo > >::get();
106 114 : ::cppu::UnoType< css::beans::UnknownPropertyException >::get();
107 114 : ::cppu::UnoType< css::beans::PropertyVetoException >::get();
108 114 : ::cppu::UnoType< css::lang::IllegalArgumentException >::get();
109 114 : ::cppu::UnoType< css::lang::WrappedTargetException >::get();
110 114 : ::cppu::UnoType< ::com::sun::star::uno::Reference< css::beans::XPropertyChangeListener > >::get();
111 114 : ::cppu::UnoType< ::com::sun::star::uno::Reference< css::beans::XVetoableChangeListener > >::get();
112 :
113 114 : typelib_InterfaceMethodTypeDescription * pMethod = 0;
114 : {
115 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.uno.RuntimeException" );
116 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData };
117 114 : ::rtl::OUString sReturnType0( "com.sun.star.beans.XPropertySetInfo" );
118 114 : ::rtl::OUString sMethodName0( "com.sun.star.beans.XPropertySet::getPropertySetInfo" );
119 : typelib_typedescription_newInterfaceMethod( &pMethod,
120 : 3, sal_False,
121 : sMethodName0.pData,
122 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE, sReturnType0.pData,
123 : 0, 0,
124 114 : 1, the_Exceptions );
125 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
126 : }
127 : {
128 : typelib_Parameter_Init aParameters[2];
129 114 : ::rtl::OUString sParamName0( "aPropertyName" );
130 114 : ::rtl::OUString sParamType0( "string" );
131 114 : aParameters[0].pParamName = sParamName0.pData;
132 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
133 114 : aParameters[0].pTypeName = sParamType0.pData;
134 114 : aParameters[0].bIn = sal_True;
135 114 : aParameters[0].bOut = sal_False;
136 114 : ::rtl::OUString sParamName1( "aValue" );
137 114 : ::rtl::OUString sParamType1( "any" );
138 114 : aParameters[1].pParamName = sParamName1.pData;
139 114 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_ANY;
140 114 : aParameters[1].pTypeName = sParamType1.pData;
141 114 : aParameters[1].bIn = sal_True;
142 114 : aParameters[1].bOut = sal_False;
143 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
144 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.beans.PropertyVetoException" );
145 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.lang.IllegalArgumentException" );
146 114 : ::rtl::OUString the_ExceptionName3( "com.sun.star.lang.WrappedTargetException" );
147 114 : ::rtl::OUString the_ExceptionName4( "com.sun.star.uno.RuntimeException" );
148 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData, the_ExceptionName3.pData, the_ExceptionName4.pData };
149 114 : ::rtl::OUString sReturnType1( "void" );
150 114 : ::rtl::OUString sMethodName1( "com.sun.star.beans.XPropertySet::setPropertyValue" );
151 : typelib_typedescription_newInterfaceMethod( &pMethod,
152 : 4, sal_False,
153 : sMethodName1.pData,
154 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType1.pData,
155 : 2, aParameters,
156 114 : 5, the_Exceptions );
157 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
158 : }
159 : {
160 : typelib_Parameter_Init aParameters[1];
161 114 : ::rtl::OUString sParamName0( "PropertyName" );
162 114 : ::rtl::OUString sParamType0( "string" );
163 114 : aParameters[0].pParamName = sParamName0.pData;
164 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
165 114 : aParameters[0].pTypeName = sParamType0.pData;
166 114 : aParameters[0].bIn = sal_True;
167 114 : aParameters[0].bOut = sal_False;
168 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
169 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.lang.WrappedTargetException" );
170 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.uno.RuntimeException" );
171 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData };
172 114 : ::rtl::OUString sReturnType2( "any" );
173 114 : ::rtl::OUString sMethodName2( "com.sun.star.beans.XPropertySet::getPropertyValue" );
174 : typelib_typedescription_newInterfaceMethod( &pMethod,
175 : 5, sal_False,
176 : sMethodName2.pData,
177 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_ANY, sReturnType2.pData,
178 : 1, aParameters,
179 114 : 3, the_Exceptions );
180 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
181 : }
182 : {
183 : typelib_Parameter_Init aParameters[2];
184 114 : ::rtl::OUString sParamName0( "aPropertyName" );
185 114 : ::rtl::OUString sParamType0( "string" );
186 114 : aParameters[0].pParamName = sParamName0.pData;
187 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
188 114 : aParameters[0].pTypeName = sParamType0.pData;
189 114 : aParameters[0].bIn = sal_True;
190 114 : aParameters[0].bOut = sal_False;
191 114 : ::rtl::OUString sParamName1( "xListener" );
192 114 : ::rtl::OUString sParamType1( "com.sun.star.beans.XPropertyChangeListener" );
193 114 : aParameters[1].pParamName = sParamName1.pData;
194 114 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE;
195 114 : aParameters[1].pTypeName = sParamType1.pData;
196 114 : aParameters[1].bIn = sal_True;
197 114 : aParameters[1].bOut = sal_False;
198 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
199 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.lang.WrappedTargetException" );
200 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.uno.RuntimeException" );
201 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData };
202 114 : ::rtl::OUString sReturnType3( "void" );
203 114 : ::rtl::OUString sMethodName3( "com.sun.star.beans.XPropertySet::addPropertyChangeListener" );
204 : typelib_typedescription_newInterfaceMethod( &pMethod,
205 : 6, sal_False,
206 : sMethodName3.pData,
207 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType3.pData,
208 : 2, aParameters,
209 114 : 3, the_Exceptions );
210 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
211 : }
212 : {
213 : typelib_Parameter_Init aParameters[2];
214 114 : ::rtl::OUString sParamName0( "aPropertyName" );
215 114 : ::rtl::OUString sParamType0( "string" );
216 114 : aParameters[0].pParamName = sParamName0.pData;
217 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
218 114 : aParameters[0].pTypeName = sParamType0.pData;
219 114 : aParameters[0].bIn = sal_True;
220 114 : aParameters[0].bOut = sal_False;
221 114 : ::rtl::OUString sParamName1( "aListener" );
222 114 : ::rtl::OUString sParamType1( "com.sun.star.beans.XPropertyChangeListener" );
223 114 : aParameters[1].pParamName = sParamName1.pData;
224 114 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE;
225 114 : aParameters[1].pTypeName = sParamType1.pData;
226 114 : aParameters[1].bIn = sal_True;
227 114 : aParameters[1].bOut = sal_False;
228 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
229 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.lang.WrappedTargetException" );
230 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.uno.RuntimeException" );
231 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData };
232 114 : ::rtl::OUString sReturnType4( "void" );
233 114 : ::rtl::OUString sMethodName4( "com.sun.star.beans.XPropertySet::removePropertyChangeListener" );
234 : typelib_typedescription_newInterfaceMethod( &pMethod,
235 : 7, sal_False,
236 : sMethodName4.pData,
237 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType4.pData,
238 : 2, aParameters,
239 114 : 3, the_Exceptions );
240 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
241 : }
242 : {
243 : typelib_Parameter_Init aParameters[2];
244 114 : ::rtl::OUString sParamName0( "PropertyName" );
245 114 : ::rtl::OUString sParamType0( "string" );
246 114 : aParameters[0].pParamName = sParamName0.pData;
247 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
248 114 : aParameters[0].pTypeName = sParamType0.pData;
249 114 : aParameters[0].bIn = sal_True;
250 114 : aParameters[0].bOut = sal_False;
251 114 : ::rtl::OUString sParamName1( "aListener" );
252 114 : ::rtl::OUString sParamType1( "com.sun.star.beans.XVetoableChangeListener" );
253 114 : aParameters[1].pParamName = sParamName1.pData;
254 114 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE;
255 114 : aParameters[1].pTypeName = sParamType1.pData;
256 114 : aParameters[1].bIn = sal_True;
257 114 : aParameters[1].bOut = sal_False;
258 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
259 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.lang.WrappedTargetException" );
260 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.uno.RuntimeException" );
261 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData };
262 114 : ::rtl::OUString sReturnType5( "void" );
263 114 : ::rtl::OUString sMethodName5( "com.sun.star.beans.XPropertySet::addVetoableChangeListener" );
264 : typelib_typedescription_newInterfaceMethod( &pMethod,
265 : 8, sal_False,
266 : sMethodName5.pData,
267 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType5.pData,
268 : 2, aParameters,
269 114 : 3, the_Exceptions );
270 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
271 : }
272 : {
273 : typelib_Parameter_Init aParameters[2];
274 114 : ::rtl::OUString sParamName0( "PropertyName" );
275 114 : ::rtl::OUString sParamType0( "string" );
276 114 : aParameters[0].pParamName = sParamName0.pData;
277 114 : aParameters[0].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_STRING;
278 114 : aParameters[0].pTypeName = sParamType0.pData;
279 114 : aParameters[0].bIn = sal_True;
280 114 : aParameters[0].bOut = sal_False;
281 114 : ::rtl::OUString sParamName1( "aListener" );
282 114 : ::rtl::OUString sParamType1( "com.sun.star.beans.XVetoableChangeListener" );
283 114 : aParameters[1].pParamName = sParamName1.pData;
284 114 : aParameters[1].eTypeClass = (typelib_TypeClass)::com::sun::star::uno::TypeClass_INTERFACE;
285 114 : aParameters[1].pTypeName = sParamType1.pData;
286 114 : aParameters[1].bIn = sal_True;
287 114 : aParameters[1].bOut = sal_False;
288 114 : ::rtl::OUString the_ExceptionName0( "com.sun.star.beans.UnknownPropertyException" );
289 114 : ::rtl::OUString the_ExceptionName1( "com.sun.star.lang.WrappedTargetException" );
290 114 : ::rtl::OUString the_ExceptionName2( "com.sun.star.uno.RuntimeException" );
291 114 : rtl_uString * the_Exceptions[] = { the_ExceptionName0.pData, the_ExceptionName1.pData, the_ExceptionName2.pData };
292 114 : ::rtl::OUString sReturnType6( "void" );
293 114 : ::rtl::OUString sMethodName6( "com.sun.star.beans.XPropertySet::removeVetoableChangeListener" );
294 : typelib_typedescription_newInterfaceMethod( &pMethod,
295 : 9, sal_False,
296 : sMethodName6.pData,
297 : (typelib_TypeClass)::com::sun::star::uno::TypeClass_VOID, sReturnType6.pData,
298 : 2, aParameters,
299 114 : 3, the_Exceptions );
300 114 : typelib_typedescription_register( (typelib_TypeDescription**)&pMethod );
301 : }
302 114 : typelib_typedescription_release( (typelib_TypeDescription*)pMethod );
303 114 : }
304 : }
305 : else
306 : {
307 : OSL_DOUBLE_CHECKED_LOCKING_MEMORY_BARRIER();
308 : }
309 118 : return rRet;
310 : }
311 :
312 : } } } }
313 :
314 118 : inline ::com::sun::star::uno::Type const & SAL_CALL getCppuType(SAL_UNUSED_PARAMETER ::com::sun::star::uno::Reference< css::beans::XPropertySet > const *) SAL_THROW(()) {
315 118 : return ::cppu::UnoType< ::com::sun::star::uno::Reference< css::beans::XPropertySet > >::get();
316 : }
317 :
318 118 : ::com::sun::star::uno::Type const & css::beans::XPropertySet::static_type(SAL_UNUSED_PARAMETER void *) {
319 118 : return ::getCppuType(static_cast< ::com::sun::star::uno::Reference< css::beans::XPropertySet > * >(0));
320 : }
321 :
322 : #endif // INCLUDED_COM_SUN_STAR_BEANS_XPROPERTYSET_HPP
|