src/NetworkObject.hh
changeset 186 0738f2949a2b
parent 185 25becd2cb026
child 187 f41f894213ca
--- a/src/NetworkObject.hh	Wed Dec 03 19:16:32 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-#ifndef NETWORK_OBJECT_HH
-#define NETWORK_OBJECT_HH
-
-#include "NetworkSession.hh"
-#include "NetworkNode.hh"
-#include "Logger.hh"
-
-#include <map>
-
-typedef uint32_t NetworkObjectID;
-typedef uint16_t NetworkMessageID;
-
-// forward-declare
-class NetworkObject;
-class NetworkObject_Client;
-class NetworkObject_Server;
-
-class NetworkObjectController {
-    friend class NetworkObject;
-    friend class NetworkObject_Server;
-    friend class NetworkObject_Client;
-
-    private:
-        NetworkSession &session;
-        NetworkChannelID channel_id;
-
-        std::map<NetworkObjectID, NetworkObject*> objects;
-
-        CL_Slot slot_message;
-    
-    protected:
-        NetworkObjectController (NetworkSession &session, NetworkChannelID channel_id);
-    
-    private:
-        void on_message (NetworkPacket &pkt, NetworkNode *node);
-
-    protected:
-        virtual void handle_create (NetworkObjectID obj_id, NetworkMessageID msg_id, NetworkPacket &pkt, NetworkNode *node) = 0; 
-};
-
-class NetworkObject_ServerController : public NetworkObjectController {
-    friend class NetworkObject_Server;
-
-    private:
-        NetworkObjectID id_pool;
-    
-    public:
-        NetworkObject_ServerController (NetworkSession &session, NetworkChannelID channel_id);
-
-    protected:
-        NetworkObjectID getObjectID (void);
-
-        virtual void handle_create (NetworkObjectID obj_id, NetworkMessageID msg_id, NetworkPacket &pkt, NetworkNode *node);
-};
-
-class NetworkObject_ClientController : public NetworkObjectController {
-    friend class NetworkObject_Client;
-
-    private:
-        NetworkNode *server;
-
-        CL_Signal_v3<NetworkObject_Client*, NetworkMessageID, NetworkPacket&> _sig_create;
-    
-    public:
-        NetworkObject_ClientController (NetworkSession &session, NetworkChannelID channel_id, NetworkNode *server);
-
-    protected:
-        virtual void handle_create (NetworkObjectID obj_id, NetworkMessageID msg_id, NetworkPacket &pkt, NetworkNode *node);
-    
-    public:  
-        CL_Signal_v3<NetworkObject_Client*, NetworkMessageID, NetworkPacket&>& sig_create (void) { return _sig_create; }
-};
-
-class NetworkObject {
-    friend class NetworkObjectController;
-    friend std::ostream& operator<< (std::ostream &s, const NetworkObject &obj);
-
-    protected:
-        NetworkObjectID obj_id;
-
-    protected:
-        NetworkObject (NetworkObjectController &controller, NetworkObjectID obj_id);
-        
-        virtual void handle_packet (NetworkNode *node, NetworkMessageID msg_id, NetworkPacket &pkt) = 0;
-
-        void buildPacket (NetworkPacket &pkt, NetworkMessageID msg_id, const NetworkPacket &payload);
-};
-
-std::ostream& operator<< (std::ostream &s, const NetworkObject &obj);
-
-class NetworkObject_Server : public NetworkObject {
-    friend class NetworkObject_ServerController;
-
-    private:
-        NetworkObject_ServerController &controller;
-
-        std::map<NetworkMessageID, CL_Signal_v2<NetworkNode*, NetworkPacket&> > _map_sig_message;
-
-    public:
-        NetworkObject_Server (NetworkObject_ServerController &controller);
-    
-    protected:
-        virtual void handle_packet (NetworkNode *node, NetworkMessageID msg_id, NetworkPacket &pkt);
-
-    public:
-        void send_to (NetworkNode *dst, NetworkMessageID msg_id, const NetworkPacket &pkt, bool reliable = true);
-        void send_all (NetworkMessageID msg_id, const NetworkPacket &pkt, bool reliable = true);
-        void send_all_except (NetworkMessageID msg_id, const NetworkPacket &pkt, NetworkNode *black_sheep, bool reliable = true);
-    
-        CL_Signal_v2<NetworkNode*, NetworkPacket&>& sig_message (NetworkMessageID msg_id) { return _map_sig_message[msg_id]; }
-};
-
-class NetworkObject_Client : public NetworkObject {
-    friend class NetworkObject_ClientController;
-
-    private:
-        NetworkObject_ClientController &controller;
-
-        std::map<NetworkMessageID, CL_Signal_v1<NetworkPacket&> > _map_sig_message;
-
-    protected:
-        NetworkObject_Client (NetworkObject_ClientController &controller, NetworkObjectID id);
-        
-        virtual void handle_packet (NetworkNode *node, NetworkMessageID msg_id, NetworkPacket &pkt);
-
-    public:
-        void send (NetworkMessageID msg_id, const NetworkPacket &pkt, bool reliable = true);
-        
-        CL_Signal_v1<NetworkPacket&>& sig_message (NetworkMessageID msg_id) { return _map_sig_message[msg_id]; }
-};
-
-#endif /* NETWORK_OBJECT_HH */