diff options
| author | Liam <byteslice@airmail.cc> | 2023-02-18 16:26:48 -0500 |
|---|---|---|
| committer | Liam <byteslice@airmail.cc> | 2023-02-21 12:19:25 -0500 |
| commit | a9369726147c7499e0016e183d5d56a7b44efe4b (patch) | |
| tree | c1d1b4a9fdafd92863c0922b05d72c14de83ffa7 /src/core/hle/service/filesystem/filesystem.cpp | |
| parent | 23151ff498993badb341ddf6de5ed38a5833e41c (diff) | |
service: refactor server architecture
Converts services to have their own processes
Diffstat (limited to 'src/core/hle/service/filesystem/filesystem.cpp')
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index 177447bc1..dfcdd3ada 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -23,6 +23,7 @@ #include "core/hle/service/filesystem/fsp_ldr.h" #include "core/hle/service/filesystem/fsp_pr.h" #include "core/hle/service/filesystem/fsp_srv.h" +#include "core/hle/service/server_manager.h" #include "core/loader/loader.h" namespace Service::FileSystem { @@ -796,10 +797,13 @@ void FileSystemController::CreateFactories(FileSys::VfsFilesystem& vfs, bool ove } } -void InstallInterfaces(Core::System& system) { - std::make_shared<FSP_LDR>(system)->InstallAsService(system.ServiceManager()); - std::make_shared<FSP_PR>(system)->InstallAsService(system.ServiceManager()); - std::make_shared<FSP_SRV>(system)->InstallAsService(system.ServiceManager()); +void LoopProcess(Core::System& system) { + auto server_manager = std::make_unique<ServerManager>(system); + + server_manager->RegisterNamedService("fsp-ldr", std::make_shared<FSP_LDR>(system)); + server_manager->RegisterNamedService("fsp:pr", std::make_shared<FSP_PR>(system)); + server_manager->RegisterNamedService("fsp-srv", std::make_shared<FSP_SRV>(system)); + ServerManager::RunServer(std::move(server_manager)); } } // namespace Service::FileSystem |
