My Project
SubscriptionManager.h
1 #ifndef __SubscriptionManager_h__
2 #define __SubscriptionManager_h__
3 
4 #include "Command.h"
5 #include "Subscription.h"
6 #include "SubscriptionHandler.h"
7 #include "TCPSession.h"
8 #include "ZString.h"
9 #include <string>
10 #include <vector>
11 
12 namespace core {
13 
14  class SubscriptionManager : public Command {
15 
16  public:
18 
19  int add(Subscription &subscription);
20  int addHandler(std::string name, SubscriptionHandler *handler);
21 
22  int removeSessionSubscriptions(TCPSession &session);
23 
24  int processCommand(coreutils::ZString &request, TCPSession &session) override;
25 
26  private:
27  Subscription *subscription;
28  std::map<std::string, Subscription *> subscriptions;
29  std::map<std::string, SubscriptionHandler *> handlers;
30  Subscription *newSubscription;
31  std::mutex lock;
32  };
33 
34 }
35 
36 #endif
Definition: Command.h:22
Definition: SubscriptionHandler.h:15
Definition: SubscriptionManager.h:14
int processCommand(coreutils::ZString &request, TCPSession &session) override
Definition: SubscriptionManager.cpp:60
Definition: Subscription.h:15
Definition: TCPSession.h:26