summaryrefslogtreecommitdiff
path: root/server/modules/metadata
diff options
context:
space:
mode:
Diffstat (limited to 'server/modules/metadata')
-rw-r--r--server/modules/metadata/flat_files/main.cpp13
-rw-r--r--server/modules/metadata/flat_files/main.h1
2 files changed, 14 insertions, 0 deletions
diff --git a/server/modules/metadata/flat_files/main.cpp b/server/modules/metadata/flat_files/main.cpp
index d0e1040..5fe2182 100644
--- a/server/modules/metadata/flat_files/main.cpp
+++ b/server/modules/metadata/flat_files/main.cpp
@@ -163,6 +163,19 @@ bool storage_impl::remove(const std::string &module_name, const std::string &set
return true;
}
+std::list<std::string> storage_impl::setting_list(const std::string &module_name)
+{
+ std::list<std::string> l;
+ std::string settings_dir = parsed_data_path;
+ settings_dir += "/";
+ settings_dir += module_name;
+ for(auto i = boost::filesystem::directory_iterator(settings_dir), end = boost::filesystem::directory_iterator(); i != end; ++i)
+ {
+ l.push_back(i->path().string().substr(settings_dir.length() + 1));
+ }
+ return l;
+}
+
storage_impl::storage_impl()
{
}
diff --git a/server/modules/metadata/flat_files/main.h b/server/modules/metadata/flat_files/main.h
index 3d228f4..df62488 100644
--- a/server/modules/metadata/flat_files/main.h
+++ b/server/modules/metadata/flat_files/main.h
@@ -38,6 +38,7 @@ class storage_impl: public module_metadata_storage
bool set(const std::string &module_name, const std::string &setting_name, const std::vector<char> &data);
bool get(const std::string &module_name, const std::string &setting_name, std::vector<char> &data);
bool remove(const std::string &module_name, const std::string &setting_name);
+ std::list<std::string> setting_list(const std::string &module_name);
private:
void on_modules_loaded();