src/proto2/NetworkServer.hh
branchno-netsession
changeset 36 785d220fc6b7
parent 32 2ff929186c90
--- a/src/proto2/NetworkServer.hh	Tue Nov 18 22:58:50 2008 +0000
+++ b/src/proto2/NetworkServer.hh	Thu Nov 20 19:25:56 2008 +0000
@@ -3,8 +3,8 @@
 
 #include "Network.hh"
 #include "GameState.hh"
-#include "NetworkTCP.hh"
-#include "NetworkUDP.hh"
+#include "NetworkSession.hh"
+#include "NetworkObject.hh"
 
 #include <list>
 #include <map>
@@ -16,39 +16,35 @@
 class NetworkServer : public NetworkCore {
     friend class NetworkServerPlayer;
 
-    private:
-        NetworkTCPServer tcp_server;
-        NetworkUDP udp;
-
-        uint16_t pid_pool;
-        
-        std::map<NetworkAddress, NetworkServerPlayer*> players;
+    protected:
+        NetworkSession netsession;
+        NetworkObject_ServerController netobjs;
+        std::list<NetworkServerPlayer *> players;
 
     public:
         NetworkServer (GameState &state, const NetworkAddress &listen_addr);
+    
+    protected:
+        void handle_disconnect (NetworkServerPlayer *player);
 
     private:
-        void on_client (NetworkTCPTransport *client);
-        void on_packet_udp (const NetworkPacket &pkt, const NetworkAddress &src);
+        void on_node_connected (NetworkNode *node);
 };
 
 class NetworkServerPlayer : public RemotePlayer {
     private:
         NetworkServer &server;
-        NetworkTCPTransport *tcp;
+        NetworkObject_Server obj;
+        NetworkNode *node;
 
         CL_SlotContainer slots;
-
-        uint16_t pid;
         
     public:
-        NetworkServerPlayer (NetworkServer &server, NetworkTCPTransport *tcp, uint16_t pid);
+        NetworkServerPlayer (NetworkServer &server, NetworkNode *node);
 
     private:
         void on_disconnected (void);
-        void on_packet_tcp (const NetworkPacket &pkt);
-
-        void on_move (const NetworkPacket &pkt);
+        void on_move (NetworkNode *node, NetworkPacket &pkt);
 
         void send_position_update (void);
 };