summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/friend
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-02-18 22:26:48 +0100
committerLiam <byteslice@airmail.cc>2023-02-21 18:19:25 +0100
commita9369726147c7499e0016e183d5d56a7b44efe4b (patch)
treec1d1b4a9fdafd92863c0922b05d72c14de83ffa7 /src/core/hle/service/friend
parentcore: defer cpu shutdown (diff)
downloadyuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.gz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.bz2
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.lz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.xz
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.tar.zst
yuzu-a9369726147c7499e0016e183d5d56a7b44efe4b.zip
Diffstat (limited to 'src/core/hle/service/friend')
-rw-r--r--src/core/hle/service/friend/friend.cpp22
-rw-r--r--src/core/hle/service/friend/friend.h3
2 files changed, 17 insertions, 8 deletions
diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp
index fad532115..fcf10bfeb 100644
--- a/src/core/hle/service/friend/friend.cpp
+++ b/src/core/hle/service/friend/friend.cpp
@@ -11,6 +11,7 @@
#include "core/hle/service/friend/friend.h"
#include "core/hle/service/friend/friend_interface.h"
#include "core/hle/service/kernel_helpers.h"
+#include "core/hle/service/server_manager.h"
namespace Service::Friend {
@@ -335,13 +336,22 @@ Module::Interface::Interface(std::shared_ptr<Module> module_, Core::System& syst
Module::Interface::~Interface() = default;
-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<Friend>(module, system, "friend:a")->InstallAsService(service_manager);
- std::make_shared<Friend>(module, system, "friend:m")->InstallAsService(service_manager);
- std::make_shared<Friend>(module, system, "friend:s")->InstallAsService(service_manager);
- std::make_shared<Friend>(module, system, "friend:u")->InstallAsService(service_manager);
- std::make_shared<Friend>(module, system, "friend:v")->InstallAsService(service_manager);
+
+ server_manager->RegisterNamedService("friend:a",
+ std::make_shared<Friend>(module, system, "friend:a"));
+ server_manager->RegisterNamedService("friend:m",
+ std::make_shared<Friend>(module, system, "friend:m"));
+ server_manager->RegisterNamedService("friend:s",
+ std::make_shared<Friend>(module, system, "friend:s"));
+ server_manager->RegisterNamedService("friend:u",
+ std::make_shared<Friend>(module, system, "friend:u"));
+ server_manager->RegisterNamedService("friend:v",
+ std::make_shared<Friend>(module, system, "friend:v"));
+
+ ServerManager::RunServer(std::move(server_manager));
}
} // namespace Service::Friend
diff --git a/src/core/hle/service/friend/friend.h b/src/core/hle/service/friend/friend.h
index 444da8b35..41be06a4f 100644
--- a/src/core/hle/service/friend/friend.h
+++ b/src/core/hle/service/friend/friend.h
@@ -27,7 +27,6 @@ public:
};
};
-/// Registers all Friend services with the specified service manager.
-void InstallInterfaces(SM::ServiceManager& service_manager, Core::System& system);
+void LoopProcess(Core::System& system);
} // namespace Service::Friend