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/prepo/prepo.cpp | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/core/hle/service/prepo/prepo.cpp') diff --git a/src/core/hle/service/prepo/prepo.cpp b/src/core/hle/service/prepo/prepo.cpp index 90c5f8756..02af311e8 100644 --- a/src/core/hle/service/prepo/prepo.cpp +++ b/src/core/hle/service/prepo/prepo.cpp @@ -7,6 +7,7 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/prepo/prepo.h" +#include "core/hle/service/server_manager.h" #include "core/hle/service/service.h" #include "core/reporter.h" @@ -183,12 +184,20 @@ private: } }; -void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { - std::make_shared("prepo:a", system)->InstallAsService(service_manager); - std::make_shared("prepo:a2", system)->InstallAsService(service_manager); - std::make_shared("prepo:m", system)->InstallAsService(service_manager); - std::make_shared("prepo:s", system)->InstallAsService(service_manager); - std::make_shared("prepo:u", system)->InstallAsService(service_manager); +void LoopProcess(Core::System& system) { + auto server_manager = std::make_unique(system); + + server_manager->RegisterNamedService("prepo:a", + std::make_shared("prepo:a", system)); + server_manager->RegisterNamedService("prepo:a2", + std::make_shared("prepo:a2", system)); + server_manager->RegisterNamedService("prepo:m", + std::make_shared("prepo:m", system)); + server_manager->RegisterNamedService("prepo:s", + std::make_shared("prepo:s", system)); + server_manager->RegisterNamedService("prepo:u", + std::make_shared("prepo:u", system)); + ServerManager::RunServer(std::move(server_manager)); } } // namespace Service::PlayReport -- cgit v1.2.3