forked from ShuriZma/suyu
1
0
Fork 0

friend: Deduplicate interfaces

This commit is contained in:
Lioncash 2018-07-24 10:21:04 -04:00
parent 316c994f55
commit 77daef44b0
6 changed files with 11 additions and 48 deletions

View File

@ -146,10 +146,8 @@ add_library(core STATIC
hle/service/filesystem/fsp_srv.h hle/service/filesystem/fsp_srv.h
hle/service/friend/friend.cpp hle/service/friend/friend.cpp
hle/service/friend/friend.h hle/service/friend/friend.h
hle/service/friend/friend_a.cpp hle/service/friend/interface.cpp
hle/service/friend/friend_a.h hle/service/friend/interface.h
hle/service/friend/friend_u.cpp
hle/service/friend/friend_u.h
hle/service/hid/hid.cpp hle/service/hid/hid.cpp
hle/service/hid/hid.h hle/service/hid/hid.h
hle/service/lm/lm.cpp hle/service/lm/lm.cpp

View File

@ -5,8 +5,7 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/hle/ipc_helpers.h" #include "core/hle/ipc_helpers.h"
#include "core/hle/service/friend/friend.h" #include "core/hle/service/friend/friend.h"
#include "core/hle/service/friend/friend_a.h" #include "core/hle/service/friend/interface.h"
#include "core/hle/service/friend/friend_u.h"
namespace Service::Friend { namespace Service::Friend {
@ -21,8 +20,8 @@ Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
void InstallInterfaces(SM::ServiceManager& service_manager) { void InstallInterfaces(SM::ServiceManager& service_manager) {
auto module = std::make_shared<Module>(); auto module = std::make_shared<Module>();
std::make_shared<Friend_A>(module)->InstallAsService(service_manager); std::make_shared<Friend>(module, "friend:a")->InstallAsService(service_manager);
std::make_shared<Friend_U>(module)->InstallAsService(service_manager); std::make_shared<Friend>(module, "friend:u")->InstallAsService(service_manager);
} }
} // namespace Service::Friend } // namespace Service::Friend

View File

@ -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)
: Module::Interface(std::move(module), "friend:u") {
static const FunctionInfo functions[] = {
{0, &Friend_U::CreateFriendService, "CreateFriendService"},
{1, nullptr, "CreateNotificationService"},
};
RegisterHandlers(functions);
}
} // namespace Service::Friend

View File

@ -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> module);
};
} // namespace Service::Friend

View File

@ -2,14 +2,14 @@
// Licensed under GPLv2 or any later version // Licensed under GPLv2 or any later version
// Refer to the license.txt file included. // Refer to the license.txt file included.
#include "core/hle/service/friend/friend_a.h" #include "core/hle/service/friend/interface.h"
namespace Service::Friend { namespace Service::Friend {
Friend_A::Friend_A(std::shared_ptr<Module> module) Friend::Friend(std::shared_ptr<Module> module, const char* name)
: Module::Interface(std::move(module), "friend:a") { : Interface(std::move(module), name) {
static const FunctionInfo functions[] = { static const FunctionInfo functions[] = {
{0, &Friend_A::CreateFriendService, "CreateFriendService"}, {0, &Friend::CreateFriendService, "CreateFriendService"},
{1, nullptr, "CreateNotificationService"}, {1, nullptr, "CreateNotificationService"},
}; };
RegisterHandlers(functions); RegisterHandlers(functions);

View File

@ -8,9 +8,9 @@
namespace Service::Friend { namespace Service::Friend {
class Friend_A final : public Module::Interface { class Friend final : public Module::Interface {
public: public:
explicit Friend_A(std::shared_ptr<Module> module); explicit Friend(std::shared_ptr<Module> module, const char* name);
}; };
} // namespace Service::Friend } // namespace Service::Friend