LibreOffice
LibreOffice 24.2 SDK C/C++ API Reference
Classes | Protected Types | Protected Member Functions | Friends | List of all members
cppu::PropertySetMixinImpl Class Reference

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

#include <propertysetmixin.hxx>

Inheritance diagram for cppu::PropertySetMixinImpl:
cppu::PropertySetMixin< T >

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. More...
 
void dispose ()
 Mark this instance as being disposed. More...
 
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. More...
 
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. More...
 
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. More...
 
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

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::XPropertyChangeListeners and css::beans::XVetoableChangeListeners) 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::XVetoableChangeListeners. For a bound attribute, this function modifies the passed-in boundListeners so that it can afterwards be used to notify any css::beans::XPropertyChangeListeners. 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
propertyNamethe name of the property (which is the same as the name of the attribute that is going to be set)
oldValuethe 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.
newValuethe 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.
boundListenersa 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 Function 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: