summaryrefslogtreecommitdiff
path: root/src/core/core.cpp
diff options
context:
space:
mode:
authorGravatar FearlessTobi2022-07-22 16:31:13 +0200
committerGravatar FearlessTobi2022-07-25 21:59:31 +0200
commit7d82e57b91dee30e0fe6fed36550ea7cc9eb778e (patch)
tree4a58f4874083783026dabc0de6a7fb09195cf95b /src/core/core.cpp
parentcommon: multiplayer: Use GameInfo type (diff)
downloadyuzu-7d82e57b91dee30e0fe6fed36550ea7cc9eb778e.tar.gz
yuzu-7d82e57b91dee30e0fe6fed36550ea7cc9eb778e.tar.xz
yuzu-7d82e57b91dee30e0fe6fed36550ea7cc9eb778e.zip
network: Move global state into a seperate class
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Diffstat (limited to 'src/core/core.cpp')
-rw-r--r--src/core/core.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/core/core.cpp b/src/core/core.cpp
index 98fe6d39c..95791a07f 100644
--- a/src/core/core.cpp
+++ b/src/core/core.cpp
@@ -131,7 +131,7 @@ FileSys::VirtualFile GetGameFileFromPath(const FileSys::VirtualFilesystem& vfs,
131 131
132struct System::Impl { 132struct System::Impl {
133 explicit Impl(System& system) 133 explicit Impl(System& system)
134 : kernel{system}, fs_controller{system}, memory{system}, hid_core{}, 134 : kernel{system}, fs_controller{system}, memory{system}, hid_core{}, room_network{},
135 cpu_manager{system}, reporter{system}, applet_manager{system}, time_manager{system} {} 135 cpu_manager{system}, reporter{system}, applet_manager{system}, time_manager{system} {}
136 136
137 SystemResultStatus Run() { 137 SystemResultStatus Run() {
@@ -320,7 +320,7 @@ struct System::Impl {
320 if (app_loader->ReadTitle(name) != Loader::ResultStatus::Success) { 320 if (app_loader->ReadTitle(name) != Loader::ResultStatus::Success) {
321 LOG_ERROR(Core, "Failed to read title for ROM (Error {})", load_result); 321 LOG_ERROR(Core, "Failed to read title for ROM (Error {})", load_result);
322 } 322 }
323 if (auto room_member = Network::GetRoomMember().lock()) { 323 if (auto room_member = room_network.GetRoomMember().lock()) {
324 Network::GameInfo game_info; 324 Network::GameInfo game_info;
325 game_info.name = name; 325 game_info.name = name;
326 game_info.id = program_id; 326 game_info.id = program_id;
@@ -374,7 +374,7 @@ struct System::Impl {
374 memory.Reset(); 374 memory.Reset();
375 applet_manager.ClearAll(); 375 applet_manager.ClearAll();
376 376
377 if (auto room_member = Network::GetRoomMember().lock()) { 377 if (auto room_member = room_network.GetRoomMember().lock()) {
378 Network::GameInfo game_info{}; 378 Network::GameInfo game_info{};
379 room_member->SendGameInfo(game_info); 379 room_member->SendGameInfo(game_info);
380 } 380 }
@@ -451,6 +451,8 @@ struct System::Impl {
451 std::unique_ptr<AudioCore::AudioCore> audio_core; 451 std::unique_ptr<AudioCore::AudioCore> audio_core;
452 Core::Memory::Memory memory; 452 Core::Memory::Memory memory;
453 Core::HID::HIDCore hid_core; 453 Core::HID::HIDCore hid_core;
454 Network::RoomNetwork room_network;
455
454 CpuManager cpu_manager; 456 CpuManager cpu_manager;
455 std::atomic_bool is_powered_on{}; 457 std::atomic_bool is_powered_on{};
456 bool exit_lock = false; 458 bool exit_lock = false;
@@ -896,6 +898,14 @@ const Core::Debugger& System::GetDebugger() const {
896 return *impl->debugger; 898 return *impl->debugger;
897} 899}
898 900
901Network::RoomNetwork& System::GetRoomNetwork() {
902 return impl->room_network;
903}
904
905const Network::RoomNetwork& System::GetRoomNetwork() const {
906 return impl->room_network;
907}
908
899void System::RegisterExecuteProgramCallback(ExecuteProgramCallback&& callback) { 909void System::RegisterExecuteProgramCallback(ExecuteProgramCallback&& callback) {
900 impl->execute_program_callback = std::move(callback); 910 impl->execute_program_callback = std::move(callback);
901} 911}