From 9dcd333d8f7ac35cadffd03325a0f72933a0dcc7 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Sun, 23 Aug 2015 13:51:45 +0300 Subject: server: started first downloader module implementation added api to get core settings downloads_dir in config --- server/src/api_core.cpp | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) (limited to 'server/src/api_core.cpp') diff --git a/server/src/api_core.cpp b/server/src/api_core.cpp index 66df614..b407928 100644 --- a/server/src/api_core.cpp +++ b/server/src/api_core.cpp @@ -30,7 +30,6 @@ extern runtime_config_s runtime_config; bool core_api::metadata_set(module_base *m, const std::string &setting_name, const std::vector &data) { - //TODO: respect per module metadata modules definition //print data /* std::cout<<"printing data in core set api:\n"; for(auto i = data.begin(), end = data.end(); i != end; ++i) @@ -44,27 +43,51 @@ bool core_api::metadata_set(module_base *m, const std::string &setting_name, con bool core_api::metadata_get(module_base *m, const std::string &setting_name, std::vector &data) { - //TODO runtime_config.default_metadata_storage->get(m->get_module_info().name, setting_name, data); return true; } bool core_api::metadata_remove(module_base *m, const std::string &setting_name) { - //TODO runtime_config.default_metadata_storage->remove(m->get_module_info().name, setting_name); return true; } std::map core_api::get_module_settings(module_base *m) { - //TODO: std::map settings; std::string module = "modules."; module += m->get_module_info().name; - for(auto i = runtime_config.config_file.get_child(module).begin(), end = runtime_config.config_file.get_child(module).end(); i != end; ++i) + try{ + for(auto i : runtime_config.config_file.get_child(module)) { - settings[i->first] = i->second.get_value(""); + settings[i.first] = i.second.get_value(""); + } + } + catch(...) + { + //TODO: } return settings; } + + +std::map core_api::get_core_settings() +{ + std::map settings_; + try{ + for(auto it : runtime_config.config_file.get_child("server")) //load server node + { + std::string val = it.second.get_value("empty_value"); //TODO: something better here. we need to avoid subtrees and empty vars + if(val == "" || val == "empty_value") + continue; + + settings_[it.first] = it.second.get_value(""); + } + } + catch(...) + { + //TODO: + } + return settings_; +} -- cgit v1.2.3