LibreOffice: cppu::PropertySetMixinImpl Class Reference

LibreOffice LibreOffice 26.2 SDK C/C++ API Reference

Loading...
Searching...
No Matches
cppu::PropertySetMixinImpl Class Reference

A helper base class for `cppu::PropertySetMixin`. More...

`#include <propertysetmixin.hxx>`

Inheritance diagram for cppu::PropertySetMixinImpl:

## Classes
class | BoundListeners
| A class used by subclasses of `cppu::PropertySetMixin` when implementing UNO interface type attribute setter functions. More...

## Protected Types
enum | Implements { IMPLEMENTS_PROPERTY_SET = 1 , IMPLEMENTS_FAST_PROPERTY_SET = 2 , IMPLEMENTS_PROPERTY_ACCESS = 4 }
| Flags used by subclasses of `cppu::PropertySetMixin` to specify what UNO interface types shall be supported. More...

## Protected Member Functions
void | prepareSet (rtl::OUString const &propertyName, css::uno::Any const &oldValue, css::uno::Any const &newValue, BoundListeners *boundListeners)
| A function used by subclasses of `cppu::PropertySetMixin` when implementing UNO interface type attribute setter functions.
void | dispose ()
| Mark this instance as being disposed.
virtual css::uno::Any | queryInterface (css::uno::Type const &type) SAL_OVERRIDE
| A function used by subclasses of `cppu::PropertySetMixin` when implementing `css::uno::XInterface::queryInterface`.
virtual css::uno::Reference< css::beans::XPropertySetInfo > | getPropertySetInfo () SAL_OVERRIDE
virtual void | setPropertyValue (rtl::OUString const &propertyName, css::uno::Any const &value) SAL_OVERRIDE
virtual css::uno::Any | getPropertyValue (rtl::OUString const &propertyName) SAL_OVERRIDE
virtual void | addPropertyChangeListener (rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
| Adds a `css::beans::XPropertyChangeListener`.
virtual void | removePropertyChangeListener (rtl::OUString const &propertyName, css::uno::Reference< css::beans::XPropertyChangeListener > const &listener) SAL_OVERRIDE
virtual void | addVetoableChangeListener (rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
| Adds a `css::beans::XVetoableChangeListener`.
virtual void | removeVetoableChangeListener (rtl::OUString const &propertyName, css::uno::Reference< css::beans::XVetoableChangeListener > const &listener) SAL_OVERRIDE
virtual void | setFastPropertyValue (sal_Int32 handle, css::uno::Any const &value) SAL_OVERRIDE
virtual css::uno::Any | getFastPropertyValue (sal_Int32 handle) SAL_OVERRIDE
virtual css::uno::Sequence< css::beans::PropertyValue > | getPropertyValues () SAL_OVERRIDE
virtual void | setPropertyValues (css::uno::Sequence< css::beans::PropertyValue > const &props) SAL_OVERRIDE

## Friends
class | Impl
template<typename T>
class | PropertySetMixin

## Detailed Description

A helper base class for `cppu::PropertySetMixin`.

See the documentation of `cppu::PropertySetMixin` for further details.

That `cppu::PropertySetMixin` is derived from this base class should be considered an implementation detail. The functionality of `cppu::PropertySetMixin` that is inherited from this base class and is visible to subclasses of `cppu::PropertySetMixin` should be treated by such subclasses as being provided by `cppu::PropertySetMixin` directly (e.g., in such subclasses, use “`PropertySetMixin::Implements`” instead of “`PropertySetMixinImpl::Implements`”).

Since
  UDK 3.2.1

## Member Enumeration Documentation

## ◆ Implements

enum cppu::PropertySetMixinImpl::Implements
| protected

Flags used by subclasses of `cppu::PropertySetMixin` to specify what UNO interface types shall be supported.

Enumerator
IMPLEMENTS_PROPERTY_SET | Flag specifying that the UNO interface type `css::beans::XPropertySet` shall be supported.
IMPLEMENTS_FAST_PROPERTY_SET | Flag specifying that the UNO interface type `css::beans::XFastPropertySet` shall be supported.
IMPLEMENTS_PROPERTY_ACCESS | Flag specifying that the UNO interface type `css::beans::XPropertyAccess` shall be supported.

## Member Function Documentation

## ◆ addPropertyChangeListener()

virtual void cppu::PropertySetMixinImpl::addPropertyChangeListener | ( | rtl::OUString const & | propertyName,
|  | css::uno::Reference< css::beans::XPropertyChangeListener > const & | listener )
| protectedvirtual

Adds a `css::beans::XPropertyChangeListener`.

If a listener is added more than once, it will receive all relevant notifications multiple times.

See also
  css::beans::XPropertySet::addPropertyChangeListener

## ◆ addVetoableChangeListener()

virtual void cppu::PropertySetMixinImpl::addVetoableChangeListener | ( | rtl::OUString const & | propertyName,
|  | css::uno::Reference< css::beans::XVetoableChangeListener > const & | listener )
| protectedvirtual

Adds a `css::beans::XVetoableChangeListener`.

If a listener is added more than once, it will receive all relevant notifications multiple times.

See also
  css::beans::XPropertySet::addVetoableChangeListener

## ◆ dispose()

void cppu::PropertySetMixinImpl::dispose | ( |  | ) |
| protected

Mark this instance as being disposed.

See `css::lang::XComponent` for the general concept of disposing UNO objects. On the first call to this function, all registered listeners (`css::beans::XPropertyChangeListener`s and `css::beans::XVetoableChangeListener`s) are notified of the disposing source. Any subsequent calls to this function are ignored.

May throw `css::uno::RuntimeException` and `std::bad_alloc`.

## ◆ getFastPropertyValue()

virtual css::uno::Any cppu::PropertySetMixinImpl::getFastPropertyValue | ( | sal_Int32 | handle | ) |
| protectedvirtual

## ◆ getPropertySetInfo()

virtual css::uno::Reference< css::beans::XPropertySetInfo > cppu::PropertySetMixinImpl::getPropertySetInfo | ( |  | ) |
| protectedvirtual

## ◆ getPropertyValue()

virtual css::uno::Any cppu::PropertySetMixinImpl::getPropertyValue | ( | rtl::OUString const & | propertyName | ) |
| protectedvirtual

## ◆ getPropertyValues()

virtual css::uno::Sequence< css::beans::PropertyValue > cppu::PropertySetMixinImpl::getPropertyValues | ( |  | ) |
| protectedvirtual

## ◆ prepareSet()

void cppu::PropertySetMixinImpl::prepareSet | ( | rtl::OUString const & | propertyName,
|  | css::uno::Any const & | oldValue,
|  | css::uno::Any const & | newValue,
|  | BoundListeners * | boundListeners )
| protected

A function used by subclasses of `cppu::PropertySetMixin` when implementing UNO interface type attribute setter functions.

First, this function checks whether this instance has already been disposed (see `cppu::PropertySetMixinImpl::dispose`), and throws a `css::lang::DisposedException` if applicable. For a constrained attribute (whose setter can explicitly raise `css::beans::PropertyVetoException`), this function notifies any `css::beans::XVetoableChangeListener`s. For a bound attribute, this function modifies the passed-in `boundListeners` so that it can afterwards be used to notify any `css::beans::XPropertyChangeListener`s. This function should be called before storing the new attribute value, and `boundListeners->notify()` should be called exactly once after storing the new attribute value (in case the attribute is bound; otherwise, calling `boundListeners->notify()` is ignored). Furthermore, `boundListeners->notify()` and this function have to be called from the same thread.

May throw `css::beans::PropertyVetoException`, `css::uno::RuntimeException` (and `css::lang::DisposedException` in particular), and `std::bad_alloc`.

Parameters

  propertyName | the name of the property (which is the same as the name of the attribute that is going to be set)
  oldValue | the property value corresponding to the old attribute value. This is only used as `css::beans::PropertyChangeEvent::OldValue`, which is rather useless, anyway (see “Using the Observer Pattern” in OpenOffice.org Coding Guidelines). If the attribute that is going to be set is neither bound nor constrained, or if `css::beans::PropertyChangeEvent::OldValue` should not be set, a `VOID` `Any` can be used instead.
  newValue | the property value corresponding to the new attribute value. This is only used as `css::beans::PropertyChangeEvent::NewValue`, which is rather useless, anyway (see “Using the Observer Pattern” in OpenOffice.org Coding Guidelines), unless the attribute that is going to be set is constrained. If the attribute that is going to be set is neither bound nor constrained, or if it is only bound but `css::beans::PropertyChangeEvent::NewValue` should not be set, a `VOID` `Any` can be used instead.
  boundListeners | a pointer to a fresh `cppu::PropertySetMixinImpl::BoundListeners` instance (which has not been passed to this function before, and on which `notify` has not yet been called); may only be null if the attribute that is going to be set is not bound

## ◆ queryInterface()

virtual css::uno::Any cppu::PropertySetMixinImpl::queryInterface | ( | css::uno::Type const & | type | ) |
| protectedvirtual

A function used by subclasses of `cppu::PropertySetMixin` when implementing `css::uno::XInterface::queryInterface`.

This function checks for support of any of the UNO interface types specified in the call of the `cppu::PropertySetMixin` constructor. It does not check for any other UNO interface types (not even for `css::uno::XInterface`), and should not be used directly as the implementation of `css::uno::XInterface::queryInterface` of this UNO object.

## ◆ removePropertyChangeListener()

virtual void cppu::PropertySetMixinImpl::removePropertyChangeListener | ( | rtl::OUString const & | propertyName,
|  | css::uno::Reference< css::beans::XPropertyChangeListener > const & | listener )
| protectedvirtual

## ◆ removeVetoableChangeListener()

virtual void cppu::PropertySetMixinImpl::removeVetoableChangeListener | ( | rtl::OUString const & | propertyName,
|  | css::uno::Reference< css::beans::XVetoableChangeListener > const & | listener )
| protectedvirtual

## ◆ setFastPropertyValue()

virtual void cppu::PropertySetMixinImpl::setFastPropertyValue | ( | sal_Int32 | handle,
|  | css::uno::Any const & | value )
| protectedvirtual

## ◆ setPropertyValue()

virtual void cppu::PropertySetMixinImpl::setPropertyValue | ( | rtl::OUString const & | propertyName,
|  | css::uno::Any const & | value )
| protectedvirtual

## ◆ setPropertyValues()

virtual void cppu::PropertySetMixinImpl::setPropertyValues | ( | css::uno::Sequence< css::beans::PropertyValue > const & | props | ) |
| protectedvirtual

## Friends And Related Symbol Documentation

## ◆ Impl

friend class Impl
| friend

## ◆ PropertySetMixin

template<typename T>

friend class PropertySetMixin
| friend

The documentation for this class was generated from the following file:

- cppuhelper/propertysetmixin.hxx