summaryrefslogtreecommitdiff
path: root/server/include
diff options
context:
space:
mode:
Diffstat (limited to 'server/include')
-rw-r--r--server/include/client.h2
-rw-r--r--server/include/event_subscription_base.h9
-rw-r--r--server/include/event_subscription_repeated.h9
3 files changed, 13 insertions, 7 deletions
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 <boost/asio.hpp>
+
+typedef boost::asio::basic_deadline_timer<boost::posix_time::ptime> 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