From 450851a176edef998729d049a133cd22ed7d5b4a Mon Sep 17 00:00:00 2001 From: Daniele Sciascia Date: Tue, 20 May 2025 08:41:18 +0200 Subject: [PATCH] Change provider_options callback to take a const reference --- include/wsrep/provider.hpp | 13 +++++++------ include/wsrep/server_state.hpp | 4 ++-- src/provider.cpp | 6 +++--- src/server_state.cpp | 3 ++- test/mock_server_state.hpp | 2 +- 5 files changed, 15 insertions(+), 13 deletions(-) diff --git a/include/wsrep/provider.hpp b/include/wsrep/provider.hpp index 918cdd7..c8d27cd 100644 --- a/include/wsrep/provider.hpp +++ b/include/wsrep/provider.hpp @@ -526,12 +526,13 @@ namespace wsrep * @param provider_options Initial options to provider * @param thread_service Optional thread service implementation. */ - static std::unique_ptr make_provider( - wsrep::server_state&, - const std::string& provider_spec, - const std::function& provider_options_cb, - const wsrep::provider::services& services - = wsrep::provider::services()); + static std::unique_ptr + make_provider(wsrep::server_state&, const std::string& provider_spec, + const std::function& + provider_options_cb, + const wsrep::provider::services& services + = wsrep::provider::services()); + protected: wsrep::server_state& server_state_; }; diff --git a/include/wsrep/server_state.hpp b/include/wsrep/server_state.hpp index fc9b571..0d72340 100644 --- a/include/wsrep/server_state.hpp +++ b/include/wsrep/server_state.hpp @@ -297,7 +297,7 @@ namespace wsrep * @return Zero on success, non-zero on error. */ int load_provider(const std::string& provider, - const std::function&, + const std::function&, const wsrep::provider::services& services = wsrep::provider::services()); @@ -320,7 +320,7 @@ namespace wsrep = wsrep::provider::services()) { return load_provider( - provider, [options](provider_options&) { return options; }, + provider, [options](const provider_options&) { return options; }, services); } diff --git a/src/provider.cpp b/src/provider.cpp index efa5db1..05cc03a 100644 --- a/src/provider.cpp +++ b/src/provider.cpp @@ -28,9 +28,9 @@ #include std::unique_ptr wsrep::provider::make_provider( - wsrep::server_state& server_state, - const std::string& provider_spec, - const std::function& provider_options_cb, + wsrep::server_state& server_state, const std::string& provider_spec, + const std::function& + provider_options_cb, const wsrep::provider::services& services) { try diff --git a/src/server_state.cpp b/src/server_state.cpp index 0333f95..8fa8f78 100644 --- a/src/server_state.cpp +++ b/src/server_state.cpp @@ -500,7 +500,8 @@ static int apply_toi(wsrep::provider& provider, int wsrep::server_state::load_provider( const std::string& provider_spec, - const std::function& provider_options_cb, + const std::function& + provider_options_cb, const wsrep::provider::services& services) { wsrep::log_info() << "Loading provider " << provider_spec diff --git a/test/mock_server_state.hpp b/test/mock_server_state.hpp index 565d754..9e7dec7 100644 --- a/test/mock_server_state.hpp +++ b/test/mock_server_state.hpp @@ -263,7 +263,7 @@ namespace wsrep { set_provider_factory( [&](wsrep::server_state&, const std::string&, - const std::function&, + const std::function&, const wsrep::provider::services&) { // The provider object is destroyed upon server state