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