src/proto2/NetworkServer.hh
changeset 5 617813994ab1
child 6 faa4e777cc6e
equal deleted inserted replaced
4:e28b28b8817c 5:617813994ab1
       
     1 #ifndef NETWORKSERVER_HH
       
     2 #define NETWORKSERVER_HH
       
     3 
       
     4 #include <list>
       
     5 
       
     6 #define NETWORK_SERVER_BACKLOG 8
       
     7 
       
     8 class NetworkServer : public NetworkBase {
       
     9 	private:
       
    10 		GameState *state;
       
    11 
       
    12 		std::map<CL_IPAddress, NetworkServerClient> client_sockets;
       
    13 
       
    14 		CL_EventListener listener;
       
    15 		
       
    16 		CL_Slot slot_on_accept;
       
    17 
       
    18 		NetworkServer (GameState *state, const CL_IPAddress &listen_ip);
       
    19 
       
    20 	public:
       
    21 		static NetworkServer *newServer (void);
       
    22 
       
    23 		void run (void);
       
    24 
       
    25 	private:
       
    26 		void _onAccept (void);
       
    27 };
       
    28 
       
    29 class NetworkServerClient {
       
    30 	private:
       
    31 		NetworkServer &server;
       
    32 		
       
    33 	private:
       
    34 		NetworkServerClient (NetworkServer &server);
       
    35 };
       
    36 
       
    37 void runNetworkServer (void);
       
    38 
       
    39 #endif