summaryrefslogtreecommitdiff
path: root/server/src/server_session.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-27 01:25:05 +0300
committerGluzskiy Alexandr <sss@sss.chaoslab.ru>2015-08-27 01:25:05 +0300
commitba8247eaf522e8a129b7fbbf09a6fab010746e3a (patch)
treef87e5abdc7f049c819131c853d84db9660e8fde4 /server/src/server_session.cpp
parent3175fbe96c91a2de6f687d5c6bfe0fc7f02a34f4 (diff)
protocol:
still thinking of... client: bits of proto implementation server: config variables sigint handler bits of proto implementation
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;
}