diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-11-21 12:07:29 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-11-21 15:47:48 +0100 |
commit | c33b0e928e07387bf60708be3f3dc07d9840663c (patch) | |
tree | 833183c8f6a2ecbd9d62a226a93214aba37acd03 | |
parent | dc2010964fb8d18d5c4fe96172ee082276a1e587 (diff) |
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.grandin@collabora.co.uk>
-rw-r--r-- | framework/inc/uifactory/factoryconfiguration.hxx | 6 | ||||
-rw-r--r-- | framework/source/uifactory/factoryconfiguration.cxx | 28 |
2 files changed, 16 insertions, 18 deletions
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; |