diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-02-13 14:32:29 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2023-02-13 20:05:33 +0000 |
commit | 45d9d71c3acdde55743bc8c08fc36d44a5bdd5b4 (patch) | |
tree | 4891eed1b288ad5c481a10d6b0f70d06cffa8a3d /ucb | |
parent | af63914153074b127fe3bc7aa90bebe5fbee23d6 (diff) |
osl::Mutex->std::mutex in DynamicResultSetWrapper
Change-Id: I218460fac22e65f583a545d41720b0301b67c502
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146937
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'ucb')
-rw-r--r-- | ucb/source/cacher/cacheddynamicresultset.cxx | 4 | ||||
-rw-r--r-- | ucb/source/cacher/cacheddynamicresultsetstub.cxx | 4 | ||||
-rw-r--r-- | ucb/source/cacher/dynamicresultsetwrapper.cxx | 57 | ||||
-rw-r--r-- | ucb/source/cacher/dynamicresultsetwrapper.hxx | 7 |
4 files changed, 33 insertions, 39 deletions
diff --git a/ucb/source/cacher/cacheddynamicresultset.cxx b/ucb/source/cacher/cacheddynamicresultset.cxx index b3464b66bdcb..acb00ef6799f 100644 --- a/ucb/source/cacher/cacheddynamicresultset.cxx +++ b/ucb/source/cacher/cacheddynamicresultset.cxx @@ -55,7 +55,7 @@ void CachedDynamicResultSet Reference< XResultSet > xCache( new CachedContentResultSet( m_xContext, m_xSourceResultOne, m_xContentIdentifierMapping ) ); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); m_xMyResultOne = xCache; } @@ -69,7 +69,7 @@ void CachedDynamicResultSet Reference< XResultSet > xCache( new CachedContentResultSet( m_xContext, m_xSourceResultTwo, m_xContentIdentifierMapping ) ); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); m_xMyResultTwo = xCache; } diff --git a/ucb/source/cacher/cacheddynamicresultsetstub.cxx b/ucb/source/cacher/cacheddynamicresultsetstub.cxx index dacc037ef228..8d46b6d8236b 100644 --- a/ucb/source/cacher/cacheddynamicresultsetstub.cxx +++ b/ucb/source/cacher/cacheddynamicresultsetstub.cxx @@ -56,7 +56,7 @@ void CachedDynamicResultSetStub Reference< XResultSet > xStub( new CachedContentResultSetStub( m_xSourceResultOne ) ); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); m_xMyResultOne = xStub; } @@ -70,7 +70,7 @@ void CachedDynamicResultSetStub Reference< XResultSet > xStub( new CachedContentResultSetStub( m_xSourceResultTwo ) ); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); m_xMyResultTwo = xStub; } diff --git a/ucb/source/cacher/dynamicresultsetwrapper.cxx b/ucb/source/cacher/dynamicresultsetwrapper.cxx index cf2b4fd9c3dd..8ad5b53f3055 100644 --- a/ucb/source/cacher/dynamicresultsetwrapper.cxx +++ b/ucb/source/cacher/dynamicresultsetwrapper.cxx @@ -61,7 +61,7 @@ void DynamicResultSetWrapper::impl_init() Reference< XDynamicResultSet > xSource; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); xSource = m_xSource; m_xSource = nullptr; } @@ -83,7 +83,7 @@ void DynamicResultSetWrapper::impl_deinit() void DynamicResultSetWrapper::impl_EnsureNotDisposed() { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( m_bDisposed ) throw DisposedException(); } @@ -91,7 +91,7 @@ void DynamicResultSetWrapper::impl_EnsureNotDisposed() //virtual void DynamicResultSetWrapper::impl_InitResultSetOne( const Reference< XResultSet >& xResultSet ) { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); OSL_ENSURE( !m_xSourceResultOne.is(), "Source ResultSet One is set already" ); m_xSourceResultOne = xResultSet; m_xMyResultOne = xResultSet; @@ -100,7 +100,7 @@ void DynamicResultSetWrapper::impl_InitResultSetOne( const Reference< XResultSet //virtual void DynamicResultSetWrapper::impl_InitResultSetTwo( const Reference< XResultSet >& xResultSet ) { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); OSL_ENSURE( !m_xSourceResultTwo.is(), "Source ResultSet Two is set already" ); m_xSourceResultTwo = xResultSet; m_xMyResultTwo = xResultSet; @@ -125,23 +125,19 @@ void SAL_CALL DynamicResultSetWrapper::dispose() { impl_EnsureNotDisposed(); + std::unique_lock aGuard( m_aMutex ); Reference< XComponent > xSourceComponent; - { - osl::ClearableGuard< osl::Mutex > aGuard( m_aMutex ); - if( m_bInDispose || m_bDisposed ) - return; - m_bInDispose = true; - - xSourceComponent = m_xSource; + if( m_bInDispose || m_bDisposed ) + return; + m_bInDispose = true; - if( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength() ) - { - EventObject aEvt; - aEvt.Source = static_cast< XComponent * >( this ); + xSourceComponent = m_xSource; - aGuard.clear(); - m_pDisposeEventListeners->disposeAndClear( aEvt ); - } + if( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength(aGuard) ) + { + EventObject aEvt; + aEvt.Source = static_cast< XComponent * >( this ); + m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); } /* //@todo ?? ( only if java collection needs to long ) @@ -149,7 +145,6 @@ void SAL_CALL DynamicResultSetWrapper::dispose() xSourceComponent->dispose(); */ - osl::Guard< osl::Mutex > aGuard( m_aMutex ); m_bDisposed = true; m_bInDispose = false; } @@ -159,13 +154,13 @@ void SAL_CALL DynamicResultSetWrapper::dispose() void SAL_CALL DynamicResultSetWrapper::addEventListener( const Reference< XEventListener >& Listener ) { impl_EnsureNotDisposed(); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( !m_pDisposeEventListeners ) m_pDisposeEventListeners.reset( - new OInterfaceContainerHelper3<XEventListener>( m_aContainerMutex ) ); + new OInterfaceContainerHelper4<XEventListener>() ); - m_pDisposeEventListeners->addInterface( Listener ); + m_pDisposeEventListeners->addInterface( aGuard, Listener ); } @@ -173,10 +168,10 @@ void SAL_CALL DynamicResultSetWrapper::addEventListener( const Reference< XEvent void SAL_CALL DynamicResultSetWrapper::removeEventListener( const Reference< XEventListener >& Listener ) { impl_EnsureNotDisposed(); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( m_pDisposeEventListeners ) - m_pDisposeEventListeners->removeInterface( Listener ); + m_pDisposeEventListeners->removeInterface( aGuard, Listener ); } @@ -188,7 +183,7 @@ void DynamicResultSetWrapper::impl_disposing( const EventObject& ) { impl_EnsureNotDisposed(); - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( !m_xSource.is() ) return; @@ -219,7 +214,7 @@ void DynamicResultSetWrapper::impl_notify( const ListEvent& Changes ) aNewEvent.Changes = Changes.Changes; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); for( ListAction& rAction : asNonConstRange(aNewEvent.Changes) ) { if (m_bGotWelcome) @@ -274,7 +269,7 @@ void SAL_CALL DynamicResultSetWrapper::setSource( const Reference< XInterface > { impl_EnsureNotDisposed(); { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( m_xSource.is() ) { throw AlreadyInitializedException(); @@ -290,7 +285,7 @@ void SAL_CALL DynamicResultSetWrapper::setSource( const Reference< XInterface > bool bStatic = false; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); m_xSource = xSourceDynamic; xListener = m_xListener; bStatic = m_bStatic; @@ -317,7 +312,7 @@ Reference< XResultSet > SAL_CALL DynamicResultSetWrapper::getStaticResultSet() Reference< XDynamicResultSet > xSource; Reference< XEventListener > xMyListenerImpl; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( m_xListener.is() ) throw ListenerAlreadySetException(); @@ -347,7 +342,7 @@ void SAL_CALL DynamicResultSetWrapper::setListener( const Reference< XDynamicRes Reference< XDynamicResultSet > xSource; Reference< XDynamicResultSetListener > xMyListenerImpl; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if( m_xListener.is() ) throw ListenerAlreadySetException(); if( m_bStatic ) @@ -409,7 +404,7 @@ sal_Int16 SAL_CALL DynamicResultSetWrapper::getCapabilities() m_aSourceSet.wait(); Reference< XDynamicResultSet > xSource; { - osl::Guard< osl::Mutex > aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); xSource = m_xSource; } return xSource->getCapabilities(); diff --git a/ucb/source/cacher/dynamicresultsetwrapper.hxx b/ucb/source/cacher/dynamicresultsetwrapper.hxx index 66aec8194145..66548a64b420 100644 --- a/ucb/source/cacher/dynamicresultsetwrapper.hxx +++ b/ucb/source/cacher/dynamicresultsetwrapper.hxx @@ -22,7 +22,7 @@ #include <mutex> #include <osl/conditn.hxx> #include <cppuhelper/weak.hxx> -#include <comphelper/interfacecontainer3.hxx> +#include <comphelper/interfacecontainer4.hxx> #include <com/sun/star/ucb/XDynamicResultSet.hpp> #include <com/sun/star/ucb/XSourceInitialization.hpp> #include <com/sun/star/ucb/XDynamicResultSetListener.hpp> @@ -41,8 +41,7 @@ private: //management of listeners bool m_bDisposed; ///Dispose call ready. bool m_bInDispose;///In dispose call - osl::Mutex m_aContainerMutex; - std::unique_ptr<comphelper::OInterfaceContainerHelper3<css::lang::XEventListener>> + std::unique_ptr<comphelper::OInterfaceContainerHelper4<css::lang::XEventListener>> m_pDisposeEventListeners; protected: rtl::Reference<DynamicResultSetWrapperListener> @@ -51,7 +50,7 @@ protected: css::uno::Reference< css::uno::XComponentContext > m_xContext; - osl::Mutex m_aMutex; + std::mutex m_aMutex; bool m_bStatic; bool m_bGotWelcome; |