summaryrefslogtreecommitdiff
path: root/src/network/network.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/network.h')
-rw-r--r--src/network/network.h33
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
10namespace Network {
11
12class RoomNetwork {
13public:
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
28private:
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