From 77daef44b0a8f383c317824347713d97c4dc0053 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 24 Jul 2018 10:21:04 -0400 Subject: friend: Deduplicate interfaces --- src/core/CMakeLists.txt | 6 ++---- src/core/hle/service/friend/friend.cpp | 7 +++---- src/core/hle/service/friend/friend_a.cpp | 18 ------------------ src/core/hle/service/friend/friend_a.h | 16 ---------------- src/core/hle/service/friend/friend_u.cpp | 18 ------------------ src/core/hle/service/friend/friend_u.h | 16 ---------------- src/core/hle/service/friend/interface.cpp | 18 ++++++++++++++++++ src/core/hle/service/friend/interface.h | 16 ++++++++++++++++ 8 files changed, 39 insertions(+), 76 deletions(-) delete mode 100644 src/core/hle/service/friend/friend_a.cpp delete mode 100644 src/core/hle/service/friend/friend_a.h delete mode 100644 src/core/hle/service/friend/friend_u.cpp delete mode 100644 src/core/hle/service/friend/friend_u.h create mode 100644 src/core/hle/service/friend/interface.cpp create mode 100644 src/core/hle/service/friend/interface.h (limited to 'src') diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 6b6efbc00..b7d52babc 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -146,10 +146,8 @@ add_library(core STATIC hle/service/filesystem/fsp_srv.h hle/service/friend/friend.cpp hle/service/friend/friend.h - hle/service/friend/friend_a.cpp - hle/service/friend/friend_a.h - hle/service/friend/friend_u.cpp - hle/service/friend/friend_u.h + hle/service/friend/interface.cpp + hle/service/friend/interface.h hle/service/hid/hid.cpp hle/service/hid/hid.h hle/service/lm/lm.cpp diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index c98a46e05..3be0dcb9a 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -5,8 +5,7 @@ #include "common/logging/log.h" #include "core/hle/ipc_helpers.h" #include "core/hle/service/friend/friend.h" -#include "core/hle/service/friend/friend_a.h" -#include "core/hle/service/friend/friend_u.h" +#include "core/hle/service/friend/interface.h" namespace Service::Friend { @@ -21,8 +20,8 @@ Module::Interface::Interface(std::shared_ptr module, const char* name) void InstallInterfaces(SM::ServiceManager& service_manager) { auto module = std::make_shared(); - std::make_shared(module)->InstallAsService(service_manager); - std::make_shared(module)->InstallAsService(service_manager); + std::make_shared(module, "friend:a")->InstallAsService(service_manager); + std::make_shared(module, "friend:u")->InstallAsService(service_manager); } } // namespace Service::Friend diff --git a/src/core/hle/service/friend/friend_a.cpp b/src/core/hle/service/friend/friend_a.cpp deleted file mode 100644 index a2cc81926..000000000 --- a/src/core/hle/service/friend/friend_a.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2018 yuzu emulator team -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include "core/hle/service/friend/friend_a.h" - -namespace Service::Friend { - -Friend_A::Friend_A(std::shared_ptr module) - : Module::Interface(std::move(module), "friend:a") { - static const FunctionInfo functions[] = { - {0, &Friend_A::CreateFriendService, "CreateFriendService"}, - {1, nullptr, "CreateNotificationService"}, - }; - RegisterHandlers(functions); -} - -} // namespace Service::Friend diff --git a/src/core/hle/service/friend/friend_a.h b/src/core/hle/service/friend/friend_a.h deleted file mode 100644 index 81257583b..000000000 --- a/src/core/hle/service/friend/friend_a.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2018 yuzu emulator team -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include "core/hle/service/friend/friend.h" - -namespace Service::Friend { - -class Friend_A final : public Module::Interface { -public: - explicit Friend_A(std::shared_ptr module); -}; - -} // namespace Service::Friend diff --git a/src/core/hle/service/friend/friend_u.cpp b/src/core/hle/service/friend/friend_u.cpp deleted file mode 100644 index 90b30883f..000000000 --- a/src/core/hle/service/friend/friend_u.cpp +++ /dev/null @@ -1,18 +0,0 @@ -// Copyright 2018 yuzu emulator team -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#include "core/hle/service/friend/friend_u.h" - -namespace Service::Friend { - -Friend_U::Friend_U(std::shared_ptr module) - : Module::Interface(std::move(module), "friend:u") { - static const FunctionInfo functions[] = { - {0, &Friend_U::CreateFriendService, "CreateFriendService"}, - {1, nullptr, "CreateNotificationService"}, - }; - RegisterHandlers(functions); -} - -} // namespace Service::Friend diff --git a/src/core/hle/service/friend/friend_u.h b/src/core/hle/service/friend/friend_u.h deleted file mode 100644 index 0d953d807..000000000 --- a/src/core/hle/service/friend/friend_u.h +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2018 yuzu emulator team -// Licensed under GPLv2 or any later version -// Refer to the license.txt file included. - -#pragma once - -#include "core/hle/service/friend/friend.h" - -namespace Service::Friend { - -class Friend_U final : public Module::Interface { -public: - explicit Friend_U(std::shared_ptr module); -}; - -} // namespace Service::Friend diff --git a/src/core/hle/service/friend/interface.cpp b/src/core/hle/service/friend/interface.cpp new file mode 100644 index 000000000..a43c58ec6 --- /dev/null +++ b/src/core/hle/service/friend/interface.cpp @@ -0,0 +1,18 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#include "core/hle/service/friend/interface.h" + +namespace Service::Friend { + +Friend::Friend(std::shared_ptr module, const char* name) + : Interface(std::move(module), name) { + static const FunctionInfo functions[] = { + {0, &Friend::CreateFriendService, "CreateFriendService"}, + {1, nullptr, "CreateNotificationService"}, + }; + RegisterHandlers(functions); +} + +} // namespace Service::Friend diff --git a/src/core/hle/service/friend/interface.h b/src/core/hle/service/friend/interface.h new file mode 100644 index 000000000..89dae8471 --- /dev/null +++ b/src/core/hle/service/friend/interface.h @@ -0,0 +1,16 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/service/friend/friend.h" + +namespace Service::Friend { + +class Friend final : public Module::Interface { +public: + explicit Friend(std::shared_ptr module, const char* name); +}; + +} // namespace Service::Friend -- cgit v1.2.3 From 9539a1eaddc41ababeae25ab7d0922f708953639 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 24 Jul 2018 10:24:16 -0400 Subject: friend/interface: Add missing CreateDaemonSuspendSessionService() to the function handler table --- src/core/hle/service/friend/interface.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/core/hle/service/friend/interface.cpp b/src/core/hle/service/friend/interface.cpp index a43c58ec6..27c6a09e2 100644 --- a/src/core/hle/service/friend/interface.cpp +++ b/src/core/hle/service/friend/interface.cpp @@ -11,6 +11,7 @@ Friend::Friend(std::shared_ptr module, const char* name) static const FunctionInfo functions[] = { {0, &Friend::CreateFriendService, "CreateFriendService"}, {1, nullptr, "CreateNotificationService"}, + {2, nullptr, "CreateDaemonSuspendSessionService"}, }; RegisterHandlers(functions); } -- cgit v1.2.3 From 07c2d057bdae80cd7a7374176cdd16a6667e8482 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Tue, 24 Jul 2018 10:25:58 -0400 Subject: friend: Add friend:m, friend:s, and friend:v services Given we already have friend:a and friend:u, we should add the remaining services as well. --- src/core/hle/service/friend/friend.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index 3be0dcb9a..fb4d89068 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -21,7 +21,10 @@ Module::Interface::Interface(std::shared_ptr module, const char* name) void InstallInterfaces(SM::ServiceManager& service_manager) { auto module = std::make_shared(); std::make_shared(module, "friend:a")->InstallAsService(service_manager); + std::make_shared(module, "friend:m")->InstallAsService(service_manager); + std::make_shared(module, "friend:s")->InstallAsService(service_manager); std::make_shared(module, "friend:u")->InstallAsService(service_manager); + std::make_shared(module, "friend:v")->InstallAsService(service_manager); } } // namespace Service::Friend -- cgit v1.2.3