framework/inc/uifactory/factoryconfiguration.hxx    |    6 ++--
 framework/source/uifactory/factoryconfiguration.cxx |   28 ++++++++------------
 2 files changed, 16 insertions(+), 18 deletions(-)

New commits:
commit c33b0e928e07387bf60708be3f3dc07d9840663c
Author:     Noel Grandin <noelgran...@gmail.com>
AuthorDate: Sun Nov 21 12:07:29 2021 +0200
Commit:     Noel Grandin <noel.gran...@collabora.co.uk>
CommitDate: Sun Nov 21 15:47:48 2021 +0100

    osl::Mutex->std::mutex in ConfigurationAccess_ControllerFactory
    
    Change-Id: I2e526ff2dc9f02850bd9fc510c63b5d9db24af58
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125619
    Tested-by: Jenkins
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>

diff --git a/framework/inc/uifactory/factoryconfiguration.hxx 
b/framework/inc/uifactory/factoryconfiguration.hxx
index 1ba2a622c74c..9cfed290f3ce 100644
--- a/framework/inc/uifactory/factoryconfiguration.hxx
+++ b/framework/inc/uifactory/factoryconfiguration.hxx
@@ -27,6 +27,7 @@
 #include <cppuhelper/implbase.hxx>
 #include <rtl/ustring.hxx>
 
+#include <mutex>
 #include <string_view>
 #include <unordered_map>
 
@@ -45,7 +46,6 @@ public:
     virtual       ~ConfigurationAccess_ControllerFactory() override;
 
     void          readConfigurationData();
-    void          updateConfigurationData();
 
     OUString getServiceFromCommandModule( std::u16string_view rCommandURL, 
std::u16string_view rModule ) const;
     OUString getValueFromCommandModule( std::u16string_view rCommandURL, 
std::u16string_view rModule ) const;
@@ -61,6 +61,8 @@ public:
     virtual void SAL_CALL disposing( const css::lang::EventObject& Source ) 
override;
 
 private:
+    void          updateConfigurationDataImpl();
+
     struct ControllerInfo
     {
         OUString m_aImplementationName;
@@ -75,7 +77,7 @@ private:
 
     bool impl_getElementProps( const css::uno::Any& aElement, OUString& 
aCommand, OUString& aModule, OUString& aServiceSpecifier,OUString& aValue ) 
const;
 
-    mutable osl::Mutex           m_mutex;
+    mutable std::mutex           m_mutex;
     OUString                     m_aPropCommand;
     OUString                     m_aPropModule;
     OUString                     m_aPropController;
diff --git a/framework/source/uifactory/factoryconfiguration.cxx 
b/framework/source/uifactory/factoryconfiguration.cxx
index c0c75db7bba8..d27cdb145dbd 100644
--- a/framework/source/uifactory/factoryconfiguration.cxx
+++ b/framework/source/uifactory/factoryconfiguration.cxx
@@ -66,7 +66,7 @@ 
ConfigurationAccess_ControllerFactory::ConfigurationAccess_ControllerFactory( co
 
 ConfigurationAccess_ControllerFactory::~ConfigurationAccess_ControllerFactory()
 {
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     Reference< XContainer > xContainer( m_xConfigAccess, UNO_QUERY );
     if ( xContainer.is() )
@@ -75,7 +75,7 @@ 
ConfigurationAccess_ControllerFactory::~ConfigurationAccess_ControllerFactory()
 
 OUString ConfigurationAccess_ControllerFactory::getServiceFromCommandModule( 
std::u16string_view rCommandURL, std::u16string_view rModule ) const
 {
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
     MenuControllerMap::const_iterator pIter = m_aMenuControllerMap.find( 
getHashKeyFromStrings( rCommandURL, rModule ));
 
     if ( pIter != m_aMenuControllerMap.end() )
@@ -94,7 +94,7 @@ OUString 
ConfigurationAccess_ControllerFactory::getServiceFromCommandModule( std
 }
 OUString ConfigurationAccess_ControllerFactory::getValueFromCommandModule( 
std::u16string_view rCommandURL, std::u16string_view rModule ) const
 {
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     MenuControllerMap::const_iterator pIter = m_aMenuControllerMap.find( 
getHashKeyFromStrings( rCommandURL, rModule ));
 
@@ -118,7 +118,7 @@ void 
ConfigurationAccess_ControllerFactory::addServiceToCommandModule(
     std::u16string_view rModule,
     const OUString& rServiceSpecifier )
 {
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     OUString aHashKey = getHashKeyFromStrings( rCommandURL, rModule );
     m_aMenuControllerMap.emplace( 
aHashKey,ControllerInfo(rServiceSpecifier,OUString()) );
@@ -128,7 +128,7 @@ void 
ConfigurationAccess_ControllerFactory::removeServiceFromCommandModule(
     std::u16string_view rCommandURL,
     std::u16string_view rModule )
 {
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     OUString aHashKey = getHashKeyFromStrings( rCommandURL, rModule );
     m_aMenuControllerMap.erase( aHashKey );
@@ -142,7 +142,7 @@ void SAL_CALL 
ConfigurationAccess_ControllerFactory::elementInserted( const Cont
     OUString   aService;
     OUString   aValue;
 
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     if ( impl_getElementProps( aEvent.Element, aCommand, aModule, aService, 
aValue ))
     {
@@ -162,7 +162,7 @@ void SAL_CALL 
ConfigurationAccess_ControllerFactory::elementRemoved ( const Cont
     OUString   aService;
     OUString   aValue;
 
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
 
     if ( impl_getElementProps( aEvent.Element, aCommand, aModule, aService, 
aValue ))
     {
@@ -182,14 +182,14 @@ void SAL_CALL 
ConfigurationAccess_ControllerFactory::elementReplaced( const Cont
 void SAL_CALL ConfigurationAccess_ControllerFactory::disposing( const 
EventObject& )
 {
     // remove our reference to the config access
-    osl::MutexGuard g(m_mutex);
+    std::unique_lock g(m_mutex);
     m_xConfigAccess.clear();
 }
 
 void ConfigurationAccess_ControllerFactory::readConfigurationData()
 {
     // SAFE
-    osl::ClearableMutexGuard aLock( m_mutex );
+    std::unique_lock aLock( m_mutex );
 
     if ( !m_bConfigAccessInitialized )
     {
@@ -212,11 +212,11 @@ void 
ConfigurationAccess_ControllerFactory::readConfigurationData()
         return;
 
     // Read and update configuration data
-    updateConfigurationData();
+    updateConfigurationDataImpl();
 
     uno::Reference< container::XContainer > xContainer( m_xConfigAccess, 
uno::UNO_QUERY );
     // UNSAFE
-    aLock.clear();
+    aLock.unlock();
 
     if ( xContainer.is() )
     {
@@ -225,12 +225,8 @@ void 
ConfigurationAccess_ControllerFactory::readConfigurationData()
     }
 }
 
-void ConfigurationAccess_ControllerFactory::updateConfigurationData()
+void ConfigurationAccess_ControllerFactory::updateConfigurationDataImpl()
 {
-    osl::MutexGuard g(m_mutex);
-    if ( !m_xConfigAccess.is() )
-        return;
-
     const Sequence< OUString > aPopupMenuControllers = 
m_xConfigAccess->getElementNames();
 
     OUString aCommand;

Reply via email to