From a9369726147c7499e0016e183d5d56a7b44efe4b Mon Sep 17 00:00:00 2001 From: Liam Date: Sat, 18 Feb 2023 16:26:48 -0500 Subject: service: refactor server architecture Converts services to have their own processes --- src/core/hle/service/fgm/fgm.cpp | 14 +++++++++----- src/core/hle/service/fgm/fgm.h | 6 +----- 2 files changed, 10 insertions(+), 10 deletions(-) (limited to 'src/core/hle/service/fgm') diff --git a/src/core/hle/service/fgm/fgm.cpp b/src/core/hle/service/fgm/fgm.cpp index 7e9fb0385..612491270 100644 --- a/src/core/hle/service/fgm/fgm.cpp +++ b/src/core/hle/service/fgm/fgm.cpp @@ -5,6 +5,7 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/service/fgm/fgm.h" +#include "core/hle/service/server_manager.h" #include "core/hle/service/service.h" #include "core/hle/service/sm/sm.h" @@ -63,11 +64,14 @@ public: } }; -void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { - std::make_shared(system, "fgm")->InstallAsService(sm); - std::make_shared(system, "fgm:0")->InstallAsService(sm); - std::make_shared(system, "fgm:9")->InstallAsService(sm); - std::make_shared(system)->InstallAsService(sm); +void LoopProcess(Core::System& system) { + auto server_manager = std::make_unique(system); + + server_manager->RegisterNamedService("fgm", std::make_shared(system, "fgm")); + server_manager->RegisterNamedService("fgm:0", std::make_shared(system, "fgm:0")); + server_manager->RegisterNamedService("fgm:9", std::make_shared(system, "fgm:9")); + server_manager->RegisterNamedService("fgm:dbg", std::make_shared(system)); + ServerManager::RunServer(std::move(server_manager)); } } // namespace Service::FGM diff --git a/src/core/hle/service/fgm/fgm.h b/src/core/hle/service/fgm/fgm.h index 077e48812..9d2465c0f 100644 --- a/src/core/hle/service/fgm/fgm.h +++ b/src/core/hle/service/fgm/fgm.h @@ -7,12 +7,8 @@ namespace Core { class System; } -namespace Service::SM { -class ServiceManager; -} - namespace Service::FGM { -void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); +void LoopProcess(Core::System& system); } // namespace Service::FGM -- cgit v1.2.3