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 "SessionFilter.h"
6 //#include "Service.h"
7 
8 namespace core {
9 
10  class Service;
11 
21 
22  class Session : public TCPSocket {
23 
24  public:
25  Session(EPoll &ePoll, Service &service);
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  Service &service;
57 
58  protected:
59 
60  void onDataReceived(std::string data) override;
61  void onConnected() override;
62 
69 
70  virtual void protocol(std::string data);
71 
72  };
73 
74 }
75 
76 #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:29
Definition: Service.h:20
Definition: TCPSocket.h:20
void sendToAll()
Definition: Session.cpp:33
void onConnected() override
Called when socket is open and ready to communicate.
Definition: Session.cpp:25
Definition: SessionFilter.h:10
void send()
Definition: Session.cpp:51
virtual void protocol(std::string data)
Definition: Session.cpp:19