From 0e6e0270d25c4181ed15bd04123e20672f1e3a0b Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Tue, 14 Feb 2023 13:14:14 +0200 Subject: no need to use unique_ptr for OInterfaceContainerHelper4 it has an empty size of one pointer, so it saves no memory to use unique_ptr. Need to fix the const-ness of some methods in OInterfaceContainerHelper4 Change-Id: I0c0c28a228ccfe0e97174fbc83555059fc351b3c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147007 Tested-by: Jenkins Reviewed-by: Noel Grandin --- ucb/source/cacher/contentresultsetwrapper.cxx | 14 +++------ ucb/source/cacher/contentresultsetwrapper.hxx | 4 +-- ucb/source/cacher/dynamicresultsetwrapper.cxx | 13 +++------ ucb/source/cacher/dynamicresultsetwrapper.hxx | 4 +-- ucb/source/core/ucbstore.cxx | 42 ++++++++------------------- ucb/source/core/ucbstore.hxx | 4 +-- 6 files changed, 26 insertions(+), 55 deletions(-) (limited to 'ucb/source') diff --git a/ucb/source/cacher/contentresultsetwrapper.cxx b/ucb/source/cacher/contentresultsetwrapper.cxx index e5917f3fdbc5..14393ff497f4 100644 --- a/ucb/source/cacher/contentresultsetwrapper.cxx +++ b/ucb/source/cacher/contentresultsetwrapper.cxx @@ -299,11 +299,11 @@ void SAL_CALL ContentResultSetWrapper::dispose() aGuard.lock(); isCleared = false; } - if( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength(aGuard) ) + if( m_aDisposeEventListeners.getLength(aGuard) ) { EventObject aEvt; aEvt.Source = static_cast< XComponent * >( this ); - m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); + m_aDisposeEventListeners.disposeAndClear( aGuard, aEvt ); } if( m_pPropertyChangeListeners ) @@ -331,11 +331,7 @@ void SAL_CALL ContentResultSetWrapper::addEventListener( const Reference< XEvent std::unique_lock aGuard( m_aMutex ); impl_EnsureNotDisposed(aGuard); - if ( !m_pDisposeEventListeners ) - m_pDisposeEventListeners.reset( - new OInterfaceContainerHelper4() ); - - m_pDisposeEventListeners->addInterface( aGuard, Listener ); + m_aDisposeEventListeners.addInterface( aGuard, Listener ); } @@ -344,9 +340,7 @@ void SAL_CALL ContentResultSetWrapper::removeEventListener( const Reference< XEv { std::unique_lock aGuard( m_aMutex ); impl_EnsureNotDisposed(aGuard); - - if ( m_pDisposeEventListeners ) - m_pDisposeEventListeners->removeInterface( aGuard, Listener ); + m_aDisposeEventListeners.removeInterface( aGuard, Listener ); } diff --git a/ucb/source/cacher/contentresultsetwrapper.hxx b/ucb/source/cacher/contentresultsetwrapper.hxx index 4c67ca89ef29..4c1ae370ff20 100644 --- a/ucb/source/cacher/contentresultsetwrapper.hxx +++ b/ucb/source/cacher/contentresultsetwrapper.hxx @@ -85,8 +85,8 @@ private: //management of listeners bool m_bDisposed; ///Dispose call ready. bool m_bInDispose;///In dispose call - std::unique_ptr> - m_pDisposeEventListeners; + comphelper::OInterfaceContainerHelper4 + m_aDisposeEventListeners; std::unique_ptr m_pPropertyChangeListeners; std::unique_ptr diff --git a/ucb/source/cacher/dynamicresultsetwrapper.cxx b/ucb/source/cacher/dynamicresultsetwrapper.cxx index 8ad5b53f3055..db881dad492f 100644 --- a/ucb/source/cacher/dynamicresultsetwrapper.cxx +++ b/ucb/source/cacher/dynamicresultsetwrapper.cxx @@ -133,11 +133,11 @@ void SAL_CALL DynamicResultSetWrapper::dispose() xSourceComponent = m_xSource; - if( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength(aGuard) ) + if( m_aDisposeEventListeners.getLength(aGuard) ) { EventObject aEvt; aEvt.Source = static_cast< XComponent * >( this ); - m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); + m_aDisposeEventListeners.disposeAndClear( aGuard, aEvt ); } /* //@todo ?? ( only if java collection needs to long ) @@ -156,11 +156,7 @@ void SAL_CALL DynamicResultSetWrapper::addEventListener( const Reference< XEvent impl_EnsureNotDisposed(); std::unique_lock aGuard( m_aMutex ); - if ( !m_pDisposeEventListeners ) - m_pDisposeEventListeners.reset( - new OInterfaceContainerHelper4() ); - - m_pDisposeEventListeners->addInterface( aGuard, Listener ); + m_aDisposeEventListeners.addInterface( aGuard, Listener ); } @@ -170,8 +166,7 @@ void SAL_CALL DynamicResultSetWrapper::removeEventListener( const Reference< XEv impl_EnsureNotDisposed(); std::unique_lock aGuard( m_aMutex ); - if ( m_pDisposeEventListeners ) - m_pDisposeEventListeners->removeInterface( aGuard, Listener ); + m_aDisposeEventListeners.removeInterface( aGuard, Listener ); } diff --git a/ucb/source/cacher/dynamicresultsetwrapper.hxx b/ucb/source/cacher/dynamicresultsetwrapper.hxx index 66548a64b420..a7917506d874 100644 --- a/ucb/source/cacher/dynamicresultsetwrapper.hxx +++ b/ucb/source/cacher/dynamicresultsetwrapper.hxx @@ -41,8 +41,8 @@ private: //management of listeners bool m_bDisposed; ///Dispose call ready. bool m_bInDispose;///In dispose call - std::unique_ptr> - m_pDisposeEventListeners; + comphelper::OInterfaceContainerHelper4 + m_aDisposeEventListeners; protected: rtl::Reference m_xMyListenerImpl; diff --git a/ucb/source/core/ucbstore.cxx b/ucb/source/core/ucbstore.cxx index 65c0e531e2e2..75ec9aa0a270 100644 --- a/ucb/source/core/ucbstore.cxx +++ b/ucb/source/core/ucbstore.cxx @@ -1053,20 +1053,18 @@ css::uno::Sequence< OUString > SAL_CALL PersistentPropertySet::getSupportedServi void SAL_CALL PersistentPropertySet::dispose() { std::unique_lock l(m_aMutex); - if ( m_pDisposeEventListeners && - m_pDisposeEventListeners->getLength(l) ) + if ( m_aDisposeEventListeners.getLength(l) ) { EventObject aEvt; aEvt.Source = static_cast< XComponent * >( this ); - m_pDisposeEventListeners->disposeAndClear( l, aEvt ); + m_aDisposeEventListeners.disposeAndClear( l, aEvt ); } - if ( m_pPropSetChangeListeners && - m_pPropSetChangeListeners->getLength(l) ) + if ( m_aPropSetChangeListeners.getLength(l) ) { EventObject aEvt; aEvt.Source = static_cast< XPropertySetInfoChangeNotifier * >( this ); - m_pPropSetChangeListeners->disposeAndClear( l, aEvt ); + m_aPropSetChangeListeners.disposeAndClear( l, aEvt ); } if ( m_pPropertyChangeListeners ) @@ -1084,11 +1082,7 @@ void SAL_CALL PersistentPropertySet::addEventListener( { std::unique_lock l(m_aMutex); - if ( !m_pDisposeEventListeners ) - m_pDisposeEventListeners.reset( - new OInterfaceContainerHelper4() ); - - m_pDisposeEventListeners->addInterface( l, Listener ); + m_aDisposeEventListeners.addInterface( l, Listener ); } @@ -1097,8 +1091,7 @@ void SAL_CALL PersistentPropertySet::removeEventListener( const Reference< XEventListener >& Listener ) { std::unique_lock l(m_aMutex); - if ( m_pDisposeEventListeners ) - m_pDisposeEventListeners->removeInterface( l, Listener ); + m_aDisposeEventListeners.removeInterface( l, Listener ); // Note: Don't want to delete empty container here -> performance. } @@ -1431,8 +1424,7 @@ void SAL_CALL PersistentPropertySet::addProperty( m_pInfo->reset(); // Notify propertyset info change listeners. - if ( m_pPropSetChangeListeners && - m_pPropSetChangeListeners->getLength(aGuard) ) + if ( m_aPropSetChangeListeners.getLength(aGuard) ) { PropertySetInfoChangeEvent evt( static_cast< OWeakObject * >( this ), @@ -1556,8 +1548,7 @@ void SAL_CALL PersistentPropertySet::removeProperty( const OUString& Name ) { sal_Int32 nHandle = -1; - if ( m_pPropSetChangeListeners && - m_pPropSetChangeListeners->getLength(aGuard) ) + if ( m_aPropSetChangeListeners.getLength(aGuard) ) { // Obtain property handle ( needed for propertysetinfo // change event )... @@ -1589,8 +1580,7 @@ void SAL_CALL PersistentPropertySet::removeProperty( const OUString& Name ) m_pInfo->reset(); // Notify propertyset info change listeners. - if ( m_pPropSetChangeListeners && - m_pPropSetChangeListeners->getLength(aGuard) ) + if ( m_aPropSetChangeListeners.getLength(aGuard) ) { PropertySetInfoChangeEvent evt( static_cast< OWeakObject * >( this ), @@ -1635,11 +1625,7 @@ void SAL_CALL PersistentPropertySet::addPropertySetInfoChangeListener( { std::unique_lock aGuard(m_aMutex); - if ( !m_pPropSetChangeListeners ) - m_pPropSetChangeListeners.reset( - new OInterfaceContainerHelper4() ); - - m_pPropSetChangeListeners->addInterface( aGuard, Listener ); + m_aPropSetChangeListeners.addInterface( aGuard, Listener ); } @@ -1648,8 +1634,7 @@ void SAL_CALL PersistentPropertySet::removePropertySetInfoChangeListener( const Reference< XPropertySetInfoChangeListener >& Listener ) { std::unique_lock aGuard(m_aMutex); - if ( m_pPropSetChangeListeners ) - m_pPropSetChangeListeners->removeInterface( aGuard, Listener ); + m_aPropSetChangeListeners.removeInterface( aGuard, Listener ); } @@ -1923,11 +1908,8 @@ void PersistentPropertySet::notifyPropertySetInfoChange( std::unique_lock& rGuard, const PropertySetInfoChangeEvent& evt ) const { - if ( !m_pPropSetChangeListeners ) - return; - // Notify event listeners. - m_pPropSetChangeListeners->notifyEach( rGuard, &XPropertySetInfoChangeListener::propertySetInfoChange, evt ); + m_aPropSetChangeListeners.notifyEach( rGuard, &XPropertySetInfoChangeListener::propertySetInfoChange, evt ); } diff --git a/ucb/source/core/ucbstore.hxx b/ucb/source/core/ucbstore.hxx index 5f431fa8ac0d..31de991246ef 100644 --- a/ucb/source/core/ucbstore.hxx +++ b/ucb/source/core/ucbstore.hxx @@ -163,8 +163,8 @@ class PersistentPropertySet : public cppu::WeakImplHelper < OUString m_aKey; OUString m_aFullKey; mutable std::mutex m_aMutex; - std::unique_ptr> m_pDisposeEventListeners; - std::unique_ptr> m_pPropSetChangeListeners; + comphelper::OInterfaceContainerHelper4 m_aDisposeEventListeners; + comphelper::OInterfaceContainerHelper4 m_aPropSetChangeListeners; std::unique_ptr m_pPropertyChangeListeners; private: -- cgit