summaryrefslogtreecommitdiff
path: root/src/core/hle/service/grc
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/grc
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/grc')
-rw-r--r--src/core/hle/service/grc/grc.cpp9
-rw-r--r--src/core/hle/service/grc/grc.h6
2 files changed, 7 insertions, 8 deletions
diff --git a/src/core/hle/service/grc/grc.cpp b/src/core/hle/service/grc/grc.cpp
index 4b684f6d0..64275da36 100644
--- a/src/core/hle/service/grc/grc.cpp
+++ b/src/core/hle/service/grc/grc.cpp
@@ -4,8 +4,8 @@
4#include <memory> 4#include <memory>
5 5
6#include "core/hle/service/grc/grc.h" 6#include "core/hle/service/grc/grc.h"
7#include "core/hle/service/server_manager.h"
7#include "core/hle/service/service.h" 8#include "core/hle/service/service.h"
8#include "core/hle/service/sm/sm.h"
9 9
10namespace Service::GRC { 10namespace Service::GRC {
11 11
@@ -26,8 +26,11 @@ public:
26 } 26 }
27}; 27};
28 28
29void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { 29void LoopProcess(Core::System& system) {
30 std::make_shared<GRC>(system)->InstallAsService(sm); 30 auto server_manager = std::make_unique<ServerManager>(system);
31
32 server_manager->RegisterNamedService("grc:c", std::make_shared<GRC>(system));
33 ServerManager::RunServer(std::move(server_manager));
31} 34}
32 35
33} // namespace Service::GRC 36} // namespace Service::GRC
diff --git a/src/core/hle/service/grc/grc.h b/src/core/hle/service/grc/grc.h
index f8c2f8dab..a3f8a5b90 100644
--- a/src/core/hle/service/grc/grc.h
+++ b/src/core/hle/service/grc/grc.h
@@ -7,12 +7,8 @@ namespace Core {
7class System; 7class System;
8} 8}
9 9
10namespace Service::SM {
11class ServiceManager;
12}
13
14namespace Service::GRC { 10namespace Service::GRC {
15 11
16void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); 12void LoopProcess(Core::System& system);
17 13
18} // namespace Service::GRC 14} // namespace Service::GRC