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  class TCPSession;
11 
12  class Subscription {
13 
14  public:
15  Subscription(std::string id, std::string mode = "*AUTHOR");
16  Subscription(std::string id, TCPSession &session, std::string mode = "*AUTHOR");
17  virtual ~Subscription();
18 
19  int subscribe(TCPSession &session);
20  int unsubscribe(TCPSession &session);
21 
22  virtual int process(coreutils::ZString &request, std::stringstream &out);
23  virtual int onSubscribe(TCPSession &session);
24 
25  int event(std::stringstream &out);
26 
27  bool ifSubscriber(TCPSession &session);
28 
29  // int processCommand(coreutils::ZString &request, TCPSession &session) override;
30 
31  std::string id;
32  std::string mode;
33  TCPSession *owner;
34 
35  std::vector<TCPSession *> subscribers;
36 
37  };
38 }
39 
40 #endif
core::TCPSession
Definition: TCPSession.h:24
core::Subscription
Definition: Subscription.h:12