From 3d2c1d3c24e40573e391040048ff734cd052c295 Mon Sep 17 00:00:00 2001 From: Gluzskiy Alexandr Date: Tue, 27 Oct 2015 05:44:22 +0300 Subject: protocol: tiny enum value names correction server: event subscription subsystem: a bit of implementation of repeated event type --- server/include/client.h | 2 +- server/include/event_subscription_base.h | 9 ++++++--- server/include/event_subscription_repeated.h | 9 ++++++--- 3 files changed, 13 insertions(+), 7 deletions(-) (limited to 'server/include') diff --git a/server/include/client.h b/server/include/client.h index d6668a3..239ae4b 100644 --- a/server/include/client.h +++ b/server/include/client.h @@ -37,7 +37,7 @@ class client 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 + //TODO: store sessions ptr //TODO: some way to call core and mopdules api from here std::string auth_token; server_session *session; diff --git a/server/include/event_subscription_base.h b/server/include/event_subscription_base.h index 19b184f..0e5b790 100644 --- a/server/include/event_subscription_base.h +++ b/server/include/event_subscription_base.h @@ -33,10 +33,13 @@ enum EVENT_SUBTYPE { class event_subscription_base { public: - event_subscription_base(){}; - virtual ~event_subscription_base(){}; + event_subscription_base(client_event_subscription_request *req) + { + subscription_request = *req; + } + virtual ~event_subscription_base(){} protected: - SUBSCRIPTION_TYPE type = SUBSCRIPTION_TYPE::S_DOWNLOAD_STATE_CHANGE; EVENT_SUBTYPE subtype = EVENT_SUBTYPE::EVENT_SUBTYPE_EVENT; + client_event_subscription_request subscription_request; }; #endif // EVENT_SUBSCRIPTION_H diff --git a/server/include/event_subscription_repeated.h b/server/include/event_subscription_repeated.h index bb676a3..3b2936b 100644 --- a/server/include/event_subscription_repeated.h +++ b/server/include/event_subscription_repeated.h @@ -23,16 +23,19 @@ #define EVENT_SUBSCRIPTION_PERIODIC_H #include "event_subscription_base.h" +#include + +typedef boost::asio::basic_deadline_timer deadline_timer; class event_subscription_repeated : public event_subscription_base { public: event_subscription_repeated(client_event_subscription_request *req); ~event_subscription_repeated(); + + void timer_handler(const boost::system::error_code &e); private: - bool one_time; - int64_t interval; - + deadline_timer *timer; }; #endif // EVENT_SUBSCRIPTION_PERIODIC_H -- cgit v1.2.3