aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/apm/apm.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-03-01 10:38:20 -0500
committerGitHub <noreply@github.com>2023-03-01 10:38:20 -0500
commit97f7a560f3905a1dd6a4e5a0a308ea752004bf08 (patch)
treee60a69f96d16d051220b66e90906a7abeacf1064 /src/core/hle/service/apm/apm.cpp
parentda11c40849eb338bb77567eba2447398c4bab474 (diff)
parent72e5552409305fe57781b83c3145fb2b66552be2 (diff)
Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
Diffstat (limited to 'src/core/hle/service/apm/apm.cpp')
-rw-r--r--src/core/hle/service/apm/apm.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/core/hle/service/apm/apm.cpp b/src/core/hle/service/apm/apm.cpp
index 44b2927a6..c23ff293d 100644
--- a/src/core/hle/service/apm/apm.cpp
+++ b/src/core/hle/service/apm/apm.cpp
@@ -4,20 +4,24 @@
#include "core/core.h"
#include "core/hle/service/apm/apm.h"
#include "core/hle/service/apm/apm_interface.h"
+#include "core/hle/service/server_manager.h"
namespace Service::APM {
Module::Module() = default;
Module::~Module() = default;
-void InstallInterfaces(Core::System& system) {
- auto module_ = std::make_shared<Module>();
- std::make_shared<APM>(system, module_, system.GetAPMController(), "apm")
- ->InstallAsService(system.ServiceManager());
- std::make_shared<APM>(system, module_, system.GetAPMController(), "apm:am")
- ->InstallAsService(system.ServiceManager());
- std::make_shared<APM_Sys>(system, system.GetAPMController())
- ->InstallAsService(system.ServiceManager());
+void LoopProcess(Core::System& system) {
+ auto module = std::make_shared<Module>();
+ auto server_manager = std::make_unique<ServerManager>(system);
+
+ server_manager->RegisterNamedService(
+ "apm", std::make_shared<APM>(system, module, system.GetAPMController(), "apm"));
+ server_manager->RegisterNamedService(
+ "apm:am", std::make_shared<APM>(system, module, system.GetAPMController(), "apm:am"));
+ server_manager->RegisterNamedService(
+ "apm:sys", std::make_shared<APM_Sys>(system, system.GetAPMController()));
+ ServerManager::RunServer(std::move(server_manager));
}
} // namespace Service::APM