diff options
Diffstat (limited to 'server/include')
-rw-r--r-- | server/include/client.h | 4 | ||||
-rw-r--r-- | server/include/server.h | 6 | ||||
-rw-r--r-- | server/include/server_session.h | 8 | ||||
-rw-r--r-- | server/include/utilities.h | 1 |
4 files changed, 16 insertions, 3 deletions
diff --git a/server/include/client.h b/server/include/client.h index 4fe8467..f9daff6 100644 --- a/server/include/client.h +++ b/server/include/client.h @@ -6,11 +6,13 @@ class client { public: - client(); + client(std::string &client_auth_token); virtual ~client(); protected: private: //TODO: client subscriptions should be stored here + //TODO: list of timers with direct callbacks to functions for periodic subscription (bost::asio::deadline_timer) + //TODO: store sessions ptr list std::string auth_token; }; diff --git a/server/include/server.h b/server/include/server.h index c4ccc97..699fb01 100644 --- a/server/include/server.h +++ b/server/include/server.h @@ -24,6 +24,8 @@ #include <boost/asio.hpp> #include <boost/asio/ssl.hpp> +#include "config.h" +#include "client.h" //TODO ssl @@ -33,7 +35,7 @@ class server_session; class server { public: - server(boost::asio::io_service& io_service, short port); + server(boost::asio::io_service& io_service, runtime_config_s &config, std::map<std::string, client*> &clients, short port); private: void start_accept(); @@ -42,6 +44,8 @@ private: boost::asio::io_service& io_service_; boost::asio::ip::tcp::acceptor acceptor_; boost::asio::ssl::context *context_; + runtime_config_s &runtime_config; + std::map<std::string, client*> &clients; }; diff --git a/server/include/server_session.h b/server/include/server_session.h index b3b6f26..bad8f4f 100644 --- a/server/include/server_session.h +++ b/server/include/server_session.h @@ -24,6 +24,8 @@ #include <boost/asio.hpp> #include <boost/asio/ssl.hpp> +#include "config.h" +#include "client.h" class client_msg; class server_msg; @@ -32,7 +34,7 @@ class socket_wraper; class server_session { public: - server_session(boost::asio::io_service &s, boost::asio::ssl::context *c = nullptr); + server_session(boost::asio::io_service &s, runtime_config_s &config, std::map<std::string, client*> &clients_, boost::asio::ssl::context *c = nullptr); void run(); void send_message(server_msg *msg); socket_wraper* socket(); @@ -50,6 +52,10 @@ class server_session boost::asio::io_service &io_service_; boost::asio::ssl::context *context_; std::string client_auth_token; + runtime_config_s &runtime_config; + std::map<std::string, client*> &clients; + client *client_; + //TODO: store client ptr }; diff --git a/server/include/utilities.h b/server/include/utilities.h index 0130cf5..aa78d29 100644 --- a/server/include/utilities.h +++ b/server/include/utilities.h @@ -25,6 +25,7 @@ #include <string> #include <memory> +//TODO: use glib's xdg api instead ? std::string replace_home_var(const std::string &path); class server_msg; |