summaryrefslogtreecommitdiff
path: root/src/core/hle/service/ncm
diff options
context:
space:
mode:
authorGravatar Liam2023-02-18 16:26:48 -0500
committerGravatar Liam2023-02-21 12:19:25 -0500
commita9369726147c7499e0016e183d5d56a7b44efe4b (patch)
treec1d1b4a9fdafd92863c0922b05d72c14de83ffa7 /src/core/hle/service/ncm
parentcore: defer cpu shutdown (diff)
downloadyuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.gz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.xz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.zip
service: refactor server architecture
Converts services to have their own processes
Diffstat (limited to 'src/core/hle/service/ncm')
-rw-r--r--src/core/hle/service/ncm/ncm.cpp11
-rw-r--r--src/core/hle/service/ncm/ncm.h6
2 files changed, 8 insertions, 9 deletions
diff --git a/src/core/hle/service/ncm/ncm.cpp b/src/core/hle/service/ncm/ncm.cpp
index 68210a108..e8cd762ad 100644
--- a/src/core/hle/service/ncm/ncm.cpp
+++ b/src/core/hle/service/ncm/ncm.cpp
@@ -6,8 +6,8 @@
6#include "core/file_sys/romfs_factory.h" 6#include "core/file_sys/romfs_factory.h"
7#include "core/hle/ipc_helpers.h" 7#include "core/hle/ipc_helpers.h"
8#include "core/hle/service/ncm/ncm.h" 8#include "core/hle/service/ncm/ncm.h"
9#include "core/hle/service/server_manager.h"
9#include "core/hle/service/service.h" 10#include "core/hle/service/service.h"
10#include "core/hle/service/sm/sm.h"
11 11
12namespace Service::NCM { 12namespace Service::NCM {
13 13
@@ -131,9 +131,12 @@ public:
131 } 131 }
132}; 132};
133 133
134void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { 134void LoopProcess(Core::System& system) {
135 std::make_shared<LR>(system)->InstallAsService(sm); 135 auto server_manager = std::make_unique<ServerManager>(system);
136 std::make_shared<NCM>(system)->InstallAsService(sm); 136
137 server_manager->RegisterNamedService("lr", std::make_shared<LR>(system));
138 server_manager->RegisterNamedService("ncm", std::make_shared<NCM>(system));
139 ServerManager::RunServer(std::move(server_manager));
137} 140}
138 141
139} // namespace Service::NCM 142} // namespace Service::NCM
diff --git a/src/core/hle/service/ncm/ncm.h b/src/core/hle/service/ncm/ncm.h
index de3971437..b78efdcd7 100644
--- a/src/core/hle/service/ncm/ncm.h
+++ b/src/core/hle/service/ncm/ncm.h
@@ -7,12 +7,8 @@ namespace Core {
7class System; 7class System;
8} 8}
9 9
10namespace Service::SM {
11class ServiceManager;
12}
13
14namespace Service::NCM { 10namespace Service::NCM {
15 11
16void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); 12void LoopProcess(Core::System& system);
17 13
18} // namespace Service::NCM 14} // namespace Service::NCM