src/proto2/NetworkNode.hh
branchno-netsession
changeset 36 785d220fc6b7
parent 33 e53f09b378f4
child 37 ed2957490bbf
equal deleted inserted replaced
35:e21cfda0edde 36:785d220fc6b7
     1 #ifndef NETWORK_NODE_HH
     1 #ifndef NETWORK_NODE_HH
     2 #define NETWORK_NODE_HH
     2 #define NETWORK_NODE_HH
     3 
     3 
       
     4 // forward-declare
       
     5 class NetworkNode;
       
     6 
     4 #include "NetworkTCP.hh"
     7 #include "NetworkTCP.hh"
       
     8 #include "NetworkUDP.hh"
       
     9 #include "NetworkSession.hh"
       
    10 
       
    11 enum NetworkNodeType {
       
    12     NETWORK_NODE_SERVER_CLIENT,
       
    13     NETWORK_NODE_CLIENT_SERVER
       
    14 };
     5 
    15 
     6 class NetworkNode {
    16 class NetworkNode {
     7     private:
    17     private:
     8         NetworkSession &session;
    18         NetworkSession &session;
     9         NetworkTCPTransport *tcp;
    19         NetworkTCPTransport *tcp;
    13         CL_SlotContainer slots;
    23         CL_SlotContainer slots;
    14     
    24     
    15     private:
    25     private:
    16         NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address);
    26         NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address);
    17         
    27         
    18         NetworkNode (const NetworkNode &copy) { }
    28         NetworkNode (const NetworkNode &copy);
    19         ~NetworkNode (void);
    29         ~NetworkNode (void);
    20         NetworkNode& operator= (const NetworkNode &copy) { }
    30         NetworkNode& operator= (const NetworkNode &copy);
       
    31         
       
    32         void on_disconnect (void);
       
    33          
       
    34         CL_Signal_v0 _sig_disconnected;
    21 
    35 
    22     public:
    36     public:
    23         void send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true);
    37         void send (NetworkChannelID channel_id, const NetworkPacket &pkt, bool reliable = true);
    24 
    38 
    25         const NetworkAddress& getRemoteAddress (void);
    39         const NetworkAddress& getRemoteAddress (void);
       
    40         
       
    41         CL_Signal_v0& sig_disconnected (void) { return _sig_disconnected; }
    26 };
    42 };
    27 
    43 
    28 #endif /* NETWORK_NODE_HH */
    44 #endif /* NETWORK_NODE_HH */