diff options
Diffstat (limited to 'server/src/server_session.cpp')
-rw-r--r-- | server/src/server_session.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/server/src/server_session.cpp b/server/src/server_session.cpp index 3b8c3b1..811b411 100644 --- a/server/src/server_session.cpp +++ b/server/src/server_session.cpp @@ -24,15 +24,15 @@ #include "server_session.h" #include "../../protocol/udm.pb.h" #include "utilities.h" -#include "config.h" #include "socket_wraper.h" +#include "client.h" -extern runtime_config_s runtime_config; +extern std::map<std::string, client> clients; -server_session::server_session(boost::asio::io_service &s, boost::asio::ssl::context *c) : io_service_(s), context_(c) +server_session::server_session(boost::asio::io_service &s, runtime_config_s &config, std::map<std::string, client*> &clients_, boost::asio::ssl::context *c) : io_service_(s), context_(c), runtime_config(config), clients(clients_) { } @@ -175,6 +175,17 @@ void server_session::handle_command(client_msg *msg) { client_auth_token = generate_auth_token(); m.mutable_auth_reply()->set_auth_token(client_auth_token); + auto i = clients.find(client_auth_token); + if(i == clients.end()) + { + auto a = new client(client_auth_token); + clients[client_auth_token] = a; + client_ = a; + } + else + client_ = i->second; + + //set auth token } send_message(&m); |