summaryrefslogtreecommitdiff
path: root/src/core/hle/service/eupld
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/eupld
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/eupld')
-rw-r--r--src/core/hle/service/eupld/eupld.cpp11
-rw-r--r--src/core/hle/service/eupld/eupld.h7
2 files changed, 8 insertions, 10 deletions
diff --git a/src/core/hle/service/eupld/eupld.cpp b/src/core/hle/service/eupld/eupld.cpp
index d1553ace0..3cf27513a 100644
--- a/src/core/hle/service/eupld/eupld.cpp
+++ b/src/core/hle/service/eupld/eupld.cpp
@@ -4,8 +4,8 @@
4#include <memory> 4#include <memory>
5 5
6#include "core/hle/service/eupld/eupld.h" 6#include "core/hle/service/eupld/eupld.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::EUPLD { 10namespace Service::EUPLD {
11 11
@@ -44,9 +44,12 @@ public:
44 } 44 }
45}; 45};
46 46
47void InstallInterfaces(SM::ServiceManager& sm, Core::System& system) { 47void LoopProcess(Core::System& system) {
48 std::make_shared<ErrorUploadContext>(system)->InstallAsService(sm); 48 auto server_manager = std::make_unique<ServerManager>(system);
49 std::make_shared<ErrorUploadRequest>(system)->InstallAsService(sm); 49
50 server_manager->RegisterNamedService("eupld:c", std::make_shared<ErrorUploadContext>(system));
51 server_manager->RegisterNamedService("eupld:r", std::make_shared<ErrorUploadRequest>(system));
52 ServerManager::RunServer(std::move(server_manager));
50} 53}
51 54
52} // namespace Service::EUPLD 55} // namespace Service::EUPLD
diff --git a/src/core/hle/service/eupld/eupld.h b/src/core/hle/service/eupld/eupld.h
index 5de8219be..8eb0a5b4f 100644
--- a/src/core/hle/service/eupld/eupld.h
+++ b/src/core/hle/service/eupld/eupld.h
@@ -7,13 +7,8 @@ namespace Core {
7class System; 7class System;
8} 8}
9 9
10namespace Service::SM {
11class ServiceManager;
12}
13
14namespace Service::EUPLD { 10namespace Service::EUPLD {
15 11
16/// Registers all EUPLD services with the specified service manager. 12void LoopProcess(Core::System& system);
17void InstallInterfaces(SM::ServiceManager& sm, Core::System& system);
18 13
19} // namespace Service::EUPLD 14} // namespace Service::EUPLD