include/ucbhelper/resultsethelper.hxx | 7 ++++--- ucbhelper/source/provider/resultsethelper.cxx | 18 ++++++++---------- 2 files changed, 12 insertions(+), 13 deletions(-)
New commits: commit 580b5227144c6d71b1dc2663fc741ed29f119767 Author: Noel Grandin <noelgran...@gmail.com> AuthorDate: Fri Dec 17 18:43:18 2021 +0200 Commit: Noel Grandin <noel.gran...@collabora.co.uk> CommitDate: Sat Dec 18 18:18:32 2021 +0100 osl::Mutex->std::mutex in ResultSetImplHelper Change-Id: I7567369120593579740e23668d3426a25377a105 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127068 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk> diff --git a/include/ucbhelper/resultsethelper.hxx b/include/ucbhelper/resultsethelper.hxx index 94ab9e1a51de..e929531aa586 100644 --- a/include/ucbhelper/resultsethelper.hxx +++ b/include/ucbhelper/resultsethelper.hxx @@ -21,10 +21,11 @@ #define INCLUDED_UCBHELPER_RESULTSETHELPER_HXX #include <memory> -#include <osl/mutex.hxx> +#include <mutex> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/ucb/XDynamicResultSet.hpp> #include <com/sun/star/ucb/OpenCommandArgument2.hpp> +#include <comphelper/interfacecontainer4.hxx> #include <cppuhelper/implbase.hxx> #include <ucbhelper/ucbhelperdllapi.h> @@ -54,12 +55,12 @@ class UCBHELPER_DLLPUBLIC ResultSetImplHelper : css::lang::XServiceInfo, css::ucb::XDynamicResultSet> { - std::unique_ptr<cppu::OInterfaceContainerHelper> m_pDisposeEventListeners; + std::unique_ptr<comphelper::OInterfaceContainerHelper4<css::lang::XEventListener>> m_pDisposeEventListeners; bool m_bStatic; bool m_bInitDone; protected: - osl::Mutex m_aMutex; + std::mutex m_aMutex; css::ucb::OpenCommandArgument2 m_aCommand; css::uno::Reference< css::uno::XComponentContext > m_xContext; // Resultset #1 diff --git a/ucbhelper/source/provider/resultsethelper.cxx b/ucbhelper/source/provider/resultsethelper.cxx index 5ff9e6c27483..77c901d62ee7 100644 --- a/ucbhelper/source/provider/resultsethelper.cxx +++ b/ucbhelper/source/provider/resultsethelper.cxx @@ -88,13 +88,13 @@ css::uno::Sequence< OUString > SAL_CALL ResultSetImplHelper::getSupportedService // virtual void SAL_CALL ResultSetImplHelper::dispose() { - osl::MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength() ) { lang::EventObject aEvt; aEvt.Source = static_cast< lang::XComponent * >( this ); - m_pDisposeEventListeners->disposeAndClear( aEvt ); + m_pDisposeEventListeners->disposeAndClear( aGuard, aEvt ); } } @@ -103,10 +103,10 @@ void SAL_CALL ResultSetImplHelper::dispose() void SAL_CALL ResultSetImplHelper::addEventListener( const uno::Reference< lang::XEventListener >& Listener ) { - osl::MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( !m_pDisposeEventListeners ) - m_pDisposeEventListeners.reset(new cppu::OInterfaceContainerHelper( m_aMutex )); + m_pDisposeEventListeners.reset(new comphelper::OInterfaceContainerHelper4<css::lang::XEventListener>()); m_pDisposeEventListeners->addInterface( Listener ); } @@ -116,7 +116,7 @@ void SAL_CALL ResultSetImplHelper::addEventListener( void SAL_CALL ResultSetImplHelper::removeEventListener( const uno::Reference< lang::XEventListener >& Listener ) { - osl::MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( m_pDisposeEventListeners ) m_pDisposeEventListeners->removeInterface( Listener ); @@ -130,7 +130,7 @@ void SAL_CALL ResultSetImplHelper::removeEventListener( uno::Reference< sdbc::XResultSet > SAL_CALL ResultSetImplHelper::getStaticResultSet() { - osl::MutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( m_xListener.is() ) throw css::ucb::ListenerAlreadySetException(); @@ -144,7 +144,7 @@ ResultSetImplHelper::getStaticResultSet() void SAL_CALL ResultSetImplHelper::setListener( const uno::Reference< css::ucb::XDynamicResultSetListener >& Listener ) { - osl::ClearableMutexGuard aGuard( m_aMutex ); + std::unique_lock aGuard( m_aMutex ); if ( m_bStatic || m_xListener.is() ) throw css::ucb::ListenerAlreadySetException(); @@ -173,7 +173,7 @@ void SAL_CALL ResultSetImplHelper::setListener( 0, // Count; not used css::ucb::ListActionType::WELCOME, aInfo ) }; - aGuard.clear(); + aGuard.unlock(); Listener->notify( css::ucb::ListEvent( @@ -229,8 +229,6 @@ void SAL_CALL ResultSetImplHelper::connectToCache( void ResultSetImplHelper::init( bool bStatic ) { - osl::MutexGuard aGuard( m_aMutex ); - if ( m_bInitDone ) return;