/* Copyright © 2015 Gluzskiy Alexandr (sss) This file is part of Unknown Download Manager (UDM). UDM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. UDM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with UDM. If not, see . */ #include "api_core.h" #include "main.h" #include "api_module_base.h" #include #include "config.h" 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) { std::cout<<*i; } std::cout<set(m->get_module_info().name, setting_name, data); return true; } 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) { settings[i->first] = i->second.get_value(""); } return settings; }