summaryrefslogtreecommitdiff
path: root/src/network/network.h
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2022-07-25 18:31:45 -0400
committerGitHub <noreply@github.com>2022-07-25 18:31:45 -0400
commit1e67d2b59f6dfd561768db3fb9a8e0c6a16ec9f2 (patch)
tree999411f1ca76390654d1034c6d0bd2c47c3f101c /src/network/network.h
parent1bcde9dd9879fc2677695e9283f2fe1d68c935b2 (diff)
parenta41baaa181f30229d3552caa69135be978c1ddb5 (diff)
Merge pull request #8541 from FearlessTobi/multiplayer-part1
yuzu, network: Add room service and UI configuration
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 @@
+// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <memory>
+#include "network/room.h"
+#include "network/room_member.h"
+
+namespace Network {
+
+class RoomNetwork {
+public:
+ RoomNetwork();
+
+ /// Initializes and registers the network device, the room, and the room member.
+ bool Init();
+
+ /// Returns a pointer to the room handle
+ std::weak_ptr<Room> GetRoom();
+
+ /// Returns a pointer to the room member handle
+ std::weak_ptr<RoomMember> GetRoomMember();
+
+ /// Unregisters the network device, the room, and the room member and shut them down.
+ void Shutdown();
+
+private:
+ std::shared_ptr<RoomMember> m_room_member; ///< RoomMember (Client) for network games
+ std::shared_ptr<Room> m_room; ///< Room (Server) for network games
+};
+
+} // namespace Network