aboutsummaryrefslogtreecommitdiff
path: root/src/network/network.cpp
diff options
context:
space:
mode:
authorAleksandr Popovich <alekpopo@pm.me>2025-06-05 18:59:47 +0000
committercrueter <crueter@noreply.localhost>2025-06-05 18:59:47 +0000
commit76fa5255926da8f6339e7be5bf106646acedf78a (patch)
tree8ea533a7d748a9a5404e15a1063b11a832b2f007 /src/network/network.cpp
parent7e13da47af71814d612c6c060be68e8ba84271ff (diff)
Added the public lobby to android. (#125)
This is adapted from kleidis old PR to Azahar. Changes from it: - Fixed inconsistent button styling in the dialog for connection - Allowed to hide both empty and full rooms. - Proper serving of preferred games - Enables web service for android by default - Better implementation of multiplayer.cpp that works with oop Also fixes the room network class and turns it into a static namespace in network Signed-off-by: Aleksandr Popovich <alekpopo@pm.me> Co-authored-by: swurl <swurl@swurl.xyz> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/125 Co-authored-by: Aleksandr Popovich <alekpopo@pm.me> Co-committed-by: Aleksandr Popovich <alekpopo@pm.me>
Diffstat (limited to 'src/network/network.cpp')
-rw-r--r--src/network/network.cpp41
1 files changed, 21 insertions, 20 deletions
diff --git a/src/network/network.cpp b/src/network/network.cpp
index 6652a186bb..0314b51d2c 100644
--- a/src/network/network.cpp
+++ b/src/network/network.cpp
@@ -1,6 +1,9 @@
// SPDX-FileCopyrightText: Copyright 2017 Citra Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
+// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
+// SPDX-License-Identifier: GPL-3.0-or-later
+
#include "common/assert.h"
#include "common/logging/log.h"
#include "enet/enet.h"
@@ -8,40 +11,38 @@
namespace Network {
-RoomNetwork::RoomNetwork() {
- m_room = std::make_shared<Room>();
- m_room_member = std::make_shared<RoomMember>();
-}
+static std::shared_ptr<RoomMember> g_room_member; ///< RoomMember (Client) for network games
+static std::shared_ptr<Room> g_room; ///< Room (Server) for network games
-bool RoomNetwork::Init() {
+bool Init() {
if (enet_initialize() != 0) {
LOG_ERROR(Network, "Error initializing ENet");
return false;
}
- m_room = std::make_shared<Room>();
- m_room_member = std::make_shared<RoomMember>();
+ g_room = std::make_shared<Room>();
+ g_room_member = std::make_shared<RoomMember>();
LOG_DEBUG(Network, "initialized OK");
return true;
}
-std::weak_ptr<Room> RoomNetwork::GetRoom() {
- return m_room;
+std::weak_ptr<Room> GetRoom() {
+ return g_room;
}
-std::weak_ptr<RoomMember> RoomNetwork::GetRoomMember() {
- return m_room_member;
+std::weak_ptr<RoomMember> GetRoomMember() {
+ return g_room_member;
}
-void RoomNetwork::Shutdown() {
- if (m_room_member) {
- if (m_room_member->IsConnected())
- m_room_member->Leave();
- m_room_member.reset();
+void Shutdown() {
+ if (g_room_member) {
+ if (g_room_member->IsConnected())
+ g_room_member->Leave();
+ g_room_member.reset();
}
- if (m_room) {
- if (m_room->GetState() == Room::State::Open)
- m_room->Destroy();
- m_room.reset();
+ if (g_room) {
+ if (g_room->GetState() == Room::State::Open)
+ g_room->Destroy();
+ g_room.reset();
}
enet_deinitialize();
LOG_DEBUG(Network, "shutdown OK");