summaryrefslogtreecommitdiff
path: root/src/core/hle/service/fgm
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/fgm
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/fgm')
-rw-r--r--src/core/hle/service/fgm/fgm.cpp14
-rw-r--r--src/core/hle/service/fgm/fgm.h6
2 files changed, 10 insertions, 10 deletions
diff --git a/src/core/hle/service/fgm/fgm.cpp b/src/core/hle/service/fgm/fgm.cpp
index 7e9fb0385..612491270 100644
--- a/src/core/hle/service/fgm/fgm.cpp
+++ b/src/core/hle/service/fgm/fgm.cpp
@@ -5,6 +5,7 @@
5 5
6#include "core/hle/ipc_helpers.h" 6#include "core/hle/ipc_helpers.h"
7#include "core/hle/service/fgm/fgm.h" 7#include "core/hle/service/fgm/fgm.h"
8#include "core/hle/service/server_manager.h"
8#include "core/hle/service/service.h" 9#include "core/hle/service/service.h"
9#include "core/hle/service/sm/sm.h" 10#include "core/hle/service/sm/sm.h"
10 11
@@ -63,11 +64,14 @@ public:
63 } 64 }
64}; 65};
65 66
66void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { 67void LoopProcess(Core::System& system) {
67 std::make_shared<FGM>(system, "fgm")->InstallAsService(sm); 68 auto server_manager = std::make_unique<ServerManager>(system);
68 std::make_shared<FGM>(system, "fgm:0")->InstallAsService(sm); 69
69 std::make_shared<FGM>(system, "fgm:9")->InstallAsService(sm); 70 server_manager->RegisterNamedService("fgm", std::make_shared<FGM>(system, "fgm"));
70 std::make_shared<FGM_DBG>(system)->InstallAsService(sm); 71 server_manager->RegisterNamedService("fgm:0", std::make_shared<FGM>(system, "fgm:0"));
72 server_manager->RegisterNamedService("fgm:9", std::make_shared<FGM>(system, "fgm:9"));
73 server_manager->RegisterNamedService("fgm:dbg", std::make_shared<FGM_DBG>(system));
74 ServerManager::RunServer(std::move(server_manager));
71} 75}
72 76
73} // namespace Service::FGM 77} // namespace Service::FGM
diff --git a/src/core/hle/service/fgm/fgm.h b/src/core/hle/service/fgm/fgm.h
index 077e48812..9d2465c0f 100644
--- a/src/core/hle/service/fgm/fgm.h
+++ b/src/core/hle/service/fgm/fgm.h
@@ -7,12 +7,8 @@ namespace Core {
7class System; 7class System;
8} 8}
9 9
10namespace Service::SM {
11class ServiceManager;
12}
13
14namespace Service::FGM { 10namespace Service::FGM {
15 11
16void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); 12void LoopProcess(Core::System& system);
17 13
18} // namespace Service::FGM 14} // namespace Service::FGM