aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/pctl/pctl_module.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/pctl/pctl_module.cpp
parentda11c40849eb338bb77567eba2447398c4bab474 (diff)
parent72e5552409305fe57781b83c3145fb2b66552be2 (diff)
Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
Diffstat (limited to 'src/core/hle/service/pctl/pctl_module.cpp')
-rw-r--r--src/core/hle/service/pctl/pctl_module.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/core/hle/service/pctl/pctl_module.cpp b/src/core/hle/service/pctl/pctl_module.cpp
index 083609b34..a4a12a78c 100644
--- a/src/core/hle/service/pctl/pctl_module.cpp
+++ b/src/core/hle/service/pctl/pctl_module.cpp
@@ -8,6 +8,7 @@
#include "core/hle/ipc_helpers.h"
#include "core/hle/service/pctl/pctl.h"
#include "core/hle/service/pctl/pctl_module.h"
+#include "core/hle/service/server_manager.h"
namespace Service::PCTL {
@@ -393,19 +394,22 @@ Module::Interface::Interface(Core::System& system_, std::shared_ptr<Module> modu
Module::Interface::~Interface() = default;
-void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) {
+void LoopProcess(Core::System& system) {
+ auto server_manager = std::make_unique<ServerManager>(system);
+
auto module = std::make_shared<Module>();
- std::make_shared<PCTL>(system, module, "pctl",
- Capability::Application | Capability::SnsPost | Capability::Status |
- Capability::StereoVision)
- ->InstallAsService(service_manager);
+ server_manager->RegisterNamedService(
+ "pctl", std::make_shared<PCTL>(system, module, "pctl",
+ Capability::Application | Capability::SnsPost |
+ Capability::Status | Capability::StereoVision));
// TODO(ogniK): Implement remaining capabilities
- std::make_shared<PCTL>(system, module, "pctl:a", Capability::None)
- ->InstallAsService(service_manager);
- std::make_shared<PCTL>(system, module, "pctl:r", Capability::None)
- ->InstallAsService(service_manager);
- std::make_shared<PCTL>(system, module, "pctl:s", Capability::None)
- ->InstallAsService(service_manager);
+ server_manager->RegisterNamedService(
+ "pctl:a", std::make_shared<PCTL>(system, module, "pctl:a", Capability::None));
+ server_manager->RegisterNamedService(
+ "pctl:r", std::make_shared<PCTL>(system, module, "pctl:r", Capability::None));
+ server_manager->RegisterNamedService(
+ "pctl:s", std::make_shared<PCTL>(system, module, "pctl:s", Capability::None));
+ ServerManager::RunServer(std::move(server_manager));
}
} // namespace Service::PCTL