summaryrefslogtreecommitdiff
path: root/server/src/api_core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/api_core.cpp')
-rw-r--r--server/src/api_core.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/server/src/api_core.cpp b/server/src/api_core.cpp
index 5412624..6cee810 100644
--- a/server/src/api_core.cpp
+++ b/server/src/api_core.cpp
@@ -19,23 +19,41 @@
*/
-#include <api_core.h>
+#include "api_core.h"
+#include "main.h"
+#include "api_module_base.h"
+#include <boost/foreach.hpp>
+extern runtime_config_s runtime_config;
-bool core_api::metadata_set(const module_base *m, const std::string &setting_name, const std::vector<char> &data)
+
+bool core_api::metadata_set(module_base *m, const std::string &setting_name, const std::vector<char> &data)
{
//TODO
return true;
}
-bool core_api::metadata_get(const module_base *m, const std::string &setting_name, std::vector<char> &data)
+bool core_api::metadata_get(module_base *m, const std::string &setting_name, std::vector<char> &data)
{
//TODO
return true;
}
-bool core_api::metadata_remove(const module_base *m, const std::string &setting_name)
+bool core_api::metadata_remove(module_base *m, const std::string &setting_name)
{
//TODO
return true;
}
+
+std::map<std::string, std::string> core_api::get_module_settings(module_base *m)
+{
+ //TODO:
+ std::map<std::string, std::string> 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<std::string>("");
+ }
+ return settings;
+}