summaryrefslogtreecommitdiff
path: root/server/src/modules_handler.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-28 21:21:02 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-28 21:21:02 +0300
commit6f3f670abe3d2d78a13cd3862e3a587dd4fe4e85 (patch)
tree0d681fd23bf2e70e385d053aee1e54dbe08668b1 /server/src/modules_handler.cpp
parentba8247eaf522e8a129b7fbbf09a6fab010746e3a (diff)
protocol:
typo fix added description to setting_info server: api: using structure with setting info instead of hust string for just value (a bit of necessary complication) renamed few structs to avoid collision with protobuf ones defined few module variables in api itself (a bit of simplification for module developer) modules: adapted to api changes
Diffstat (limited to 'server/src/modules_handler.cpp')
-rw-r--r--server/src/modules_handler.cpp29
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()