diff options
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; |