summaryrefslogtreecommitdiff
path: root/server/src/server_session.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-28 21:33:25 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-28 21:33:25 +0300
commit04cbe5f2816f75c84738c35703df2e3671ab0ee8 (patch)
treefd88241ebd2d9b769d5a2ef39947501da4659604 /server/src/server_session.cpp
parent6f3f670abe3d2d78a13cd3862e3a587dd4fe4e85 (diff)
server:
sending also metadata modules info
Diffstat (limited to 'server/src/server_session.cpp')
-rw-r--r--server/src/server_session.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp
index 3affc5f..2b80e6a 100644
--- a/server/src/server_session.cpp
+++ b/server/src/server_session.cpp
@@ -197,6 +197,29 @@ void server_session::handle_command(client_msg *msg)
for(auto i : modules->get_downloader_modules())
{
module_info *mi = msg.add_server_modules_reply();
+ mi->set_type(SERVER_MODULE_TYPE::SERVER_MODULE_DOWNLOADER);
+ mi->set_name(i->get_module_info().name);
+ mi->set_description(i->get_module_info().description);
+ mi->set_version(i->get_module_info().version);
+ for(auto ms : i->get_runtime_module_settings())
+ {
+ setting *msi = mi->add_settings();
+ msi->set_name(ms.first);
+ msi->set_value(ms.second.value);
+ for(auto di : ms.second.info.dependencies)
+ msi->mutable_info()->add_dependencies(di);
+ for(auto bi : ms.second.info.blockers)
+ msi->mutable_info()->add_blockers(bi);
+ msi->mutable_info()->set_default_value(ms.second.info.default_value);
+ msi->mutable_info()->set_minimal_value(ms.second.info.minimal_value);
+ msi->mutable_info()->set_maximal_value(ms.second.info.maximal_value);
+ msi->mutable_info()->set_description(ms.second.info.description);
+ }
+ }
+ for(auto i : modules->get_metadata_modules())
+ {
+ module_info *mi = msg.add_server_modules_reply();
+ mi->set_type(SERVER_MODULE_TYPE::SERVER_MODULE_METADATA_STORAGE);
mi->set_name(i->get_module_info().name);
mi->set_description(i->get_module_info().description);
mi->set_version(i->get_module_info().version);