src/proto2/NetworkNode.hh
branchno-netsession
changeset 36 785d220fc6b7
parent 33 e53f09b378f4
child 37 ed2957490bbf
--- a/src/proto2/NetworkNode.hh	Tue Nov 18 22:58:50 2008 +0000
+++ b/src/proto2/NetworkNode.hh	Thu Nov 20 19:25:56 2008 +0000
@@ -1,7 +1,17 @@
 #ifndef NETWORK_NODE_HH
 #define NETWORK_NODE_HH
 
+// forward-declare
+class NetworkNode;
+
 #include "NetworkTCP.hh"
+#include "NetworkUDP.hh"
+#include "NetworkSession.hh"
+
+enum NetworkNodeType {
+    NETWORK_NODE_SERVER_CLIENT,
+    NETWORK_NODE_CLIENT_SERVER
+};
 
 class NetworkNode {
     private:
@@ -15,14 +25,20 @@
     private:
         NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address);
         
-        NetworkNode (const NetworkNode &copy) { }
+        NetworkNode (const NetworkNode &copy);
         ~NetworkNode (void);
-        NetworkNode& operator= (const NetworkNode &copy) { }
+        NetworkNode& operator= (const NetworkNode &copy);
+        
+        void on_disconnect (void);
+         
+        CL_Signal_v0 _sig_disconnected;
 
     public:
         void send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true);
 
         const NetworkAddress& getRemoteAddress (void);
+        
+        CL_Signal_v0& sig_disconnected (void) { return _sig_disconnected; }
 };
 
 #endif /* NETWORK_NODE_HH */