diff options
Diffstat (limited to 'server/src/modules_handler.cpp')
-rw-r--r-- | server/src/modules_handler.cpp | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/server/src/modules_handler.cpp b/server/src/modules_handler.cpp index 32c3b9f..6d351bb 100644 --- a/server/src/modules_handler.cpp +++ b/server/src/modules_handler.cpp @@ -137,7 +137,7 @@ std::string modules_handler::list_modules_single_type_internal(const std::list<m buf += "\n\t\t"; buf += i1.first; buf += " = "; - buf += i1.second; + buf += i1.second.value; } } buf += "\n\n"; @@ -147,12 +147,13 @@ std::string modules_handler::list_modules_single_type_internal(const std::list<m void modules_handler::sync_module_settings(module_base *m) { + //update config file with available modules settings for(auto i : m->get_module_info().default_settings) { std::string setting = "modules." + m->get_module_info().name + "." + i.first; - std::string current_val = runtime_config.config_file.get<std::string>(setting, "not set"), default_val = i.second; - if(current_val == "not set" || current_val != default_val) - runtime_config.config_file.put(setting, i.second); + std::string current_val = runtime_config.config_file.get<std::string>(setting, "not set"); + if(current_val == "not set") + runtime_config.config_file.put(setting, i.second.value); } } @@ -177,24 +178,24 @@ void modules_handler::load_modules() void modules_handler::on_modules_loaded() { - for(auto i = metadata_modules.begin(), end = metadata_modules.end(); i != end; ++i) + for(auto i : metadata_modules) { - if(!(*i)->get_module_info().on_modules_loaded.empty()) - (*i)->get_module_info().on_modules_loaded(); + if(!i->get_module_info().on_modules_loaded.empty()) + i->get_module_info().on_modules_loaded(); } - for(auto i = downloader_modules.begin(), end = downloader_modules.end(); i != end; ++i) + for(auto i : downloader_modules) { - if(!(*i)->get_module_info().on_modules_loaded.empty()) - (*i)->get_module_info().on_modules_loaded(); + if(!i->get_module_info().on_modules_loaded.empty()) + i->get_module_info().on_modules_loaded(); } } void modules_handler::load_modules_settings() { - for(auto i = metadata_modules.begin(), end = metadata_modules.end(); i != end; ++i) - (*i)->set_module_settings(module_api->get_module_settings(*i)); - for(auto i = downloader_modules.begin(), end = downloader_modules.end(); i != end; ++i) - (*i)->set_module_settings(module_api->get_module_settings(*i)); + for(auto i : metadata_modules) + i->set_module_settings(module_api->get_module_settings(i)); + for(auto i : downloader_modules) + i->set_module_settings(module_api->get_module_settings(i)); } std::list<module_base*> &modules_handler::get_metadata_modules() |