BMA Server Framework
/home/barant/Development/BMA/server_core/ServerCore/BMASession.h
1 #ifndef __BMASession_h__
2 #define __BMASession_h__
3 
4 #include "BMATCPSocket.h"
5 #include "BMATCPServerSocket.h"
6 #include "BMASessionFilter.h"
7 
17 
18 class BMASession : public BMATCPSocket {
19 
20  public:
21  BMASession(BMAEPoll &ePoll, BMATCPServerSocket &server);
22  ~BMASession();
23 
24  virtual void init();
25 
26  virtual void output(BMASession *session);
27 
32 
33  void send();
34 
39 
40  void sendToAll();
41 
47 
48  void sendToAll(BMASessionFilter *filter);
49 
50  std::stringstream out;
51 
52  BMATCPServerSocket &getServer();
53  BMATCPServerSocket &server;
54 
55 protected:
56  void onDataReceived(std::string data) override;
57  void onConnected() override;
58  virtual void protocol(std::string data) = 0;
59 
60  private:
61 
62 };
63 
64 #endif
void onConnected() override
Called when socket is open and ready to communicate.
Definition: BMASession.cpp:23
Definition: BMATCPSocket.h:18
void send()
Definition: BMASession.cpp:49
Definition: BMATCPServerSocket.h:20
void onDataReceived(std::string data) override
Called when data is received from the socket.
Definition: BMASession.cpp:27
Definition: BMAEPoll.h:29
void sendToAll()
Definition: BMASession.cpp:31
Definition: BMASessionFilter.h:4
Definition: BMASession.h:18