BMA Server Framework
/home/barant/Development/BMA/server_core/ServerCore/TCPServerSocket.h
1 #ifndef __TCPServerSocket_h__
2 #define __TCPServerSocket_h__
3 
4 #include "Socket.h"
5 #include "TCPSocket.h"
6 #include "Command.h"
7 #include "CommandList.h"
8 
9 namespace core {
10 
22 
23  class TCPServerSocket : public TCPSocket, public Command {
24 
25  public:
26 
35 
36  TCPServerSocket(EPoll &ePoll, std::string url, short int port);
37 
41 
43 
44  void removeFromSessionList(Session *session);
45 
49 
50  std::vector<Session *> sessions;
51 
52  CommandList commands;
53 
54  protected:
55 
56  virtual void init();
57 
65 
66  virtual Session * getSocketAccept() = 0;
67 
77 
78  void onDataReceived(std::string data) override;
79 
86 
87  int processCommand(std::string command, Session *session) override;
88 
89  private:
90 
91  Session * accept();
92 
93  };
94 
95 }
96 
97 #endif
Definition: EPoll.h:31
Definition: Command.cpp:4
Definition: Session.h:22
virtual Session * getSocketAccept()=0
void onDataReceived(std::string data) override
Definition: TCPServerSocket.cpp:40
TCPServerSocket(EPoll &ePoll, std::string url, short int port)
Definition: TCPServerSocket.cpp:8
std::vector< Session * > sessions
Definition: TCPServerSocket.h:50
int processCommand(std::string command, Session *session) override
Definition: TCPServerSocket.cpp:59
Definition: Command.h:18
Definition: TCPSocket.h:20
Definition: CommandList.h:9
Definition: TCPServerSocket.h:23
~TCPServerSocket()
Definition: TCPServerSocket.cpp:34