summaryrefslogtreecommitdiff
path: root/src/core/hle/service/pctl
diff options
context:
space:
mode:
authorGravatar liamwhite2023-03-01 10:38:20 -0500
committerGravatar GitHub2023-03-01 10:38:20 -0500
commit97f7a560f3905a1dd6a4e5a0a308ea752004bf08 (patch)
treee60a69f96d16d051220b66e90906a7abeacf1064 /src/core/hle/service/pctl
parentMerge pull request #9879 from zhaobot/tx-update-20230301024940 (diff)
parentsm:: fix lingering session initialization issues (diff)
downloadyuzu-97f7a560f3905a1dd6a4e5a0a308ea752004bf08.tar.gz
yuzu-97f7a560f3905a1dd6a4e5a0a308ea752004bf08.tar.xz
yuzu-97f7a560f3905a1dd6a4e5a0a308ea752004bf08.zip
Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
Diffstat (limited to 'src/core/hle/service/pctl')
-rw-r--r--src/core/hle/service/pctl/pctl_module.cpp26
-rw-r--r--src/core/hle/service/pctl/pctl_module.h3
2 files changed, 16 insertions, 13 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 @@
8#include "core/hle/ipc_helpers.h" 8#include "core/hle/ipc_helpers.h"
9#include "core/hle/service/pctl/pctl.h" 9#include "core/hle/service/pctl/pctl.h"
10#include "core/hle/service/pctl/pctl_module.h" 10#include "core/hle/service/pctl/pctl_module.h"
11#include "core/hle/service/server_manager.h"
11 12
12namespace Service::PCTL { 13namespace Service::PCTL {
13 14
@@ -393,19 +394,22 @@ Module::Interface::Interface(Core::System& system_, std::shared_ptr<Module> modu
393 394
394Module::Interface::~Interface() = default; 395Module::Interface::~Interface() = default;
395 396
396void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { 397void LoopProcess(Core::System& system) {
398 auto server_manager = std::make_unique<ServerManager>(system);
399
397 auto module = std::make_shared<Module>(); 400 auto module = std::make_shared<Module>();
398 std::make_shared<PCTL>(system, module, "pctl", 401 server_manager->RegisterNamedService(
399 Capability::Application | Capability::SnsPost | Capability::Status | 402 "pctl", std::make_shared<PCTL>(system, module, "pctl",
400 Capability::StereoVision) 403 Capability::Application | Capability::SnsPost |
401 ->InstallAsService(service_manager); 404 Capability::Status | Capability::StereoVision));
402 // TODO(ogniK): Implement remaining capabilities 405 // TODO(ogniK): Implement remaining capabilities
403 std::make_shared<PCTL>(system, module, "pctl:a", Capability::None) 406 server_manager->RegisterNamedService(
404 ->InstallAsService(service_manager); 407 "pctl:a", std::make_shared<PCTL>(system, module, "pctl:a", Capability::None));
405 std::make_shared<PCTL>(system, module, "pctl:r", Capability::None) 408 server_manager->RegisterNamedService(
406 ->InstallAsService(service_manager); 409 "pctl:r", std::make_shared<PCTL>(system, module, "pctl:r", Capability::None));
407 std::make_shared<PCTL>(system, module, "pctl:s", Capability::None) 410 server_manager->RegisterNamedService(
408 ->InstallAsService(service_manager); 411 "pctl:s", std::make_shared<PCTL>(system, module, "pctl:s", Capability::None));
412 ServerManager::RunServer(std::move(server_manager));
409} 413}
410 414
411} // namespace Service::PCTL 415} // namespace Service::PCTL
diff --git a/src/core/hle/service/pctl/pctl_module.h b/src/core/hle/service/pctl/pctl_module.h
index 6f584530d..4ea77ab21 100644
--- a/src/core/hle/service/pctl/pctl_module.h
+++ b/src/core/hle/service/pctl/pctl_module.h
@@ -42,7 +42,6 @@ public:
42 }; 42 };
43}; 43};
44 44
45/// Registers all PCTL services with the specified service manager. 45void LoopProcess(Core::System& system);
46void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system);
47 46
48} // namespace Service::PCTL 47} // namespace Service::PCTL