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;
 

Reply via email to