From 3a1b6eea2bd83e97466492f20067b9ed78210a1a Mon Sep 17 00:00:00 2001 From: Charles Dang Date: Wed, 15 Feb 2017 20:58:31 +1100 Subject: [PATCH] Made get_addon_pbl_info return its own config object --- src/addon/client.cpp | 3 +-- src/addon/manager.cpp | 5 ++++- src/addon/manager.hpp | 4 +--- src/addon/manager_ui.cpp | 3 +-- src/addon/state.cpp | 3 +-- src/gui/dialogs/addon/manager.cpp | 3 +-- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/addon/client.cpp b/src/addon/client.cpp index 8f50a6eb14d4..592fbc0751ca 100644 --- a/src/addon/client.cpp +++ b/src/addon/client.cpp @@ -157,8 +157,7 @@ bool addons_client::delete_remote_addon(const std::string& id, std::string& resp { response_message.clear(); - config cfg; - get_addon_pbl_info(id, cfg); + config cfg = get_addon_pbl_info(id); utils::string_map i18n_symbols; i18n_symbols["addon_title"] = cfg["title"]; diff --git a/src/addon/manager.cpp b/src/addon/manager.cpp index b4e57da44221..d16197c13ca0 100644 --- a/src/addon/manager.cpp +++ b/src/addon/manager.cpp @@ -79,8 +79,9 @@ bool have_addon_pbl_info(const std::string& addon_name) return filesystem::file_exists(get_pbl_file_path(addon_name)); } -void get_addon_pbl_info(const std::string& addon_name, config& cfg) +config get_addon_pbl_info(const std::string& addon_name) { + config cfg; const std::string& pbl_path = get_pbl_file_path(addon_name); try { filesystem::scoped_istream stream = filesystem::istream_file(pbl_path); @@ -88,6 +89,8 @@ void get_addon_pbl_info(const std::string& addon_name, config& cfg) } catch(const config::error& e) { throw invalid_pbl_exception(pbl_path, e.message); } + + return cfg; } void set_addon_pbl_info(const std::string& addon_name, const config& cfg) diff --git a/src/addon/manager.hpp b/src/addon/manager.hpp index ce4cc76f8463..1e69065a871c 100644 --- a/src/addon/manager.hpp +++ b/src/addon/manager.hpp @@ -65,13 +65,11 @@ bool have_addon_in_vcs_tree(const std::string& addon_name); * Gets the publish information for an add-on. * * @param addon_name The add-on's main directory/file name. - * @param cfg A config object to store the add-on's - * properties. * * @exception invalid_pbl_exception If it is not possible to read the .pbl file * (often due to invalid WML). */ -void get_addon_pbl_info(const std::string& addon_name, class config& cfg); +config get_addon_pbl_info(const std::string& addon_name); /** * Sets the publish information for an add-on diff --git a/src/addon/manager_ui.cpp b/src/addon/manager_ui.cpp index e6ca8b1f62b0..f3f542eec530 100644 --- a/src/addon/manager_ui.cpp +++ b/src/addon/manager_ui.cpp @@ -143,8 +143,7 @@ void do_remote_addon_publish(CVideo& video, addons_client& client, const std::st { std::string server_msg; - config cfg; - get_addon_pbl_info(addon_id, cfg); + config cfg = get_addon_pbl_info(addon_id); const version_info& version_to_publish = cfg["version"].str(); diff --git a/src/addon/state.cpp b/src/addon/state.cpp index f25b981a8a30..fae27dc9342f 100644 --- a/src/addon/state.cpp +++ b/src/addon/state.cpp @@ -33,8 +33,7 @@ addon_tracking_info get_addon_tracking_info(const addon_info& addon) if(is_addon_installed(id)) { if(t.can_publish) { // Try to obtain the version number from the .pbl first. - config pbl; - get_addon_pbl_info(id, pbl); + config pbl = get_addon_pbl_info(id); if(pbl.has_attribute("version")) { t.installed_version = pbl["version"].str(); diff --git a/src/gui/dialogs/addon/manager.cpp b/src/gui/dialogs/addon/manager.cpp index 3903539697b9..04e27a9b8a41 100644 --- a/src/gui/dialogs/addon/manager.cpp +++ b/src/gui/dialogs/addon/manager.cpp @@ -566,8 +566,7 @@ void addon_manager::do_remote_addon_publish(const std::string& addon_id, window& { std::string server_msg; - config cfg; - get_addon_pbl_info(addon_id, cfg); + config cfg = get_addon_pbl_info(addon_id); const version_info& version_to_publish = cfg["version"].str();