2 #define NETWORK_NODE_HH |
2 #define NETWORK_NODE_HH |
3 |
3 |
4 // forward-declare |
4 // forward-declare |
5 class NetworkNode; |
5 class NetworkNode; |
6 |
6 |
7 #include "NetworkTCP.hh" |
|
8 #include "NetworkUDP.hh" |
|
9 #include "NetworkSession.hh" |
|
10 |
|
11 enum NetworkNodeType { |
7 enum NetworkNodeType { |
12 NETWORK_NODE_SERVER_CLIENT, |
8 NETWORK_NODE_SERVER_CLIENT, |
13 NETWORK_NODE_CLIENT_SERVER |
9 NETWORK_NODE_CLIENT_SERVER |
14 }; |
10 }; |
15 |
11 |
|
12 #include "NetworkTCP.hh" |
|
13 #include "NetworkUDP.hh" |
|
14 #include "NetworkSession.hh" |
|
15 |
16 class NetworkNode { |
16 class NetworkNode { |
17 private: |
17 private: |
18 NetworkSession &session; |
18 NetworkSession &session; |
19 NetworkTCPTransport *tcp; |
19 NetworkTCPTransport *tcp; |
20 NetworkUDP &udp; |
20 NetworkUDP *udp; |
21 const NetworkAddress address; |
21 const NetworkAddress address; |
22 |
22 |
23 CL_SlotContainer slots; |
23 CL_SlotContainer slots; |
24 |
24 |
|
25 public: |
|
26 NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP *udp, const NetworkAddress &address); |
|
27 |
25 private: |
28 private: |
26 NetworkNode (NetworkSession &session, NetworkTCPTransport *tcp, NetworkUDP &udp, const NetworkAddress &address); |
|
27 |
|
28 NetworkNode (const NetworkNode ©); |
29 NetworkNode (const NetworkNode ©); |
29 ~NetworkNode (void); |
30 ~NetworkNode (void); |
30 NetworkNode& operator= (const NetworkNode ©); |
31 NetworkNode& operator= (const NetworkNode ©); |
31 |
32 |
32 void on_disconnect (void); |
33 void on_disconnect (void); |