aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/fatal/fatal.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-02-18 16:26:48 -0500
committerLiam <byteslice@airmail.cc>2023-02-21 12:19:25 -0500
commita9369726147c7499e0016e183d5d56a7b44efe4b (patch)
treec1d1b4a9fdafd92863c0922b05d72c14de83ffa7 /src/core/hle/service/fatal/fatal.cpp
parent23151ff498993badb341ddf6de5ed38a5833e41c (diff)
service: refactor server architecture
Converts services to have their own processes
Diffstat (limited to 'src/core/hle/service/fatal/fatal.cpp')
-rw-r--r--src/core/hle/service/fatal/fatal.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/core/hle/service/fatal/fatal.cpp b/src/core/hle/service/fatal/fatal.cpp
index 2e5919330..3b7b636f3 100644
--- a/src/core/hle/service/fatal/fatal.cpp
+++ b/src/core/hle/service/fatal/fatal.cpp
@@ -13,6 +13,7 @@
#include "core/hle/service/fatal/fatal.h"
#include "core/hle/service/fatal/fatal_p.h"
#include "core/hle/service/fatal/fatal_u.h"
+#include "core/hle/service/server_manager.h"
#include "core/reporter.h"
namespace Service::Fatal {
@@ -163,10 +164,13 @@ void Module::Interface::ThrowFatalWithCpuContext(Kernel::HLERequestContext& ctx)
rb.Push(ResultSuccess);
}
-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<Fatal_P>(module, system)->InstallAsService(service_manager);
- std::make_shared<Fatal_U>(module, system)->InstallAsService(service_manager);
+
+ server_manager->RegisterNamedService("fatal:p", std::make_shared<Fatal_P>(module, system));
+ server_manager->RegisterNamedService("fatal:u", std::make_shared<Fatal_U>(module, system));
+ ServerManager::RunServer(std::move(server_manager));
}
} // namespace Service::Fatal