summaryrefslogtreecommitdiff
path: root/server/include
diff options
context:
space:
mode:
Diffstat (limited to 'server/include')
-rw-r--r--server/include/client.h4
-rw-r--r--server/include/server.h6
-rw-r--r--server/include/server_session.h8
-rw-r--r--server/include/utilities.h1
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;