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 )
 
 
   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;
 
   91        const ::rtl::OUString& rPropertyName ) = 0;
 
  102    virtual sal_Int32 SAL_CALL 
getHandleByName( const ::rtl::OUString & rPropertyName ) = 0;
 
 
  128        css::beans::Property *pProps,
 
  129        sal_Int32 nElements ,
 
  188        sal_Int32 * pHandles, const 
css::uno::Sequence< ::
rtl::OUString > & rPropNames ) 
SAL_OVERRIDE;
 
  199    css::uno::Sequence< 
css::beans::Property > aInfos;
 
 
  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 )
 
 
  234    static void * SAL_CALL 
operator new( size_t, 
void * pMem )
 
 
  236    static void SAL_CALL 
operator delete( 
void *, 
void * )
 
 
  272        const sal_Int32 & rKey,
 
  283        const sal_Int32 & rKey,
 
 
  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);
 
  450        const ::rtl::OUString& aPropertyName,
 
  455        const ::rtl::OUString& aPropertyName,
 
  456        const css::uno::Reference < css::beans::XPropertyChangeListener >& aListener) 
SAL_OVERRIDE;
 
  460        const ::rtl::OUString& aPropertyName,
 
  465        const ::rtl::OUString& aPropertyName,
 
  505    static css::uno::Reference < css::beans::XPropertySetInfo > SAL_CALL
 
  518        sal_Int32 * pnHandles,
 
  535        sal_Int32 * pHandles,
 
  537        sal_Int32 nHitCount );
 
  595        sal_Int32 nHandle ) 
const = 0;
 
  646                sal_Int32* i_handles,
 
 
  671                            public css::beans::XPropertySetOption
 
  681        bool bIgnoreRuntimeExceptionsWhileFiring = 
