summaryrefslogtreecommitdiff
path: root/src/core/hle/service/btm
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/btm
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/btm')
-rw-r--r--src/core/hle/service/btm/btm.cpp14
-rw-r--r--src/core/hle/service/btm/btm.h2
2 files changed, 10 insertions, 6 deletions
diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp
index eebf85e03..e068ea87f 100644
--- a/src/core/hle/service/btm/btm.cpp
+++ b/src/core/hle/service/btm/btm.cpp
@@ -9,6 +9,7 @@
9#include "core/hle/kernel/k_event.h" 9#include "core/hle/kernel/k_event.h"
10#include "core/hle/service/btm/btm.h" 10#include "core/hle/service/btm/btm.h"
11#include "core/hle/service/kernel_helpers.h" 11#include "core/hle/service/kernel_helpers.h"
12#include "core/hle/service/server_manager.h"
12#include "core/hle/service/service.h" 13#include "core/hle/service/service.h"
13 14
14namespace Service::BTM { 15namespace Service::BTM {
@@ -311,11 +312,14 @@ private:
311 } 312 }
312}; 313};
313 314
314void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { 315void LoopProcess(Core::System& system) {
315 std::make_shared<BTM>(system)->InstallAsService(sm); 316 auto server_manager = std::make_unique<ServerManager>(system);
316 std::make_shared<BTM_DBG>(system)->InstallAsService(sm); 317
317 std::make_shared<BTM_SYS>(system)->InstallAsService(sm); 318 server_manager->RegisterNamedService("btm", std::make_shared<BTM>(system));
318 std::make_shared<BTM_USR>(system)->InstallAsService(sm); 319 server_manager->RegisterNamedService("btm:dbg", std::make_shared<BTM_DBG>(system));
320 server_manager->RegisterNamedService("btm:sys", std::make_shared<BTM_SYS>(system));
321 server_manager->RegisterNamedService("btm:u", std::make_shared<BTM_USR>(system));
322 ServerManager::RunServer(std::move(server_manager));
319} 323}
320 324
321} // namespace Service::BTM 325} // namespace Service::BTM
diff --git a/src/core/hle/service/btm/btm.h b/src/core/hle/service/btm/btm.h
index 9dcda1848..a99b34364 100644
--- a/src/core/hle/service/btm/btm.h
+++ b/src/core/hle/service/btm/btm.h
@@ -13,6 +13,6 @@ class System;
13 13
14namespace Service::BTM { 14namespace Service::BTM {
15 15
16void InstallInterfaces(SM::ServiceManager& sm, Core::System& system); 16void LoopProcess(Core::System& system);
17 17
18} // namespace Service::BTM 18} // namespace Service::BTM