summaryrefslogtreecommitdiff
path: root/src/core/hle/service/set
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/set
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/set')
-rw-r--r--src/core/hle/service/set/settings.cpp15
-rw-r--r--src/core/hle/service/set/settings.h7
2 files changed, 10 insertions, 12 deletions
diff --git a/src/core/hle/service/set/settings.cpp b/src/core/hle/service/set/settings.cpp
index 4ebc2a0ec..c48844f77 100644
--- a/src/core/hle/service/set/settings.cpp
+++ b/src/core/hle/service/set/settings.cpp
@@ -1,20 +1,23 @@
1// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project 1// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
2// SPDX-License-Identifier: GPL-2.0-or-later 2// SPDX-License-Identifier: GPL-2.0-or-later
3 3
4#include "core/hle/service/server_manager.h"
4#include "core/hle/service/set/set.h" 5#include "core/hle/service/set/set.h"
5#include "core/hle/service/set/set_cal.h" 6#include "core/hle/service/set/set_cal.h"
6#include "core/hle/service/set/set_fd.h" 7#include "core/hle/service/set/set_fd.h"
7#include "core/hle/service/set/set_sys.h" 8#include "core/hle/service/set/set_sys.h"
8#include "core/hle/service/set/settings.h" 9#include "core/hle/service/set/settings.h"
9#include "core/hle/service/sm/sm.h"
10 10
11namespace Service::Set { 11namespace Service::Set {
12 12
13void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system) { 13void LoopProcess(Core::System& system) {
14 std::make_shared<SET>(system)->InstallAsService(service_manager); 14 auto server_manager = std::make_unique<ServerManager>(system);
15 std::make_shared<SET_CAL>(system)->InstallAsService(service_manager); 15
16 std::make_shared<SET_FD>(system)->InstallAsService(service_manager); 16 server_manager->RegisterNamedService("set", std::make_shared<SET>(system));
17 std::make_shared<SET_SYS>(system)->InstallAsService(service_manager); 17 server_manager->RegisterNamedService("set:cal", std::make_shared<SET_CAL>(system));
18 server_manager->RegisterNamedService("set:fd", std::make_shared<SET_FD>(system));
19 server_manager->RegisterNamedService("set:sys", std::make_shared<SET_SYS>(system));
20 ServerManager::RunServer(std::move(server_manager));
18} 21}
19 22
20} // namespace Service::Set 23} // namespace Service::Set
diff --git a/src/core/hle/service/set/settings.h b/src/core/hle/service/set/settings.h
index 6cd7d634c..03cd4bb66 100644
--- a/src/core/hle/service/set/settings.h
+++ b/src/core/hle/service/set/settings.h
@@ -7,13 +7,8 @@ namespace Core {
7class System; 7class System;
8} 8}
9 9
10namespace Service::SM {
11class ServiceManager;
12}
13
14namespace Service::Set { 10namespace Service::Set {
15 11
16/// Registers all Settings services with the specified service manager. 12void LoopProcess(Core::System& system);
17void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system);
18 13
19} // namespace Service::Set 14} // namespace Service::Set