src/proto2/NetworkServer.hh
branchno-netsession
changeset 32 2ff929186c90
parent 24 b81cb670e6b2
child 36 785d220fc6b7
--- a/src/proto2/NetworkServer.hh	Mon Nov 10 16:49:09 2008 +0000
+++ b/src/proto2/NetworkServer.hh	Mon Nov 10 18:21:23 2008 +0000
@@ -3,6 +3,8 @@
 
 #include "Network.hh"
 #include "GameState.hh"
+#include "NetworkTCP.hh"
+#include "NetworkUDP.hh"
 
 #include <list>
 #include <map>
@@ -15,38 +17,38 @@
     friend class NetworkServerPlayer;
 
     private:
+        NetworkTCPServer tcp_server;
+        NetworkUDP udp;
+
         uint16_t pid_pool;
-    
-    public:
-        std::map<CL_NetComputer, NetworkServerPlayer*> players;
+        
+        std::map<NetworkAddress, NetworkServerPlayer*> players;
 
     public:
-        NetworkServer (GameState &state, const std::string &listen_port);
+        NetworkServer (GameState &state, const NetworkAddress &listen_addr);
 
     private:
-        void on_connect (CL_NetComputer &computer);
-        void on_disconnect (CL_NetComputer &computer);
-
-    
+        void on_client (NetworkTCPTransport *client);
+        void on_packet_udp (const NetworkPacket &pkt, const NetworkAddress &src);
 };
 
 class NetworkServerPlayer : public RemotePlayer {
     private:
         NetworkServer &server;
-        CL_NetComputer &computer;
-        CL_NetObject_Server obj;
+        NetworkTCPTransport *tcp;
 
         CL_SlotContainer slots;
 
         uint16_t pid;
         
     public:
-        NetworkServerPlayer (NetworkServer &server, CL_NetComputer &computer, uint16_t pid);
-
-        void disconnected (void);
+        NetworkServerPlayer (NetworkServer &server, NetworkTCPTransport *tcp, uint16_t pid);
 
     private:
-        void on_move (CL_NetComputer &from, CL_NetPacket &pkt);
+        void on_disconnected (void);
+        void on_packet_tcp (const NetworkPacket &pkt);
+
+        void on_move (const NetworkPacket &pkt);
 
         void send_position_update (void);
 };