24#ifndef INCLUDED_CPPUHELPER_PROPSHLP_HXX
25#define INCLUDED_CPPUHELPER_PROPSHLP_HXX
31#include "com/sun/star/beans/XPropertySet.hpp"
32#include "com/sun/star/beans/XPropertySetOption.hpp"
33#include "com/sun/star/beans/XMultiPropertySet.hpp"
34#include "com/sun/star/beans/XFastPropertySet.hpp"
54 static void * SAL_CALL
operator new(
size_t nSize )
55 { return ::rtl_allocateMemory( nSize ); }
56 static void SAL_CALL
operator delete(
void * pMem )
57 { ::rtl_freeMemory( pMem ); }
58 static void * SAL_CALL
operator new( size_t,
void * pMem )
60 static void SAL_CALL
operator delete(
void *,
void * )
80 ::rtl::OUString * pPropName, sal_Int16 * pAttributes, sal_Int32 nHandle ) = 0;
84 virtual css::uno::Sequence< css::beans::Property > SAL_CALL
getProperties() = 0;
91 const ::rtl::OUString& rPropertyName ) = 0;
102 virtual sal_Int32 SAL_CALL
getHandleByName( const ::rtl::OUString & rPropertyName ) = 0;
109 sal_Int32 * pHandles,
const css::uno::Sequence< ::rtl::OUString > & rPropNames ) = 0;
128 css::beans::Property *pProps,
129 sal_Int32 nElements ,
139 const css::uno::Sequence< css::beans::Property > & aProps,
145 sal_Int32 SAL_CALL getCount()
const;
158 virtual sal_Bool SAL_CALL fillPropertyMembersByHandle(
159 ::rtl::OUString * pPropName, sal_Int16 * pAttributes, sal_Int32 nHandle ) SAL_OVERRIDE;
163 virtual css::uno::Sequence< css::beans::Property > SAL_CALL getProperties() SAL_OVERRIDE;
169 virtual css::beans::Property SAL_CALL getPropertyByName(
170 const ::
rtl::OUString& rPropertyName ) SAL_OVERRIDE;
175 virtual
sal_Bool SAL_CALL hasPropertyByName(const ::
rtl::OUString& rPropertyName) SAL_OVERRIDE;
181 virtual sal_Int32 SAL_CALL getHandleByName( const ::
rtl::OUString & rPropertyName ) SAL_OVERRIDE;
187 virtual sal_Int32 SAL_CALL fillHandles(
188 sal_Int32 * pHandles, const css::
uno::Sequence< ::
rtl::OUString > & rPropNames ) SAL_OVERRIDE;
213 bool operator()(
const sal_Int32 & i1 ,
const sal_Int32 & i2)
const
230 static void * SAL_CALL
operator new(
size_t nSize )
231 { return ::rtl_allocateMemory( nSize ); }
232 static void SAL_CALL
operator delete(
void * pMem )
233 { ::rtl_freeMemory( pMem ); }
234 static void * SAL_CALL
operator new( size_t,
void * pMem )
236 static void SAL_CALL
operator delete(
void *,
void * )
255 css::uno::Sequence< sal_Int32 > SAL_CALL getContainedTypes()
const;
271 sal_Int32 SAL_CALL addInterface(
272 const sal_Int32 & rKey,
273 const css::uno::Reference< css::uno::XInterface > & r );
282 sal_Int32 SAL_CALL removeInterface(
283 const sal_Int32 & rKey,
284 const css::uno::Reference< css::uno::XInterface > & rxIFace );
290 void SAL_CALL disposeAndClear(
const css::lang::EventObject & rEvt );
294 void SAL_CALL clear();
331 sal_Int32 * pnHandles,
334 bool bIgnoreRuntimeExceptionsWhileFiring) = 0;
357 public css::beans::XMultiPropertySet,
358 public css::beans::XFastPropertySet,
359 public css::beans::XPropertySet
415 bool bIgnoreRuntimeExceptionsWhileFiring =
false);
421 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType ) SAL_OVERRIDE;
427 css::uno::Sequence< css::uno::Type > getTypes();
435 void SAL_CALL disposing();
442 virtual void SAL_CALL
setPropertyValue( const ::rtl::OUString& rPropertyName,
const css::uno::Any& aValue ) SAL_OVERRIDE;
447 virtual css::uno::Any SAL_CALL
getPropertyValue(const ::rtl::OUString& aPropertyName) SAL_OVERRIDE;
450 const ::rtl::OUString& aPropertyName,
451 const css::uno::Reference< css::beans::XPropertyChangeListener >& aListener) SAL_OVERRIDE;
455 const ::rtl::OUString& aPropertyName,
456 const css::uno::Reference < css::beans::XPropertyChangeListener >& aListener) SAL_OVERRIDE;
460 const ::rtl::OUString& aPropertyName,
461 const css::uno::Reference< css::beans::XVetoableChangeListener >& aListener) SAL_OVERRIDE;
465 const ::rtl::OUString& aPropertyName,
466 const css::uno::Reference< css::beans::XVetoableChangeListener > & aListener ) SAL_OVERRIDE;
481 virtual css::uno::Any SAL_CALL getFastPropertyValue( sal_Int32 nHandle ) SAL_OVERRIDE;
485 const css::uno::Sequence< ::rtl::OUString >& PropertyNames,
486 const css::uno::Sequence< css::uno::Any >& Values ) SAL_OVERRIDE;
489 const css::uno::Sequence< ::rtl::OUString >& PropertyNames ) SAL_OVERRIDE;
492 const css::uno::Sequence< ::rtl::OUString >& PropertyNames,
493 const css::uno::Reference< css::beans::XPropertiesChangeListener >& Listener ) SAL_OVERRIDE;
496 const css::uno::Reference< css::beans::XPropertiesChangeListener >& Listener ) SAL_OVERRIDE;
499 const css::uno::Sequence< ::rtl::OUString >& PropertyNames,
500 const css::uno::Reference< css::beans::XPropertiesChangeListener > & Listener ) SAL_OVERRIDE;
505 static css::uno::Reference < css::beans::XPropertySetInfo > SAL_CALL
518 sal_Int32 * pnHandles,
519 const css::uno::Any * pNewValues,
520 const css::uno::Any * pOldValues,
535 sal_Int32 * pHandles,
536 const css::uno::Any * pValues,
537 sal_Int32 nHitCount );
561 css::uno::Any & rConvertedValue,
562 css::uno::Any & rOldValue,
564 const css::uno::Any& rValue ) = 0;
587 const css::uno::Any& rValue ) = 0;
594 css::uno::Any& rValue,
595 sal_Int32 nHandle )
const = 0;
615 void setDependentFastPropertyValue(
617 const css::uno::Any& i_value
640 SAL_DELETED_FUNCTION;
646 sal_Int32* i_handles,
647 const css::uno::Any * i_newValues,
648 const css::uno::Any * i_oldValues,
671 public css::beans::XPropertySetOption
681 bool bIgnoreRuntimeExceptionsWhileFiring =
false);
684 virtual css::uno::Any SAL_CALL
queryInterface(
const css::uno::Type & rType ) SAL_OVERRIDE;
687 virtual void SAL_CALL enableChangeListenerNotification(
sal_Bool bEnable ) SAL_OVERRIDE;
693 SAL_DELETED_FUNCTION;
An interface to extend event notification actions.
virtual void fireEvents(sal_Int32 *pnHandles, sal_Int32 nCount, sal_Bool bVetoable, bool bIgnoreRuntimeExceptionsWhileFiring)=0
Method to be called by OPropertySetHelper::fire.
~IEventNotificationHook()
This interface is used by the OPropertyHelper, to access the property description.
virtual sal_Bool SAL_CALL fillPropertyMembersByHandle(::rtl::OUString *pPropName, sal_Int16 *pAttributes, sal_Int32 nHandle)=0
Return the property members Name and Attribute from the handle nHandle.
virtual sal_Int32 SAL_CALL fillHandles(sal_Int32 *pHandles, const css::uno::Sequence< ::rtl::OUString > &rPropNames)=0
Fill the array with the handles of the properties.
virtual sal_Bool SAL_CALL hasPropertyByName(const ::rtl::OUString &rPropertyName)=0
Return true if the property with the name rPropertyName exist, otherwise false.
virtual sal_Int32 SAL_CALL getHandleByName(const ::rtl::OUString &rPropertyName)=0
Return the handle of the property with the name rPropertyName.
virtual css::uno::Sequence< css::beans::Property > SAL_CALL getProperties()=0
Return the sequence of properties.
virtual css::beans::Property SAL_CALL getPropertyByName(const ::rtl::OUString &rPropertyName)=0
Return the property with the name rPropertyName.
A container of interfaces.
Specialized class for key type sal_Int32, without explicit usage of STL symbols.
OMultiTypeInterfaceContainerHelperInt32(::osl::Mutex &rMutex)
Create a container of interface containers.
OMultiTypeInterfaceContainerHelperInt32(const OMultiTypeInterfaceContainerHelperInt32 &) SAL_DELETED_FUNCTION
You can use this helper class to map a XPropertySet-Interface to a XFast- or a XMultiPropertySet inte...
OPropertyArrayHelper(const css::uno::Sequence< css::beans::Property > &aProps, sal_Bool bSorted=true)
Create an object which supports the common property interfaces.
OPropertyArrayHelper(css::beans::Property *pProps, sal_Int32 nElements, sal_Bool bSorted=true)
Create an object which supports the common property interfaces.
OPropertySetHelper plus XPropertySetOption.
OPropertySetHelper2(const OPropertySetHelper2 &) SAL_DELETED_FUNCTION
This abstract class maps the methods of the interfaces XMultiPropertySet, XFastPropertySet and XPrope...
virtual void SAL_CALL addVetoableChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not constrained.
virtual void SAL_CALL addPropertyChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not bound.
void SAL_CALL setFastPropertyValues(sal_Int32 nSeqLen, sal_Int32 *pHandles, const css::uno::Any *pValues, sal_Int32 nHitCount)
Set multiple properties with the handles.
virtual void SAL_CALL removeVetoableChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not constrained.
virtual void SAL_CALL setFastPropertyValue(sal_Int32 nHandle, const css::uno::Any &rValue) SAL_OVERRIDE
Throw UnknownPropertyException or PropertyVetoException if the property with the name rPropertyName d...
Impl *const m_pReserved
reserved for future use.
virtual void SAL_CALL setPropertyValue(const ::rtl::OUString &rPropertyName, const css::uno::Any &aValue) SAL_OVERRIDE
Throw UnknownPropertyException or PropertyVetoException if the property with the name rPropertyName d...
virtual IPropertyArrayHelper &SAL_CALL getInfoHelper()=0
This abstract method must return the name to index table.
OPropertySetHelper(const OPropertySetHelper &) SAL_DELETED_FUNCTION
OMultiTypeInterfaceContainerHelperInt32 aBoundLC
Container for the XPropertyChangedListener.
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue)=0
The same as setFastPropertyValue; nHandle is always valid.
virtual void SAL_CALL addPropertiesChangeListener(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
virtual css::uno::Any SAL_CALL getPropertyValue(const ::rtl::OUString &aPropertyName) SAL_OVERRIDE
Throw UnknownPropertyException if the property with the name rPropertyName does not exist.
OBroadcastHelper & rBHelper
The common data of a broadcaster.
OMultiTypeInterfaceContainerHelperInt32 aVetoableLC
Container for the XPropertyVetoableListener.
virtual void SAL_CALL removePropertiesChangeListener(const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
void impl_fireAll(sal_Int32 *i_handles, const css::uno::Any *i_newValues, const css::uno::Any *i_oldValues, sal_Int32 i_count)
notifies the given changes in property's values, plus all property changes collected during recent |s...
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &rConvertedValue, css::uno::Any &rOldValue, sal_Int32 nHandle, const css::uno::Any &rValue)=0
Converted the value rValue and return the result in rConvertedValue and the old value in rOldValue.
void SAL_CALL fire(sal_Int32 *pnHandles, const css::uno::Any *pNewValues, const css::uno::Any *pOldValues, sal_Int32 nCount, sal_Bool bVetoable)
This method fire events to all registered property listeners.
virtual void SAL_CALL firePropertiesChangeEvent(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
virtual void SAL_CALL setPropertyValues(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Sequence< css::uno::Any > &Values) SAL_OVERRIDE
virtual css::uno::Sequence< css::uno::Any > SAL_CALL getPropertyValues(const css::uno::Sequence< ::rtl::OUString > &PropertyNames) SAL_OVERRIDE
virtual void SAL_CALL removePropertyChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not bound.
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &rValue, sal_Int32 nHandle) const =0
The same as getFastPropertyValue, but return the value through rValue and nHandle is always valid.
#define CPPUHELPER_DLLPUBLIC
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
Compares demanded type to given template argument types.
Sequence< Property > aInfos
This struct contains the standard variables of a broadcaster.
bool operator()(const sal_Int32 &i1, const sal_Int32 &i2) const
size_t operator()(const sal_Int32 &i) const