diff options
| author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-11-20 10:41:35 +0300 |
|---|---|---|
| committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-11-20 10:41:35 +0300 |
| commit | 23c6b9cb5ec8186584c05fe0db0d0dcdc1c56d28 (patch) | |
| tree | e9fa4f037b351b63172169f16c3fd3024e7b0017 /server/include | |
| parent | 3d2c1d3c24e40573e391040048ff734cd052c295 (diff) | |
server:
a bit of work with event system
Diffstat (limited to 'server/include')
| -rw-r--r-- | server/include/client.h | 1 | ||||
| -rw-r--r-- | server/include/event_subscription_base.h | 12 | ||||
| -rw-r--r-- | server/include/server_session.h | 2 |
3 files changed, 15 insertions, 0 deletions
diff --git a/server/include/client.h b/server/include/client.h index 239ae4b..22b2ce8 100644 --- a/server/include/client.h +++ b/server/include/client.h @@ -32,6 +32,7 @@ class client public: client(std::string &client_auth_token, server_session *sess = nullptr); void add_event_subscription(event_subscription_base* e); + const std::list<event_subscription_base*>& get_subscriptions(); virtual ~client(); protected: private: diff --git a/server/include/event_subscription_base.h b/server/include/event_subscription_base.h index 0e5b790..97c6e62 100644 --- a/server/include/event_subscription_base.h +++ b/server/include/event_subscription_base.h @@ -37,9 +37,21 @@ public: { subscription_request = *req; } + bool operator==(const SUBSCRIPTION_TYPE t) + { + return subscription_request.type() == t; + } + const EVENT_SUBTYPE get_subtype() + { + return subtype; + } + virtual ~event_subscription_base(){} protected: EVENT_SUBTYPE subtype = EVENT_SUBTYPE::EVENT_SUBTYPE_EVENT; client_event_subscription_request subscription_request; }; + + + #endif // EVENT_SUBSCRIPTION_H diff --git a/server/include/server_session.h b/server/include/server_session.h index a4c570b..b03a38b 100644 --- a/server/include/server_session.h +++ b/server/include/server_session.h @@ -26,6 +26,7 @@ #include "config.h" #include "client.h" #include "download_internal.h" +#include "../../protocol/udm.pb.h" class client_msg; class server_msg; @@ -55,6 +56,7 @@ private: bool handle_command(client_msg* msg); void send_download_list(); + void fire_event(SUBSCRIPTION_TYPE type, server_msg &msg); char* recv_data_ = nullptr; socket_wraper* socket_ = nullptr; |
