1 // Copyright 2014 Citra Emulator Project
2 // Licensed under GPLv2 or any later version
3 // Refer to the license.txt file included.
4 
5 #include "common/archives.h"
6 #include "core/hle/service/frd/frd_u.h"
7 
8 SERIALIZE_EXPORT_IMPL(Service::FRD::FRD_U)
9 
10 namespace Service::FRD {
11 
FRD_U(std::shared_ptr<Module> frd)12 FRD_U::FRD_U(std::shared_ptr<Module> frd) : Module::Interface(std::move(frd), "frd:u", 8) {
13     static const FunctionInfo functions[] = {
14         {0x00010000, nullptr, "HasLoggedIn"},
15         {0x00020000, nullptr, "IsOnline"},
16         {0x00030000, nullptr, "Login"},
17         {0x00040000, nullptr, "Logout"},
18         {0x00050000, &FRD_U::GetMyFriendKey, "GetMyFriendKey"},
19         {0x00060000, nullptr, "GetMyPreference"},
20         {0x00070000, nullptr, "GetMyProfile"},
21         {0x00080000, &FRD_U::GetMyPresence, "GetMyPresence"},
22         {0x00090000, &FRD_U::GetMyScreenName, "GetMyScreenName"},
23         {0x000A0000, nullptr, "GetMyMii"},
24         {0x000B0000, nullptr, "GetMyLocalAccountId"},
25         {0x000C0000, nullptr, "GetMyPlayingGame"},
26         {0x000D0000, nullptr, "GetMyFavoriteGame"},
27         {0x000E0000, nullptr, "GetMyNcPrincipalId"},
28         {0x000F0000, nullptr, "GetMyComment"},
29         {0x00100040, nullptr, "GetMyPassword"},
30         {0x00110080, &FRD_U::GetFriendKeyList, "GetFriendKeyList"},
31         {0x00120042, nullptr, "GetFriendPresence"},
32         {0x00130142, nullptr, "GetFriendScreenName"},
33         {0x00140044, nullptr, "GetFriendMii"},
34         {0x00150042, &FRD_U::GetFriendProfile, "GetFriendProfile"},
35         {0x00160042, nullptr, "GetFriendRelationship"},
36         {0x00170042, &FRD_U::GetFriendAttributeFlags, "GetFriendAttributeFlags"},
37         {0x00180044, nullptr, "GetFriendPlayingGame"},
38         {0x00190042, nullptr, "GetFriendFavoriteGame"},
39         {0x001A00C4, nullptr, "GetFriendInfo"},
40         {0x001B0080, nullptr, "IsIncludedInFriendList"},
41         {0x001C0042, &FRD_U::UnscrambleLocalFriendCode, "UnscrambleLocalFriendCode"},
42         {0x001D0002, nullptr, "UpdateGameModeDescription"},
43         {0x001E02C2, nullptr, "UpdateGameMode"},
44         {0x001F0042, nullptr, "SendInvitation"},
45         {0x00200002, nullptr, "AttachToEventNotification"},
46         {0x00210040, nullptr, "SetNotificationMask"},
47         {0x00220040, nullptr, "GetEventNotification"},
48         {0x00230000, nullptr, "GetLastResponseResult"},
49         {0x00240040, nullptr, "PrincipalIdToFriendCode"},
50         {0x00250080, nullptr, "FriendCodeToPrincipalId"},
51         {0x00260080, nullptr, "IsValidFriendCode"},
52         {0x00270040, nullptr, "ResultToErrorCode"},
53         {0x00280244, nullptr, "RequestGameAuthentication"},
54         {0x00290000, nullptr, "GetGameAuthenticationData"},
55         {0x002A0204, nullptr, "RequestServiceLocator"},
56         {0x002B0000, nullptr, "GetServiceLocatorData"},
57         {0x002C0002, nullptr, "DetectNatProperties"},
58         {0x002D0000, nullptr, "GetNatProperties"},
59         {0x002E0000, nullptr, "GetServerTimeInterval"},
60         {0x002F0040, nullptr, "AllowHalfAwake"},
61         {0x00300000, nullptr, "GetServerTypes"},
62         {0x00310082, nullptr, "GetFriendComment"},
63         {0x00320042, &FRD_U::SetClientSdkVersion, "SetClientSdkVersion"},
64         {0x00330000, nullptr, "GetMyApproachContext"},
65         {0x00340046, nullptr, "AddFriendWithApproach"},
66         {0x00350082, nullptr, "DecryptApproachContext"},
67     };
68     RegisterHandlers(functions);
69 }
70 
71 } // namespace Service::FRD
72