2026-09-26 06:34:09

Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie
2026-09-26 06:34:09 +00:00
parent 7d3d6dc60a
commit b14b5e0981
48 changed files with 2390 additions and 2230 deletions
+168 -164
View File
@@ -26,120 +26,7 @@ public:
}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, &IFriendService::GetCompletionEvent, "GetCompletionEvent"},
FunctionInfo{1, &IFriendService::Cancel, "Cancel"},
FunctionInfo{10100, nullptr, "GetFriendListIds"},
FunctionInfo{10101, &IFriendService::GetFriendList, "GetFriendList"},
FunctionInfo{10102, nullptr, "UpdateFriendInfo"},
FunctionInfo{10110, nullptr, "GetFriendProfileImage"},
FunctionInfo{10111, nullptr, "GetFriendProfileImageWithImageSize"}, // 18.0.0+
FunctionInfo{10120, &IFriendService::CheckFriendListAvailability, "CheckFriendListAvailability"},
FunctionInfo{10121, nullptr, "EnsureFriendListAvailable"},
FunctionInfo{10200, nullptr, "SendFriendRequestForApplication"},
FunctionInfo{10211, nullptr, "AddFacedFriendRequestForApplication"},
FunctionInfo{10400, &IFriendService::GetBlockedUserListIds, "GetBlockedUserListIds"},
FunctionInfo{10420, &IFriendService::CheckBlockedUserListAvailability, "CheckBlockedUserListAvailability"},
FunctionInfo{10421, nullptr, "EnsureBlockedUserListAvailable"},
FunctionInfo{10500, nullptr, "GetProfileList"},
FunctionInfo{10501, nullptr, "GetProfileListV2"}, // 18.0.0+
FunctionInfo{10600, nullptr, "DeclareOpenOnlinePlaySession"},
FunctionInfo{10601, &IFriendService::DeclareCloseOnlinePlaySession, "DeclareCloseOnlinePlaySession"},
FunctionInfo{10610, &IFriendService::UpdateUserPresence, "UpdateUserPresence"},
FunctionInfo{10700, &IFriendService::GetPlayHistoryRegistrationKey, "GetPlayHistoryRegistrationKey"},
FunctionInfo{10701, nullptr, "GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId"},
FunctionInfo{10702, nullptr, "AddPlayHistory"},
FunctionInfo{11000, nullptr, "GetProfileImageUrl"},
FunctionInfo{11001, nullptr, "GetProfileImageUrlV2"}, // 18.0.0+
FunctionInfo{20100, &IFriendService::GetFriendCount, "GetFriendCount"},
FunctionInfo{20101, &IFriendService::GetNewlyFriendCount, "GetNewlyFriendCount"},
FunctionInfo{20102, nullptr, "GetFriendDetailedInfo"},
FunctionInfo{20103, nullptr, "SyncFriendList"},
FunctionInfo{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
FunctionInfo{20105, &IFriendService::GetFriendListForViewer, "GetFriendListForViewerV1"},
FunctionInfo{20106, nullptr, "UpdateFriendInfoForViewerV1"},
FunctionInfo{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
FunctionInfo{20108, &IFriendService::GetFriendListForViewer, "GetFriendListForViewerV2"}, // 22.0.0+
FunctionInfo{20109, nullptr, "UpdateFriendInfoForViewerV2"}, // 22.0.0+
FunctionInfo{20110, nullptr, "LoadFriendSettingV1"},
FunctionInfo{20111, nullptr, "LoadFriendSettingV2"}, // 22.0.0+
FunctionInfo{20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"},
FunctionInfo{20201, nullptr, "GetFriendRequestListV1"},
FunctionInfo{20202, nullptr, "GetFriendRequestListV2"}, // 20.0.0+
FunctionInfo{20203, nullptr, "GetFriendRequestReceivedNotificationCount"}, // 22.0.0+
FunctionInfo{20300, nullptr, "GetFriendCandidateList"},
FunctionInfo{20301, nullptr, "GetNintendoNetworkIdInfo"},
FunctionInfo{20302, nullptr, "GetSnsAccountLinkage"}, // 5.0.0-19.0.1
FunctionInfo{20303, nullptr, "GetSnsAccountProfile"}, // 5.0.0-19.0.1
FunctionInfo{20304, nullptr, "GetSnsAccountFriendList"}, // 5.0.0-19.0.1
FunctionInfo{20400, nullptr, "GetBlockedUserListV1"},
FunctionInfo{20401, nullptr, "SyncBlockedUserList"},
FunctionInfo{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
FunctionInfo{20500, nullptr, "GetProfileExtraListV1"},
FunctionInfo{20501, nullptr, "GetRelationship"},
FunctionInfo{20502, nullptr, "GetProfileExtraListV2"}, // 19.0.0+
FunctionInfo{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceViewV1"},
FunctionInfo{20601, &IFriendService::GetUserPresenceView, "GetUserPresenceViewV2"}, // 19.0.0+
FunctionInfo{20700, nullptr, "GetPlayHistoryListV1"},
FunctionInfo{20701, &IFriendService::GetPlayHistoryStatistics, "GetPlayHistoryStatistics"},
FunctionInfo{20702, nullptr, "GetPlayHistoryListV2"}, // 19.0.0+
FunctionInfo{20800, &IFriendService::LoadUserSetting, "LoadUserSettingV1"},
FunctionInfo{20801, nullptr, "SyncUserSetting"},
FunctionInfo{20802, &IFriendService::LoadUserSetting, "LoadUserSettingV2"}, // 19.0.0+
FunctionInfo{20900, &IFriendService::RequestListSummaryOverlayNotification, "RequestListSummaryOverlayNotification"},
FunctionInfo{21000, nullptr, "GetExternalApplicationCatalog"},
FunctionInfo{22000, nullptr, "GetReceivedFriendInvitationListV1"},
FunctionInfo{22001, nullptr, "GetReceivedFriendInvitationDetailedInfoV1"},
FunctionInfo{22002, nullptr, "GetReceivedFriendInvitationListV2"}, // 19.0.0+
FunctionInfo{22003, nullptr, "GetReceivedFriendInvitationDetailedInfoV2"}, // 19.0.0+
FunctionInfo{22010, &IFriendService::GetReceivedFriendInvitationCountCache, "GetReceivedFriendInvitationCountCache"},
FunctionInfo{30100, nullptr, "DropFriendNewlyFlags"},
FunctionInfo{30101, nullptr, "DeleteFriend"},
FunctionInfo{30110, nullptr, "DropFriendNewlyFlag"},
FunctionInfo{30120, nullptr, "ChangeFriendFavoriteFlag"},
FunctionInfo{30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
FunctionInfo{30130, nullptr, "SetFriendNote"}, // 22.0.0+
FunctionInfo{30131, nullptr, "RequestUploadPendingNote"}, // 22.0.0+
FunctionInfo{30190, nullptr, "RequestSyncLocalUpdates"}, // 22.0.0+
FunctionInfo{30200, nullptr, "SendFriendRequest"},
FunctionInfo{30201, nullptr, "SendFriendRequestWithApplicationInfoV1"},
FunctionInfo{30202, nullptr, "CancelFriendRequest"},
FunctionInfo{30203, nullptr, "AcceptFriendRequest"},
FunctionInfo{30204, nullptr, "RejectFriendRequest"},
FunctionInfo{30205, nullptr, "ReadFriendRequest"},
FunctionInfo{30210, nullptr, "GetFacedFriendRequestRegistrationKey"},
FunctionInfo{30211, nullptr, "AddFacedFriendRequest"},
FunctionInfo{30212, nullptr, "CancelFacedFriendRequest"},
FunctionInfo{30213, nullptr, "GetFacedFriendRequestProfileImage"},
FunctionInfo{30214, nullptr, "GetFacedFriendRequestProfileImageFromPath"},
FunctionInfo{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
FunctionInfo{30216, nullptr, "ResendFacedFriendRequest"},
FunctionInfo{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
FunctionInfo{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
FunctionInfo{30300, nullptr, "GetSnsAccountLinkPageUrl"}, // 5.0.0-19.0.1
FunctionInfo{30301, nullptr, "UnlinkSnsAccount"}, // 5.0.0-19.0.1
FunctionInfo{30400, nullptr, "BlockUser"},
FunctionInfo{30401, nullptr, "BlockUserWithApplicationInfoV1"},
FunctionInfo{30402, nullptr, "UnblockUser"},
FunctionInfo{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
FunctionInfo{30500, nullptr, "GetProfileExtraFromFriendCodeV1"},
FunctionInfo{30501, nullptr, "GetProfileExtraFromFriendCodeV2"}, // 19.0.0+
FunctionInfo{30700, nullptr, "DeletePlayHistory"},
FunctionInfo{30701, nullptr, "AddPlayHistoryWithApplication"}, // 19.0.0+
FunctionInfo{30810, nullptr, "ChangePresencePermission"},
FunctionInfo{30811, nullptr, "ChangeFriendRequestReception"},
FunctionInfo{30812, nullptr, "ChangePlayLogPermission"},
FunctionInfo{30820, nullptr, "IssueFriendCode"},
FunctionInfo{30830, nullptr, "ClearPlayLog"},
FunctionInfo{30900, nullptr, "SendFriendInvitationV1"},
FunctionInfo{30901, nullptr, "SendFriendInvitationV2"}, // 19.0.0+
FunctionInfo{30910, nullptr, "ReadFriendInvitation"},
FunctionInfo{30911, nullptr, "ReadAllFriendInvitations"},
FunctionInfo{31000, nullptr, "OpenUser"}, // 19.0.0+
FunctionInfo{40100, nullptr, "DeleteFriendListCache"},
FunctionInfo{40400, nullptr, "DeleteBlockedUserListCache"},
FunctionInfo{49900, nullptr, "DeleteNetworkServiceAccountCache"}
);
return HandlerTableGenerateWithFind(key, functions);
}
~IFriendService() override {
@@ -365,8 +252,121 @@ private:
rb.Push(0);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, &IFriendService::GetCompletionEvent, "GetCompletionEvent"},
FunctionInfo{1, &IFriendService::Cancel, "Cancel"},
FunctionInfo{10100, nullptr, "GetFriendListIds"},
FunctionInfo{10101, &IFriendService::GetFriendList, "GetFriendList"},
FunctionInfo{10102, nullptr, "UpdateFriendInfo"},
FunctionInfo{10110, nullptr, "GetFriendProfileImage"},
FunctionInfo{10111, nullptr, "GetFriendProfileImageWithImageSize"}, // 18.0.0+
FunctionInfo{10120, &IFriendService::CheckFriendListAvailability, "CheckFriendListAvailability"},
FunctionInfo{10121, nullptr, "EnsureFriendListAvailable"},
FunctionInfo{10200, nullptr, "SendFriendRequestForApplication"},
FunctionInfo{10211, nullptr, "AddFacedFriendRequestForApplication"},
FunctionInfo{10400, &IFriendService::GetBlockedUserListIds, "GetBlockedUserListIds"},
FunctionInfo{10420, &IFriendService::CheckBlockedUserListAvailability, "CheckBlockedUserListAvailability"},
FunctionInfo{10421, nullptr, "EnsureBlockedUserListAvailable"},
FunctionInfo{10500, nullptr, "GetProfileList"},
FunctionInfo{10501, nullptr, "GetProfileListV2"}, // 18.0.0+
FunctionInfo{10600, nullptr, "DeclareOpenOnlinePlaySession"},
FunctionInfo{10601, &IFriendService::DeclareCloseOnlinePlaySession, "DeclareCloseOnlinePlaySession"},
FunctionInfo{10610, &IFriendService::UpdateUserPresence, "UpdateUserPresence"},
FunctionInfo{10700, &IFriendService::GetPlayHistoryRegistrationKey, "GetPlayHistoryRegistrationKey"},
FunctionInfo{10701, nullptr, "GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId"},
FunctionInfo{10702, nullptr, "AddPlayHistory"},
FunctionInfo{11000, nullptr, "GetProfileImageUrl"},
FunctionInfo{11001, nullptr, "GetProfileImageUrlV2"}, // 18.0.0+
FunctionInfo{20100, &IFriendService::GetFriendCount, "GetFriendCount"},
FunctionInfo{20101, &IFriendService::GetNewlyFriendCount, "GetNewlyFriendCount"},
FunctionInfo{20102, nullptr, "GetFriendDetailedInfo"},
FunctionInfo{20103, nullptr, "SyncFriendList"},
FunctionInfo{20104, &IFriendService::RequestSyncFriendList, "RequestSyncFriendList"},
FunctionInfo{20105, &IFriendService::GetFriendListForViewer, "GetFriendListForViewerV1"},
FunctionInfo{20106, nullptr, "UpdateFriendInfoForViewerV1"},
FunctionInfo{20107, nullptr, "GetFriendDetailedInfoV2"}, // 20.0.0+
FunctionInfo{20108, &IFriendService::GetFriendListForViewer, "GetFriendListForViewerV2"}, // 22.0.0+
FunctionInfo{20109, nullptr, "UpdateFriendInfoForViewerV2"}, // 22.0.0+
FunctionInfo{20110, nullptr, "LoadFriendSettingV1"},
FunctionInfo{20111, nullptr, "LoadFriendSettingV2"}, // 22.0.0+
FunctionInfo{20200, &IFriendService::GetReceivedFriendRequestCount, "GetReceivedFriendRequestCount"},
FunctionInfo{20201, nullptr, "GetFriendRequestListV1"},
FunctionInfo{20202, nullptr, "GetFriendRequestListV2"}, // 20.0.0+
FunctionInfo{20203, nullptr, "GetFriendRequestReceivedNotificationCount"}, // 22.0.0+
FunctionInfo{20300, nullptr, "GetFriendCandidateList"},
FunctionInfo{20301, nullptr, "GetNintendoNetworkIdInfo"},
FunctionInfo{20302, nullptr, "GetSnsAccountLinkage"}, // 5.0.0-19.0.1
FunctionInfo{20303, nullptr, "GetSnsAccountProfile"}, // 5.0.0-19.0.1
FunctionInfo{20304, nullptr, "GetSnsAccountFriendList"}, // 5.0.0-19.0.1
FunctionInfo{20400, nullptr, "GetBlockedUserListV1"},
FunctionInfo{20401, nullptr, "SyncBlockedUserList"},
FunctionInfo{20402, nullptr, "GetBlockedUserListV2"}, // 20.0.0+
FunctionInfo{20500, nullptr, "GetProfileExtraListV1"},
FunctionInfo{20501, nullptr, "GetRelationship"},
FunctionInfo{20502, nullptr, "GetProfileExtraListV2"}, // 19.0.0+
FunctionInfo{20600, &IFriendService::GetUserPresenceView, "GetUserPresenceViewV1"},
FunctionInfo{20601, &IFriendService::GetUserPresenceView, "GetUserPresenceViewV2"}, // 19.0.0+
FunctionInfo{20700, nullptr, "GetPlayHistoryListV1"},
FunctionInfo{20701, &IFriendService::GetPlayHistoryStatistics, "GetPlayHistoryStatistics"},
FunctionInfo{20702, nullptr, "GetPlayHistoryListV2"}, // 19.0.0+
FunctionInfo{20800, &IFriendService::LoadUserSetting, "LoadUserSettingV1"},
FunctionInfo{20801, nullptr, "SyncUserSetting"},
FunctionInfo{20802, &IFriendService::LoadUserSetting, "LoadUserSettingV2"}, // 19.0.0+
FunctionInfo{20900, &IFriendService::RequestListSummaryOverlayNotification, "RequestListSummaryOverlayNotification"},
FunctionInfo{21000, nullptr, "GetExternalApplicationCatalog"},
FunctionInfo{22000, nullptr, "GetReceivedFriendInvitationListV1"},
FunctionInfo{22001, nullptr, "GetReceivedFriendInvitationDetailedInfoV1"},
FunctionInfo{22002, nullptr, "GetReceivedFriendInvitationListV2"}, // 19.0.0+
FunctionInfo{22003, nullptr, "GetReceivedFriendInvitationDetailedInfoV2"}, // 19.0.0+
FunctionInfo{22010, &IFriendService::GetReceivedFriendInvitationCountCache, "GetReceivedFriendInvitationCountCache"},
FunctionInfo{30100, nullptr, "DropFriendNewlyFlags"},
FunctionInfo{30101, nullptr, "DeleteFriend"},
FunctionInfo{30110, nullptr, "DropFriendNewlyFlag"},
FunctionInfo{30120, nullptr, "ChangeFriendFavoriteFlag"},
FunctionInfo{30121, nullptr, "ChangeFriendOnlineNotificationFlag"},
FunctionInfo{30130, nullptr, "SetFriendNote"}, // 22.0.0+
FunctionInfo{30131, nullptr, "RequestUploadPendingNote"}, // 22.0.0+
FunctionInfo{30190, nullptr, "RequestSyncLocalUpdates"}, // 22.0.0+
FunctionInfo{30200, nullptr, "SendFriendRequest"},
FunctionInfo{30201, nullptr, "SendFriendRequestWithApplicationInfoV1"},
FunctionInfo{30202, nullptr, "CancelFriendRequest"},
FunctionInfo{30203, nullptr, "AcceptFriendRequest"},
FunctionInfo{30204, nullptr, "RejectFriendRequest"},
FunctionInfo{30205, nullptr, "ReadFriendRequest"},
FunctionInfo{30210, nullptr, "GetFacedFriendRequestRegistrationKey"},
FunctionInfo{30211, nullptr, "AddFacedFriendRequest"},
FunctionInfo{30212, nullptr, "CancelFacedFriendRequest"},
FunctionInfo{30213, nullptr, "GetFacedFriendRequestProfileImage"},
FunctionInfo{30214, nullptr, "GetFacedFriendRequestProfileImageFromPath"},
FunctionInfo{30215, nullptr, "SendFriendRequestWithExternalApplicationCatalogId"},
FunctionInfo{30216, nullptr, "ResendFacedFriendRequest"},
FunctionInfo{30217, nullptr, "SendFriendRequestWithNintendoNetworkIdInfo"},
FunctionInfo{30218, nullptr, "SendFriendRequestWithApplicationInfoV2"}, // 20.0.0+
FunctionInfo{30300, nullptr, "GetSnsAccountLinkPageUrl"}, // 5.0.0-19.0.1
FunctionInfo{30301, nullptr, "UnlinkSnsAccount"}, // 5.0.0-19.0.1
FunctionInfo{30400, nullptr, "BlockUser"},
FunctionInfo{30401, nullptr, "BlockUserWithApplicationInfoV1"},
FunctionInfo{30402, nullptr, "UnblockUser"},
FunctionInfo{30403, nullptr, "BlockUserWithApplicationInfoV2"}, // 20.0.0+
FunctionInfo{30500, nullptr, "GetProfileExtraFromFriendCodeV1"},
FunctionInfo{30501, nullptr, "GetProfileExtraFromFriendCodeV2"}, // 19.0.0+
FunctionInfo{30700, nullptr, "DeletePlayHistory"},
FunctionInfo{30701, nullptr, "AddPlayHistoryWithApplication"}, // 19.0.0+
FunctionInfo{30810, nullptr, "ChangePresencePermission"},
FunctionInfo{30811, nullptr, "ChangeFriendRequestReception"},
FunctionInfo{30812, nullptr, "ChangePlayLogPermission"},
FunctionInfo{30820, nullptr, "IssueFriendCode"},
FunctionInfo{30830, nullptr, "ClearPlayLog"},
FunctionInfo{30900, nullptr, "SendFriendInvitationV1"},
FunctionInfo{30901, nullptr, "SendFriendInvitationV2"}, // 19.0.0+
FunctionInfo{30910, nullptr, "ReadFriendInvitation"},
FunctionInfo{30911, nullptr, "ReadAllFriendInvitations"},
FunctionInfo{31000, nullptr, "OpenUser"}, // 19.0.0+
FunctionInfo{40100, nullptr, "DeleteFriendListCache"},
FunctionInfo{40400, nullptr, "DeleteBlockedUserListCache"},
FunctionInfo{49900, nullptr, "DeleteNetworkServiceAccountCache"}
);
KernelHelpers::ServiceContext service_context;
Kernel::KEvent* completion_event;
};
@@ -379,11 +379,7 @@ public:
}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, &INotificationService::GetEvent, "GetEvent"},
FunctionInfo{1, &INotificationService::Clear, "Clear"},
FunctionInfo{2, &INotificationService::Pop, "Pop"}
);
return HandlerTableGenerateWithFind(key, functions);
}
~INotificationService() override {
@@ -461,9 +457,13 @@ private:
bool has_received_friend_request;
};
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, &INotificationService::GetEvent, "GetEvent"},
FunctionInfo{1, &INotificationService::Clear, "Clear"},
FunctionInfo{2, &INotificationService::Pop, "Pop"}
);
Common::UUID uuid;
KernelHelpers::ServiceContext service_context;
Kernel::KEvent* notification_event;
std::queue<SizedNotificationInfo> notifications;
States states{};
@@ -500,11 +500,13 @@ public:
{}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"},
FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"}
);
return HandlerTableGenerateWithFind(key, functions);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"},
FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"}
);
};
class IServiceForSystem final : public ServiceFramework<IServiceForSystem> {
@@ -514,46 +516,48 @@ public:
{}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"},
FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"},
FunctionInfo{200, nullptr, "SetSystemData"},
FunctionInfo{201, nullptr, "ClearSystemData"},
FunctionInfo{203, nullptr, "GetReceivableNeighborInfoCountForSystem"},
FunctionInfo{204, nullptr, "ReceiveNeighborInfoForSystem"},
FunctionInfo{205, nullptr, "SetSender"},
FunctionInfo{206, nullptr, "GetSender"},
FunctionInfo{207, nullptr, "CreateScannerForSystem"},
FunctionInfo{208, nullptr, "CreateReceiveEventHolderForSystem"},
FunctionInfo{223, nullptr, "EnableNeighborDetection"},
FunctionInfo{224, nullptr, "DisableNeighborDetection"},
FunctionInfo{226, nullptr, "EnablePowerSave"},
FunctionInfo{227, nullptr, "DisablePowerSave"},
FunctionInfo{228, nullptr, "IsPowerSaveEnabled"},
FunctionInfo{232, nullptr, "ClearBlockedUsers"},
FunctionInfo{233, nullptr, "GetBlockedUserCount"},
FunctionInfo{234, nullptr, "BlockUserByLocalUserId"},
FunctionInfo{235, nullptr, "BlockUserByNetworkUserId"},
FunctionInfo{236, nullptr, "UnblockUserByLocalUserId"},
FunctionInfo{237, nullptr, "UnblockUserByNetworkUserId"},
FunctionInfo{240, nullptr, "DeleteApplication"},
FunctionInfo{250, nullptr, "InitializeApplicationInfo"},
FunctionInfo{260, nullptr, "CreateAccountSystemSaveDataAccessSuppressor"},
FunctionInfo{300, nullptr, "AddReceivedNeighborInfoForSystemForDebug"},
FunctionInfo{301, nullptr, "GetSendDataForDebug"},
FunctionInfo{302, nullptr, "ClearReceiveCounterForDebug"},
FunctionInfo{303, nullptr, "GetNextReceiveCounterForDebug"},
FunctionInfo{304, nullptr, "ListBlockedUsersForDebug"},
FunctionInfo{305, nullptr, "RefreshSendDataIdForDebug"},
FunctionInfo{306, nullptr, "ReloadFwdbgSettingsForDebug"},
FunctionInfo{307, nullptr, "EnableApplicationForDebug"},
FunctionInfo{308, nullptr, "GetNextReceiveCountersForDebug"},
FunctionInfo{309, nullptr, "ListApplicationInfoForDebug"},
FunctionInfo{310, nullptr, "SetApplicationDataForDebug"},
FunctionInfo{400, nullptr, "GetNetworkUserId"},
FunctionInfo{401, nullptr, "DeleteNetworkUserId"}
);
return HandlerTableGenerateWithFind(key, functions);
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"},
FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"},
FunctionInfo{200, nullptr, "SetSystemData"},
FunctionInfo{201, nullptr, "ClearSystemData"},
FunctionInfo{203, nullptr, "GetReceivableNeighborInfoCountForSystem"},
FunctionInfo{204, nullptr, "ReceiveNeighborInfoForSystem"},
FunctionInfo{205, nullptr, "SetSender"},
FunctionInfo{206, nullptr, "GetSender"},
FunctionInfo{207, nullptr, "CreateScannerForSystem"},
FunctionInfo{208, nullptr, "CreateReceiveEventHolderForSystem"},
FunctionInfo{223, nullptr, "EnableNeighborDetection"},
FunctionInfo{224, nullptr, "DisableNeighborDetection"},
FunctionInfo{226, nullptr, "EnablePowerSave"},
FunctionInfo{227, nullptr, "DisablePowerSave"},
FunctionInfo{228, nullptr, "IsPowerSaveEnabled"},
FunctionInfo{232, nullptr, "ClearBlockedUsers"},
FunctionInfo{233, nullptr, "GetBlockedUserCount"},
FunctionInfo{234, nullptr, "BlockUserByLocalUserId"},
FunctionInfo{235, nullptr, "BlockUserByNetworkUserId"},
FunctionInfo{236, nullptr, "UnblockUserByLocalUserId"},
FunctionInfo{237, nullptr, "UnblockUserByNetworkUserId"},
FunctionInfo{240, nullptr, "DeleteApplication"},
FunctionInfo{250, nullptr, "InitializeApplicationInfo"},
FunctionInfo{260, nullptr, "CreateAccountSystemSaveDataAccessSuppressor"},
FunctionInfo{300, nullptr, "AddReceivedNeighborInfoForSystemForDebug"},
FunctionInfo{301, nullptr, "GetSendDataForDebug"},
FunctionInfo{302, nullptr, "ClearReceiveCounterForDebug"},
FunctionInfo{303, nullptr, "GetNextReceiveCounterForDebug"},
FunctionInfo{304, nullptr, "ListBlockedUsersForDebug"},
FunctionInfo{305, nullptr, "RefreshSendDataIdForDebug"},
FunctionInfo{306, nullptr, "ReloadFwdbgSettingsForDebug"},
FunctionInfo{307, nullptr, "EnableApplicationForDebug"},
FunctionInfo{308, nullptr, "GetNextReceiveCountersForDebug"},
FunctionInfo{309, nullptr, "ListApplicationInfoForDebug"},
FunctionInfo{310, nullptr, "SetApplicationDataForDebug"},
FunctionInfo{400, nullptr, "GetNetworkUserId"},
FunctionInfo{401, nullptr, "DeleteNetworkUserId"}
);
};
void LoopProcess(Core::System& system) {