My Project
Subscription.h
1 #ifndef __Subscription_h__
2 #define __Subscription_h__
3 
4 #include "ZString.h"
5 #include <vector>
6 #include <string>
7 
8 namespace core
9 {
10 
11  class TCPSession;
12 
14  {
15 
16  public:
17  Subscription(std::string id, std::string mode = "*AUTHOR");
18  Subscription(std::string id, TCPSession &session, std::string mode = "*AUTHOR");
19  virtual ~Subscription();
20 
21  int subscribe(TCPSession &session);
22  int unsubscribe(TCPSession &session);
23 
24  virtual int process(coreutils::ZString &request, std::stringstream &out, TCPSession &session);
25 
26  virtual int onSubscribe(TCPSession &session);
27 
28  int event(std::stringstream &out);
29 
30  bool ifSubscriber(TCPSession &session);
31 
32  // int processCommand(coreutils::ZString &request, TCPSession &session) override;
33 
34  std::string id;
35  std::string mode;
36  TCPSession *owner;
37 
38  std::vector<TCPSession *> subscribers;
39  };
40 }
41 
42 #endif
Definition: Subscription.h:14
Definition: TCPSession.h:24