20 #ifndef INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX
21 #define INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX
24 #include "com/sun/star/beans/PropertyVetoException.hpp"
25 #include "com/sun/star/beans/UnknownPropertyException.hpp"
26 #include "com/sun/star/beans/XFastPropertySet.hpp"
27 #include "com/sun/star/beans/XPropertyAccess.hpp"
28 #include "com/sun/star/beans/XPropertySet.hpp"
29 #include "com/sun/star/lang/IllegalArgumentException.hpp"
30 #include "com/sun/star/lang/WrappedTargetException.hpp"
32 #include "com/sun/star/uno/RuntimeException.hpp"
37 namespace com {
namespace sun {
namespace star {
39 class XPropertyChangeListener;
40 class XPropertySetInfo;
41 class XVetoableChangeListener;
47 class XComponentContext;
50 namespace rtl {
class OUString; }
59 #pragma warning(disable: 4265)
80 #if HAVE_GCC_PRAGMA_DIAGNOSTIC_MODIFY && HAVE_GCC_PRAGMA_DIAGNOSTIC_SCOPE \
82 #pragma GCC diagnostic push
83 #pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
86 public com::sun::star::beans::XPropertySet,
87 public com::sun::star::beans::XFastPropertySet,
88 public com::sun::star::beans::XPropertyAccess
101 IMPLEMENTS_PROPERTY_SET = 1,
108 IMPLEMENTS_FAST_PROPERTY_SET = 2,
115 IMPLEMENTS_PROPERTY_ACCESS = 4
264 throw (com::sun::star::uno::RuntimeException);
269 SAL_CALL getPropertySetInfo() throw (com::sun::star::uno::RuntimeException);
272 virtual
void SAL_CALL setPropertyValue(
273 rtl::OUString const & propertyName,
274 com::sun::star::uno::Any const & value)
276 com::sun::star::beans::UnknownPropertyException,
277 com::sun::star::beans::PropertyVetoException,
278 com::sun::star::lang::IllegalArgumentException,
279 com::sun::star::lang::WrappedTargetException,
280 com::sun::star::uno::RuntimeException);
283 virtual com::sun::star::uno::Any SAL_CALL getPropertyValue(
284 rtl::OUString const & propertyName)
286 com::sun::star::beans::UnknownPropertyException,
287 com::sun::star::lang::WrappedTargetException,
288 com::sun::star::uno::RuntimeException);
299 virtual
void SAL_CALL addPropertyChangeListener(
300 rtl::OUString const & propertyName,
301 com::sun::star::uno::Reference<
302 com::sun::star::beans::XPropertyChangeListener > const & listener)
304 com::sun::star::beans::UnknownPropertyException,
305 com::sun::star::lang::WrappedTargetException,
306 com::sun::star::uno::RuntimeException);
309 virtual
void SAL_CALL removePropertyChangeListener(
310 rtl::OUString const & propertyName,
311 com::sun::star::uno::Reference<
312 com::sun::star::beans::XPropertyChangeListener > const & listener)
314 com::sun::star::beans::UnknownPropertyException,
315 com::sun::star::lang::WrappedTargetException,
316 com::sun::star::uno::RuntimeException);
327 virtual
void SAL_CALL addVetoableChangeListener(
328 rtl::OUString const & propertyName,
329 com::sun::star::uno::Reference<
330 com::sun::star::beans::XVetoableChangeListener > const & listener)
332 com::sun::star::beans::UnknownPropertyException,
333 com::sun::star::lang::WrappedTargetException,
334 com::sun::star::uno::RuntimeException);
337 virtual
void SAL_CALL removeVetoableChangeListener(
338 rtl::OUString const & propertyName,
339 com::sun::star::uno::Reference<
340 com::sun::star::beans::XVetoableChangeListener > const & listener)
342 com::sun::star::beans::UnknownPropertyException,
343 com::sun::star::lang::WrappedTargetException,
344 com::sun::star::uno::RuntimeException);
347 virtual
void SAL_CALL setFastPropertyValue(
348 sal_Int32 handle, com::sun::star::uno::Any const & value)
350 com::sun::star::beans::UnknownPropertyException,
351 com::sun::star::beans::PropertyVetoException,
352 com::sun::star::lang::IllegalArgumentException,
353 com::sun::star::lang::WrappedTargetException,
354 com::sun::star::uno::RuntimeException);
357 virtual com::sun::star::uno::Any SAL_CALL getFastPropertyValue(
360 com::sun::star::beans::UnknownPropertyException,
361 com::sun::star::lang::WrappedTargetException,
362 com::sun::star::uno::RuntimeException);
366 com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >
367 SAL_CALL getPropertyValues() throw (com::sun::star::uno::RuntimeException);
370 virtual
void SAL_CALL setPropertyValues(
371 com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >
374 com::sun::star::beans::UnknownPropertyException,
375 com::sun::star::beans::PropertyVetoException,
376 com::sun::star::lang::IllegalArgumentException,
377 com::sun::star::lang::WrappedTargetException,
378 com::sun::star::uno::RuntimeException);
382 void operator=( const PropertySetMixinImpl&);
384 PropertySetMixinImpl(
385 com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext >
388 com::sun::star::uno::Sequence< rtl::OUString > const & absentOptional,
389 com::sun::star::uno::Type const & type);
397 ~PropertySetMixinImpl();
399 void checkUnknown(rtl::OUString const & propertyName);
401 #if HAVE_GCC_PRAGMA_DIAGNOSTIC_MODIFY && HAVE_GCC_PRAGMA_DIAGNOSTIC_SCOPE \
402 && !defined __clang__
403 #pragma GCC diagnostic pop
418 template<
typename T >
class PropertySetMixin:
public PropertySetMixinImpl {
465 PropertySetMixinImpl(
466 context, implements, absentOptional, T::static_type())
477 PropertySetMixin(
const PropertySetMixin&);
478 void operator=(
const PropertySetMixin&);