29 #ifndef INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX
30 #define INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX \
31 INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX
34 #include "com/sun/star/beans/PropertyVetoException.hpp"
35 #include "com/sun/star/beans/UnknownPropertyException.hpp"
36 #include "com/sun/star/beans/XFastPropertySet.hpp"
37 #include "com/sun/star/beans/XPropertyAccess.hpp"
38 #include "com/sun/star/beans/XPropertySet.hpp"
39 #include "com/sun/star/lang/IllegalArgumentException.hpp"
40 #include "com/sun/star/lang/WrappedTargetException.hpp"
42 #include "com/sun/star/uno/RuntimeException.hpp"
47 namespace com {
namespace sun {
namespace star {
49 class XPropertyChangeListener;
50 class XPropertySetInfo;
51 class XVetoableChangeListener;
57 class XComponentContext;
60 namespace rtl {
class OUString; }
64 template<
typename T >
class PropertySetMixin;
69 #pragma warning(disable: 4265)
90 #if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
91 #pragma GCC diagnostic push
92 #pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
95 public com::sun::star::beans::XPropertySet,
96 public com::sun::star::beans::XFastPropertySet,
97 public com::sun::star::beans::XPropertyAccess
110 IMPLEMENTS_PROPERTY_SET = 1,
117 IMPLEMENTS_FAST_PROPERTY_SET = 2,
124 IMPLEMENTS_PROPERTY_ACCESS = 4
273 throw (com::sun::star::uno::RuntimeException);
278 SAL_CALL getPropertySetInfo() throw (com::sun::star::uno::RuntimeException);
281 virtual
void SAL_CALL setPropertyValue(
282 rtl::OUString const & propertyName,
283 com::sun::star::uno::Any const & value)
285 com::sun::star::beans::UnknownPropertyException,
286 com::sun::star::beans::PropertyVetoException,
287 com::sun::star::lang::IllegalArgumentException,
288 com::sun::star::lang::WrappedTargetException,
289 com::sun::star::uno::RuntimeException);
292 virtual com::sun::star::uno::Any SAL_CALL getPropertyValue(
293 rtl::OUString const & propertyName)
295 com::sun::star::beans::UnknownPropertyException,
296 com::sun::star::lang::WrappedTargetException,
297 com::sun::star::uno::RuntimeException);
308 virtual
void SAL_CALL addPropertyChangeListener(
309 rtl::OUString const & propertyName,
310 com::sun::star::uno::Reference<
311 com::sun::star::beans::XPropertyChangeListener > const & listener)
313 com::sun::star::beans::UnknownPropertyException,
314 com::sun::star::lang::WrappedTargetException,
315 com::sun::star::uno::RuntimeException);
318 virtual
void SAL_CALL removePropertyChangeListener(
319 rtl::OUString const & propertyName,
320 com::sun::star::uno::Reference<
321 com::sun::star::beans::XPropertyChangeListener > const & listener)
323 com::sun::star::beans::UnknownPropertyException,
324 com::sun::star::lang::WrappedTargetException,
325 com::sun::star::uno::RuntimeException);
336 virtual
void SAL_CALL addVetoableChangeListener(
337 rtl::OUString const & propertyName,
338 com::sun::star::uno::Reference<
339 com::sun::star::beans::XVetoableChangeListener > const & listener)
341 com::sun::star::beans::UnknownPropertyException,
342 com::sun::star::lang::WrappedTargetException,
343 com::sun::star::uno::RuntimeException);
346 virtual
void SAL_CALL removeVetoableChangeListener(
347 rtl::OUString const & propertyName,
348 com::sun::star::uno::Reference<
349 com::sun::star::beans::XVetoableChangeListener > const & listener)
351 com::sun::star::beans::UnknownPropertyException,
352 com::sun::star::lang::WrappedTargetException,
353 com::sun::star::uno::RuntimeException);
356 virtual
void SAL_CALL setFastPropertyValue(
357 sal_Int32 handle, com::sun::star::uno::Any const & value)
359 com::sun::star::beans::UnknownPropertyException,
360 com::sun::star::beans::PropertyVetoException,
361 com::sun::star::lang::IllegalArgumentException,
362 com::sun::star::lang::WrappedTargetException,
363 com::sun::star::uno::RuntimeException);
366 virtual com::sun::star::uno::Any SAL_CALL getFastPropertyValue(
369 com::sun::star::beans::UnknownPropertyException,
370 com::sun::star::lang::WrappedTargetException,
371 com::sun::star::uno::RuntimeException);
375 com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >
376 SAL_CALL getPropertyValues() throw (com::sun::star::uno::RuntimeException);
379 virtual
void SAL_CALL setPropertyValues(
380 com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >
383 com::sun::star::beans::UnknownPropertyException,
384 com::sun::star::beans::PropertyVetoException,
385 com::sun::star::lang::IllegalArgumentException,
386 com::sun::star::lang::WrappedTargetException,
387 com::sun::star::uno::RuntimeException);
391 void operator =(PropertySetMixinImpl &);
393 PropertySetMixinImpl(
394 com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
397 com::sun::star::uno::Sequence< rtl::OUString > const & absentOptional,
398 com::sun::star::uno::Type const & type);
406 ~PropertySetMixinImpl();
408 void checkUnknown(rtl::OUString const & propertyName);
410 #if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
411 #pragma GCC diagnostic pop
426 template<
typename T >
class PropertySetMixin:
public PropertySetMixinImpl {
473 PropertySetMixinImpl(
474 context, implements, absentOptional, T::static_type())
485 PropertySetMixin(PropertySetMixin &);
486 void operator =(PropertySetMixin &);