src/proto2/NetworkServer.hh
changeset 5 617813994ab1
child 6 faa4e777cc6e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/proto2/NetworkServer.hh	Mon Nov 03 22:59:50 2008 +0000
@@ -0,0 +1,39 @@
+#ifndef NETWORKSERVER_HH
+#define NETWORKSERVER_HH
+
+#include <list>
+
+#define NETWORK_SERVER_BACKLOG 8
+
+class NetworkServer : public NetworkBase {
+	private:
+		GameState *state;
+
+		std::map<CL_IPAddress, NetworkServerClient> client_sockets;
+
+		CL_EventListener listener;
+		
+		CL_Slot slot_on_accept;
+
+		NetworkServer (GameState *state, const CL_IPAddress &listen_ip);
+
+	public:
+		static NetworkServer *newServer (void);
+
+		void run (void);
+
+	private:
+		void _onAccept (void);
+};
+
+class NetworkServerClient {
+	private:
+		NetworkServer &server;
+		
+	private:
+		NetworkServerClient (NetworkServer &server);
+};
+
+void runNetworkServer (void);
+
+#endif