summaryrefslogtreecommitdiff
path: root/src/network
diff options
context:
space:
mode:
Diffstat (limited to 'src/network')
-rw-r--r--src/network/network.cpp15
-rw-r--r--src/network/network.h25
2 files changed, 25 insertions, 15 deletions
diff --git a/src/network/network.cpp b/src/network/network.cpp
index 51b5d6a9f..e1401a403 100644
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -9,11 +9,12 @@
9 9
10namespace Network { 10namespace Network {
11 11
12static std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games 12RoomNetwork::RoomNetwork() {
13static std::shared_ptr<Room> g_room; ///< Room (Server) for network games 13 g_room = std::make_shared<Room>();
14// TODO(B3N30): Put these globals into a networking class 14 g_room_member = std::make_shared<RoomMember>();
15}
15 16
16bool Init() { 17bool RoomNetwork::Init() {
17 if (enet_initialize() != 0) { 18 if (enet_initialize() != 0) {
18 LOG_ERROR(Network, "Error initalizing ENet"); 19 LOG_ERROR(Network, "Error initalizing ENet");
19 return false; 20 return false;
@@ -24,15 +25,15 @@ bool Init() {
24 return true; 25 return true;
25} 26}
26 27
27std::weak_ptr<Room> GetRoom() { 28std::weak_ptr<Room> RoomNetwork::GetRoom() {
28 return g_room; 29 return g_room;
29} 30}
30 31
31std::weak_ptr<RoomMember> GetRoomMember() { 32std::weak_ptr<RoomMember> RoomNetwork::GetRoomMember() {
32 return g_room_member; 33 return g_room_member;
33} 34}
34 35
35void Shutdown() { 36void RoomNetwork::Shutdown() {
36 if (g_room_member) { 37 if (g_room_member) {
37 if (g_room_member->IsConnected()) 38 if (g_room_member->IsConnected())
38 g_room_member->Leave(); 39 g_room_member->Leave();
diff --git a/src/network/network.h b/src/network/network.h
index 6d002d693..74eb42bf5 100644
--- a/src/network/network.h
+++ b/src/network/network.h
@@ -10,16 +10,25 @@
10 10
11namespace Network { 11namespace Network {
12 12
13/// Initializes and registers the network device, the room, and the room member. 13class RoomNetwork {
14bool Init(); 14public:
15 RoomNetwork();
15 16
16/// Returns a pointer to the room handle 17 /// Initializes and registers the network device, the room, and the room member.
17std::weak_ptr<Room> GetRoom(); 18 bool Init();
18 19
19/// Returns a pointer to the room member handle 20 /// Returns a pointer to the room handle
20std::weak_ptr<RoomMember> GetRoomMember(); 21 std::weak_ptr<Room> GetRoom();
21 22
22/// Unregisters the network device, the room, and the room member and shut them down. 23 /// Returns a pointer to the room member handle
23void Shutdown(); 24 std::weak_ptr<RoomMember> GetRoomMember();
25
26 /// Unregisters the network device, the room, and the room member and shut them down.
27 void Shutdown();
28
29private:
30 std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games
31 std::shared_ptr<Room> g_room; ///< Room (Server) for network games
32};
24 33
25} // namespace Network 34} // namespace Network