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