summaryrefslogtreecommitdiff
path: root/server/src/server_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/server_session.cpp')
-rw-r--r--server/src/server_session.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp
index 25e7820..64f2cfe 100644
--- a/server/src/server_session.cpp
+++ b/server/src/server_session.cpp
@@ -190,6 +190,40 @@ void server_session::handle_command(client_msg *msg)
send_message(&m);
}
break;
+ case CLIENT_MSG_TYPE::CLIENT_MODULES_REQUEST:
+ {
+ //TODO:
+ }
+ break;
+ case CLIENT_MSG_TYPE::CLIENT_CORE_INFO_REQUEST:
+ {
+ server_msg msg;
+ msg.set_type(SERVER_MSG_TYPE::SERVER_CORE_INFO_REPLY);
+ msg.mutable_server_core_info_reply()->set_version(1);
+ try{
+ for(auto it : runtime_config.config_file.get_child("server")) //load server node
+ {
+ std::string val = it.second.get_value<std::string>("empty_value"); //TODO: something better here. we need to avoid subtrees and empty vars
+ if(val == "" || val == "empty_value")
+ continue;
+ setting *i = msg.mutable_server_core_info_reply()->add_settings();
+ i->set_name(it.first);
+ //TODO: is it possible to set something better than just list of core setting names ?
+ }
+ }
+ catch(...)
+ {
+ //TODO:
+ }
+ send_message(&msg);
+
+ }
+ break;
+ case CLIENT_MSG_TYPE::CLIENT_DOWNLOADS_LIST_REQUEST:
+ {
+ //TODO:
+ }
+ break;
default:
break;
}