summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-08-11 21:29:58 -0400
committerGravatar bunnei2018-08-11 21:29:58 -0400
commit261a4f0311ab87429d9eb519f842550e57a47c8c (patch)
tree122a81e3168969c8dc2104e3ced4e4f3cc21a447 /src
parentserver_session: Provide more useful information and don't crash on bad IPC re... (diff)
downloadyuzu-261a4f0311ab87429d9eb519f842550e57a47c8c.tar.gz
yuzu-261a4f0311ab87429d9eb519f842550e57a47c8c.tar.xz
yuzu-261a4f0311ab87429d9eb519f842550e57a47c8c.zip
friend: Fix CreateFriendService to return an IFriendService interface.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/friend/friend.cpp88
1 files changed, 86 insertions, 2 deletions
diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp
index fb4d89068..729dc883b 100644
--- a/src/core/hle/service/friend/friend.cpp
+++ b/src/core/hle/service/friend/friend.cpp
@@ -9,10 +9,94 @@
9 9
10namespace Service::Friend { 10namespace Service::Friend {
11 11
12class IFriendService final : public ServiceFramework<IFriendService> {
13public:
14 IFriendService() : ServiceFramework("IFriendService") {
15 static const FunctionInfo functions[] = {
16 {0, nullptr, "GetCompletionEvent"},
17 {1, nullptr, "Cancel"},
18 {10100, nullptr, "GetFriendListIds"},
19 {10101, nullptr, "GetFriendList"},
20 {10102, nullptr, "UpdateFriendInfo"},
21 {10110, nullptr, "GetFriendProfileImage"},
22 {10200, nullptr, "SendFriendRequestForApplication"},
23 {10211, nullptr, "AddFacedFriendRequestForApplication"},
24 {10400, nullptr, "GetBlockedUserListIds"},
25 {10500, nullptr, "GetProfileList"},
26 {10600, nullptr, "DeclareOpenOnlinePlaySession"},
27 {10601, nullptr, "DeclareCloseOnlinePlaySession"},
28 {10610, nullptr, "UpdateUserPresence"},
29 {10700, nullptr, "GetPlayHistoryRegistrationKey"},
30 {10701, nullptr, "GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId"},
31 {10702, nullptr, "AddPlayHistory"},
32 {11000, nullptr, "GetProfileImageUrl"},
33 {20100, nullptr, "GetFriendCount"},
34 {20101, nullptr, "GetNewlyFriendCount"},
35 {20102, nullptr, "GetFriendDetailedInfo"},
36 {20103, nullptr, "SyncFriendList"},
37 {20104, nullptr, "RequestSyncFriendList"},
38 {20110, nullptr, "LoadFriendSetting"},
39 {20200, nullptr, "GetReceivedFriendRequestCount"},
40 {20201, nullptr, "GetFriendRequestList"},
41 {20300, nullptr, "GetFriendCandidateList"},
42 {20301, nullptr, "GetNintendoNetworkIdInfo"},
43 {20302, nullptr, "GetSnsAccountLinkage"},
44 {20303, nullptr, "GetSnsAccountProfile"},
45 {20304, nullptr, "GetSnsAccountFriendList"},
46 {20400, nullptr, "GetBlockedUserList"},
47 {20401, nullptr, "SyncBlockedUserList"},
48 {20500, nullptr, "GetProfileExtraList"},
49 {20501, nullptr, "GetRelationship"},
50 {20600, nullptr, "GetUserPresenceView"},
51 {20700, nullptr, "GetPlayHistoryList"},
52 {20701, nullptr, "GetPlayHistoryStatistics"},
53 {20800, nullptr, "LoadUserSetting"},
54 {20801, nullptr, "SyncUserSetting"},
55 {20900, nullptr, "RequestListSummaryOverlayNotification"},
56 {21000, nullptr, "GetExternalApplicationCatalog"},
57 {30100, nullptr, "DropFriendNewlyFlags"},
58 {30101, nullptr, "DeleteFriend"},
59 {30110, nullptr, "DropFriendNewlyFlag"},
60 {30120, nullptr, "ChangeFriendFavoriteFlag"},
61 {30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
62 {30200, nullptr, "SendFriendRequest"},
63 {30201, nullptr, "SendFriendRequestWithApplicationInfo"},
64 {30202, nullptr, "CancelFriendRequest"},
65 {30203, nullptr, "AcceptFriendRequest"},
66 {30204, nullptr, "RejectFriendRequest"},
67 {30205, nullptr, "ReadFriendRequest"},
68 {30210, nullptr, "GetFacedFriendRequestRegistrationKey"},
69 {30211, nullptr, "AddFacedFriendRequest"},
70 {30212, nullptr, "CancelFacedFriendRequest"},
71 {30213, nullptr, "GetFacedFriendRequestProfileImage"},
72 {30214, nullptr, "GetFacedFriendRequestProfileImageFromPath"},
73 {30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
74 {30216, nullptr, "ResendFacedFriendRequest"},
75 {30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
76 {30300, nullptr, "GetSnsAccountLinkPageUrl"},
77 {30301, nullptr, "UnlinkSnsAccount"},
78 {30400, nullptr, "BlockUser"},
79 {30401, nullptr, "BlockUserWithApplicationInfo"},
80 {30402, nullptr, "UnblockUser"},
81 {30500, nullptr, "GetProfileExtraFromFriendCode"},
82 {30700, nullptr, "DeletePlayHistory"},
83 {30810, nullptr, "ChangePresencePermission"},
84 {30811, nullptr, "ChangeFriendRequestReception"},
85 {30812, nullptr, "ChangePlayLogPermission"},
86 {30820, nullptr, "IssueFriendCode"},
87 {30830, nullptr, "ClearPlayLog"},
88 {49900, nullptr, "DeleteNetworkServiceAccountCache"},
89 };
90
91 RegisterHandlers(functions);
92 }
93};
94
12void Module::Interface::CreateFriendService(Kernel::HLERequestContext& ctx) { 95void Module::Interface::CreateFriendService(Kernel::HLERequestContext& ctx) {
13 IPC::ResponseBuilder rb{ctx, 2}; 96 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
14 rb.Push(RESULT_SUCCESS); 97 rb.Push(RESULT_SUCCESS);
15 LOG_WARNING(Service_Friend, "(STUBBED) called"); 98 rb.PushIpcInterface<IFriendService>();
99 LOG_DEBUG(Service_ACC, "called");
16} 100}
17 101
18Module::Interface::Interface(std::shared_ptr<Module> module, const char* name) 102Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)