diff options
Diffstat (limited to 'src/network/network.h')
| -rw-r--r-- | src/network/network.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/network/network.h b/src/network/network.h new file mode 100644 index 000000000..e4de207b2 --- /dev/null +++ b/src/network/network.h | |||
| @@ -0,0 +1,33 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include <memory> | ||
| 7 | #include "network/room.h" | ||
| 8 | #include "network/room_member.h" | ||
| 9 | |||
| 10 | namespace Network { | ||
| 11 | |||
| 12 | class RoomNetwork { | ||
| 13 | public: | ||
| 14 | RoomNetwork(); | ||
| 15 | |||
| 16 | /// Initializes and registers the network device, the room, and the room member. | ||
| 17 | bool Init(); | ||
| 18 | |||
| 19 | /// Returns a pointer to the room handle | ||
| 20 | std::weak_ptr<Room> GetRoom(); | ||
| 21 | |||
| 22 | /// Returns a pointer to the room member handle | ||
| 23 | std::weak_ptr<RoomMember> GetRoomMember(); | ||
| 24 | |||
| 25 | /// Unregisters the network device, the room, and the room member and shut them down. | ||
| 26 | void Shutdown(); | ||
| 27 | |||
| 28 | private: | ||
| 29 | std::shared_ptr<RoomMember> m_room_member; ///< RoomMember (Client) for network games | ||
| 30 | std::shared_ptr<Room> m_room; ///< Room (Server) for network games | ||
| 31 | }; | ||
| 32 | |||
| 33 | } // namespace Network | ||