BMA Server Framework
/home/barant/Development/BMA/server_core/ServerCore/Session.h
1 #ifndef __Session_h__
2 #define __Session_h__
3 
4 #include "TCPSocket.h"
5 //#include "TCPServerSocket.h"
6 #include "SessionFilter.h"
7 
8 namespace core {
9 
10  class TCPServerSocket;
11 
21 
22  class Session : public TCPSocket {
23 
24  public:
25  Session(EPoll &ePoll, TCPServerSocket &server);
26  ~Session();
27 
28  virtual void init();
29 
30  virtual void output(Session *session);
31 
36 
37  void send();
38 
43 
44  void sendToAll();
45 
51 
52  void sendToAll(SessionFilter *filter);
53 
54  std::stringstream out;
55 
56  TCPServerSocket &getServer();
57  TCPServerSocket &server;
58 
59  protected:
60  void onDataReceived(std::string data) override;
61  void onConnected() override;
62  virtual void protocol(std::string data) = 0;
63 
64  private:
65 
66  };
67 
68 }
69 
70 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: Session.h:22
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: Session.cpp:30
Definition: TCPSocket.h:20
void sendToAll()
Definition: Session.cpp:34
void onConnected() override
Called when socket is open and ready to communicate.
Definition: Session.cpp:26
Definition: SessionFilter.h:10
void send()
Definition: Session.cpp:52
Definition: TCPServerSocket.h:23