false);
 
 
#define SAL_DELETED_FUNCTION
short-circuit extra-verbose API namespaces
Definition types.h:396
unsigned char sal_Bool
Definition types.h:38
#define SAL_OVERRIDE
C++11 "override" feature.
Definition types.h:409
#define SAL_WARN_UNUSED
Annotate classes where a compiler should warn if an instance is unused.
Definition types.h:611
SAL_DLLPUBLIC void rtl_freeMemory(void *Ptr) SAL_THROW_EXTERN_C()
Free memory.
#define CPPUHELPER_DLLPUBLIC
Definition cppuhelperdllapi.h:32
Definition bootstrap.hxx:34
Definition Enterable.hxx:31
OBroadcastHelperVar< OMultiTypeInterfaceContainerHelper, OMultiTypeInterfaceContainerHelper::keyType > OBroadcastHelper
Definition interfacecontainer.h:608
This String class provides base functionality for C++ like Unicode character array handling.
Definition ustring.hxx:172
A mutual exclusion synchronization object.
Definition mutex.hxx:35
A container of interfaces.
Definition interfacecontainer.h:132
This interface is used by the OPropertyHelper, to access the property description.
Definition propshlp.hxx:51
virtual sal_Bool hasPropertyByName(const ::rtl::OUString &rPropertyName)=0
Return true if the property with the name rPropertyName exist, otherwise false.
virtual css::beans::Property getPropertyByName(const ::rtl::OUString &rPropertyName)=0
Return the property with the name rPropertyName.
virtual ~IPropertyArrayHelper()
Following the rule, the first virtual method implies a virtual destructor.
virtual sal_Bool 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 fillHandles(sal_Int32 *pHandles, const css::uno::Sequence< ::rtl::OUString > &rPropNames)=0
Fill the array with the handles of the properties.
virtual css::uno::Sequence< css::beans::Property > getProperties()=0
Return the sequence of properties.
virtual sal_Int32 getHandleByName(const ::rtl::OUString &rPropertyName)=0
Return the handle of the property with the name rPropertyName.
sal_Int32 getCount() const
Return the number of properties.
virtual sal_Int32 fillHandles(sal_Int32 *pHandles, const css::uno::Sequence< ::rtl::OUString > &rPropNames) SAL_OVERRIDE
Fill the array with the handles of the properties.
OPropertyArrayHelper(const css::uno::Sequence< css::beans::Property > &aProps, sal_Bool bSorted=true)
Create an object which supports the common property interfaces.
virtual css::uno::Sequence< css::beans::Property > getProperties() SAL_OVERRIDE
Return the sequence of properties.
OPropertyArrayHelper(css::beans::Property *pProps, sal_Int32 nElements, sal_Bool bSorted=true)
Create an object which supports the common property interfaces.
virtual css::beans::Property getPropertyByName(const ::rtl::OUString &rPropertyName) SAL_OVERRIDE
Return the property with the name rPropertyName.
virtual sal_Bool hasPropertyByName(const ::rtl::OUString &rPropertyName) SAL_OVERRIDE
Return true if the property with the name rPropertyName exist, otherwise false.
void * m_pReserved
reserved for future use.
Definition propshlp.hxx:193
virtual sal_Bool fillPropertyMembersByHandle(::rtl::OUString *pPropName, sal_Int16 *pAttributes, sal_Int32 nHandle) SAL_OVERRIDE
Return the property members Name and Attribute from the handle nHandle.
virtual sal_Int32 getHandleByName(const ::rtl::OUString &rPropertyName) SAL_OVERRIDE
Return the handle of the property with the name rPropertyName.
Definition propshlp.hxx:212
bool operator()(const sal_Int32 &i1, const sal_Int32 &i2) const
Definition propshlp.hxx:213
Definition propshlp.hxx:218
size_t operator()(const sal_Int32 &i) const
Definition propshlp.hxx:219
Specialized class for key type sal_Int32, without explicit usage of STL symbols.
Definition propshlp.hxx:227
sal_Int32 addInterface(const sal_Int32 &rKey, const css::uno::Reference< css::uno::XInterface > &r)
Insert an element in the container specified with the key.
void clear()
Remove all elements of all containers.
css::uno::Sequence< sal_Int32 > getContainedTypes() const
Return all id's under which at least one interface is added.
sal_Int32 keyType
Definition propshlp.hxx:296
~OMultiTypeInterfaceContainerHelperInt32()
Delete all containers.
sal_Int32 removeInterface(const sal_Int32 &rKey, const css::uno::Reference< css::uno::XInterface > &rxIFace)
Remove an element from the container specified with the key.
OMultiTypeInterfaceContainerHelperInt32(::osl::Mutex &rMutex)
Create a container of interface containers.
void disposeAndClear(const css::lang::EventObject &rEvt)
Call disposing on all objects in the container that support XEventListener.
OInterfaceContainerHelper * getContainer(const sal_Int32 &rKey) const
Return the container created under this key.
An interface to extend event notification actions.
Definition propshlp.hxx:309
virtual void fireEvents(sal_Int32 *pnHandles, sal_Int32 nCount, sal_Bool bVetoable, bool bIgnoreRuntimeExceptionsWhileFiring)=0
Method to be called by OPropertySetHelper::fire.
~IEventNotificationHook()
Definition propshlp.hxx:339
virtual sal_Bool 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 setDependentFastPropertyValue(sal_Int32 i_handle, const css::uno::Any &i_value)
sets an dependent property's value
virtual void removeVetoableChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not constrained.
virtual IPropertyArrayHelper & getInfoHelper()=0
This abstract method must return the name to index table.
void setFastPropertyValues(sal_Int32 nSeqLen, sal_Int32 *pHandles, const css::uno::Any *pValues, sal_Int32 nHitCount)
Set multiple properties with the handles.
virtual void firePropertiesChangeEvent(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
virtual css::uno::Sequence< css::uno::Any > getPropertyValues(const css::uno::Sequence< ::rtl::OUString > &PropertyNames) SAL_OVERRIDE
virtual void setPropertyValue(const ::rtl::OUString &rPropertyName, const css::uno::Any &aValue) SAL_OVERRIDE
Throw UnknownPropertyException or PropertyVetoException if the property with the name rPropertyName d...
Impl *const m_pReserved
reserved for future use.
Definition propshlp.hxx:635
~OPropertySetHelper()
You must call disposing before destruction.
virtual void 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.
OMultiTypeInterfaceContainerHelperInt32 aBoundLC
Container for the XPropertyChangedListener.
Definition propshlp.hxx:625
virtual void setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue)=0
The same as setFastPropertyValue; nHandle is always valid.
virtual void setFastPropertyValue(sal_Int32 nHandle, const css::uno::Any &rValue) SAL_OVERRIDE
Throw UnknownPropertyException or PropertyVetoException if the property with the name rPropertyName d...
void disposing()
Send a disposing notification to the listeners in the containers aBoundLC and aVetoableLC.
OBroadcastHelper & rBHelper
The common data of a broadcaster.
Definition propshlp.hxx:621
OPropertySetHelper(OBroadcastHelper &rBHelper, bool bIgnoreRuntimeExceptionsWhileFiring)
Constructor.
virtual css::uno::Any queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
Only returns a reference to XMultiPropertySet, XFastPropertySet, XPropertySet and XEventListener.
virtual css::uno::Any getPropertyValue(const ::rtl::OUString &aPropertyName) SAL_OVERRIDE
Throw UnknownPropertyException if the property with the name rPropertyName does not exist.
OMultiTypeInterfaceContainerHelperInt32 aVetoableLC
Container for the XPropertyVetoableListener.
Definition propshlp.hxx:629
virtual void setPropertyValues(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Sequence< css::uno::Any > &Values) SAL_OVERRIDE
OPropertySetHelper(OBroadcastHelper &rBHelper)
virtual css::uno::Any getFastPropertyValue(sal_Int32 nHandle) SAL_OVERRIDE
virtual void removePropertiesChangeListener(const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
virtual void removePropertyChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not bound.
OPropertySetHelper(OBroadcastHelper &rBHelper, IEventNotificationHook *i_pFireEvents, bool bIgnoreRuntimeExceptionsWhileFiring=false)
Constructor.
void 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 addPropertyChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XPropertyChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not bound.
virtual void addVetoableChangeListener(const ::rtl::OUString &aPropertyName, const css::uno::Reference< css::beans::XVetoableChangeListener > &aListener) SAL_OVERRIDE
Ignored if the property is not constrained.
virtual void addPropertiesChangeListener(const css::uno::Sequence< ::rtl::OUString > &PropertyNames, const css::uno::Reference< css::beans::XPropertiesChangeListener > &Listener) SAL_OVERRIDE
css::uno::Sequence< css::uno::Type > getTypes()
eases implementing XTypeProvider::getTypes, returns the types of XMultiPropertySet,...
static css::uno::Reference< css::beans::XPropertySetInfo > createPropertySetInfo(IPropertyArrayHelper &rProperties)
The property sequence is created in the call.
virtual void enableChangeListenerNotification(sal_Bool bEnable) SAL_OVERRIDE
virtual css::uno::Any queryInterface(const css::uno::Type &rType) SAL_OVERRIDE
Only returns a reference to XMultiPropertySet, XFastPropertySet, XPropertySet and XEventListener.
OPropertySetHelper2(OBroadcastHelper &rBHelper, IEventNotificationHook *i_pFireEvents=NULL, bool bIgnoreRuntimeExceptionsWhileFiring=false)
Constructor.
virtual ~OPropertySetHelper2()
You must call disposing before destruction.
C++ class representing an IDL any.
Definition Any.h:58
C++ class representing an IDL meta type.
Definition Type.h:59