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