From 33a6f339a25deb7a1a847f63a89014b1bba77176 Mon Sep 17 00:00:00 2001 From: lizzie Date: Fri, 25 Sep 2026 15:57:13 +0000 Subject: [PATCH] 2026-09-25 15:57:13 Signed-off-by: lizzie --- src/core/hle/service/acc/acc.cpp | 219 ++++++++---------- src/core/hle/service/audio/audio.cpp | 110 ++++----- .../audio/final_output_recorder_manager.cpp | 12 +- src/core/hle/service/bpc/bpc.cpp | 68 +++--- src/core/hle/service/btdrv/btdrv.cpp | 19 +- src/core/hle/service/btm/btm.cpp | 12 +- src/core/hle/service/caps/caps.cpp | 11 +- src/core/hle/service/erpt/erpt.cpp | 24 +- src/core/hle/service/es/es.cpp | 29 ++- src/core/hle/service/eupld/eupld.cpp | 24 +- src/core/hle/service/fgm/fgm.cpp | 36 ++- src/core/hle/service/friend/friend.cpp | 14 +- src/core/hle/service/glue/arp.cpp | 12 +- src/core/hle/service/glue/ectx.cpp | 12 +- src/core/hle/service/glue/notif.cpp | 7 +- src/core/hle/service/grc/grc.cpp | 23 +- src/core/hle/service/hid/hid.cpp | 33 ++- src/core/hle/service/jit/jit.cpp | 17 +- src/core/hle/service/lbl/lbl.cpp | 12 +- src/core/hle/service/ldn/ldn.cpp | 70 +++--- src/core/hle/service/ldr/ldr.cpp | 36 ++- src/core/hle/service/lm/lm.cpp | 12 +- src/core/hle/service/mig/mig.cpp | 12 +- src/core/hle/service/mii/mii.cpp | 19 +- src/core/hle/service/mm/mm_u.cpp | 12 +- src/core/hle/service/mnpp/mnpp.cpp | 34 ++- src/core/hle/service/ncm/ncm.cpp | 84 +++---- src/core/hle/service/nfc/nfc.cpp | 89 +++---- src/core/hle/service/nfp/nfp.cpp | 51 ++-- src/core/hle/service/ngc/ngc.cpp | 79 +++---- src/core/hle/service/nim/nim.cpp | 90 ++++--- src/core/hle/service/npns/npns.cpp | 24 +- src/core/hle/service/ns/ns.cpp | 18 +- src/core/hle/service/pcie/pcie.cpp | 35 ++- src/core/hle/service/pcv/pcv.cpp | 69 +++--- src/core/hle/service/pm/pm.cpp | 24 +- src/core/hle/service/prepo/prepo.cpp | 12 +- src/core/hle/service/psc/psc.cpp | 55 ++--- src/core/hle/service/ptm/psm.cpp | 7 +- src/core/hle/service/ptm/ptm.cpp | 22 +- src/core/hle/service/ptm/ts.cpp | 12 +- src/core/hle/service/ro/ro.cpp | 10 +- src/core/hle/service/sockets/sockets.cpp | 33 ++- src/core/hle/service/ssl/ssl.cpp | 19 +- src/core/hle/service/usb/usb.cpp | 153 ++++++------ 45 files changed, 770 insertions(+), 1005 deletions(-) diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index c1790050cf..5c45dff3bc 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -260,18 +260,16 @@ public: class IOAuthProcedure final : public ServiceFramework { public: explicit IOAuthProcedure(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedure"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IOAuthProcedure"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "PrepareAsync"}, FunctionInfo{1, nullptr, "GetRequest"}, FunctionInfo{2, nullptr, "ApplyResponse"}, FunctionInfo{3, nullptr, "ApplyResponseAsync"}, FunctionInfo{10, nullptr, "Suspend"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -279,9 +277,10 @@ public: class IOAuthProcedureForExternalNsa final : public ServiceFramework { public: explicit IOAuthProcedureForExternalNsa(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedureForExternalNsa"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IOAuthProcedureForExternalNsa"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "PrepareAsync"}, FunctionInfo{1, nullptr, "GetRequest"}, FunctionInfo{2, nullptr, "ApplyResponse"}, @@ -292,10 +291,7 @@ public: FunctionInfo{102, nullptr, "GetNickname"}, FunctionInfo{103, nullptr, "GetProfileImage"}, FunctionInfo{104, nullptr, "GetProfileLargeImage"} // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -303,9 +299,10 @@ class IOAuthProcedureForNintendoAccountLinkage final : public ServiceFramework { public: explicit IOAuthProcedureForNintendoAccountLinkage(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedureForNintendoAccountLinkage"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IOAuthProcedureForNintendoAccountLinkage"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "PrepareAsync"}, FunctionInfo{1, nullptr, "GetRequest"}, FunctionInfo{2, nullptr, "ApplyResponse"}, @@ -319,24 +316,19 @@ public: FunctionInfo{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ FunctionInfo{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ FunctionInfo{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class INotifier final : public ServiceFramework { public: explicit INotifier(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "INotifier"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, nullptr, "GetSystemEvent"} - }; - // clang-format on + : ServiceFramework{system_, "INotifier"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, nullptr, "GetSystemEvent"} + ); } }; @@ -615,23 +607,22 @@ public: class ISessionObject final : public ServiceFramework { public: explicit ISessionObject(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "ISessionObject"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{999, nullptr, "Dummy"} - }; - // clang-format on + : ServiceFramework{system_, "ISessionObject"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{999, nullptr, "Dummy"} + ); } }; class IGuestLoginRequest final : public ServiceFramework { public: explicit IGuestLoginRequest(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IGuestLoginRequest"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IGuestLoginRequest"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetSessionId"}, FunctionInfo{11, nullptr, "Unknown"}, // 1.0.0 - 2.3.0 (the name is blank on Switchbrew) FunctionInfo{12, nullptr, "GetAccountId"}, @@ -640,10 +631,7 @@ public: FunctionInfo{15, nullptr, "GetProfileImage"}, FunctionInfo{16, nullptr, "GetProfileLargeImage"}, // 18.0.0+ FunctionInfo{21, nullptr, "LoadIdTokenCache"}, // 3.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -680,9 +668,10 @@ public: const std::shared_ptr& profile_manager_) : ServiceFramework{system_, "IManagerForApplication"}, ensure_token_id{std::make_shared(system)}, - profile_manager{profile_manager_} { - // clang-format off - static const FunctionInfo functions[] = { + profile_manager{profile_manager_} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IManagerForApplication::CheckAvailability, "CheckAvailability"}, FunctionInfo{1, &IManagerForApplication::GetAccountId, "GetAccountId"}, FunctionInfo{2, &IManagerForApplication::EnsureIdTokenCacheAsync, "EnsureIdTokenCacheAsync"}, @@ -693,10 +682,7 @@ public: FunctionInfo{150, nullptr, "CreateAuthorizationRequest"}, FunctionInfo{160, &IManagerForApplication::StoreOpenContext, "StoreOpenContext"}, FunctionInfo{170, nullptr, "LoadNetworkServiceLicenseKindAsync"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -775,18 +761,16 @@ class IAsyncNetworkServiceLicenseKindContext final : public ServiceFramework { public: explicit IAsyncNetworkServiceLicenseKindContext(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IAsyncNetworkServiceLicenseKindContext"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IAsyncNetworkServiceLicenseKindContext"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetSystemEvent"}, FunctionInfo{1, nullptr, "Cancel"}, FunctionInfo{2, nullptr, "HasDone"}, FunctionInfo{3, nullptr, "GetResult"}, FunctionInfo{4, nullptr, "GetNetworkServiceLicenseKind"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -795,9 +779,10 @@ class IOAuthProcedureForUserRegistration final : public ServiceFramework { public: explicit IOAuthProcedureForUserRegistration(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedureForUserRegistration"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IOAuthProcedureForUserRegistration"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "PrepareAsync"}, FunctionInfo{1, nullptr, "GetRequest"}, FunctionInfo{2, nullptr, "ApplyResponse"}, @@ -816,18 +801,16 @@ public: FunctionInfo{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ FunctionInfo{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ FunctionInfo{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class DAUTH_O final : public ServiceFramework { public: - explicit DAUTH_O(Core::System& system_, Common::UUID) : ServiceFramework{system_, "dauth:o"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit DAUTH_O(Core::System& system_, Common::UUID) : ServiceFramework{system_, "dauth:o"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "EnsureAuthenticationTokenCacheAsync"}, FunctionInfo{1, nullptr, "LoadAuthenticationTokenCache"}, FunctionInfo{2, nullptr, "InvalidateAuthenticationTokenCache"}, @@ -841,10 +824,7 @@ public: FunctionInfo{22, nullptr, "LoadApplicationNetworkServiceClientConfigCache"}, FunctionInfo{23, nullptr, "IsApplicationAuthenticationCacheAvailable"}, FunctionInfo{24, nullptr, "InvalidateApplicationAuthenticationCache"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -852,17 +832,15 @@ public: class IAsyncResult final : public ServiceFramework { public: explicit IAsyncResult(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IAsyncResult"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IAsyncResult"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetResult"}, FunctionInfo{1, nullptr, "Cancel"}, FunctionInfo{2, nullptr, "IsAvailable"}, FunctionInfo{3, nullptr, "GetSystemEvent"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -1237,9 +1215,10 @@ Module::Interface::~Interface() = default; class ACC_AA final : public Module::Interface { public: explicit ACC_AA(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:aa") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:aa") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "EnsureCacheAsync"}, FunctionInfo{1, nullptr, "LoadCache"}, FunctionInfo{2, nullptr, "GetDeviceAccountId"}, @@ -1255,9 +1234,10 @@ public: class ACC_SU final : public Module::Interface { public: explicit ACC_SU(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:su") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:su") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &ACC_SU::GetUserCount, "GetUserCount"}, FunctionInfo{1, &ACC_SU::GetUserExistence, "GetUserExistence"}, FunctionInfo{2, &ACC_SU::ListAllUsers, "ListAllUsers"}, @@ -1320,10 +1300,7 @@ public: FunctionInfo{997, nullptr, "DebugInvalidateTokenCacheForUser"}, FunctionInfo{998, nullptr, "DebugSetUserStateClose"}, FunctionInfo{999, nullptr, "DebugSetUserStateOpen"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } ~ACC_SU() override = default; }; @@ -1331,9 +1308,10 @@ public: class ACC_U0 final : public Module::Interface { public: ACC_U0(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:u0") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:u0") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &ACC_U0::GetUserCount, "GetUserCount"}, FunctionInfo{1, &ACC_U0::GetUserExistence, "GetUserExistence"}, FunctionInfo{2, &ACC_U0::ListAllUsers, "ListAllUsers"}, @@ -1359,10 +1337,7 @@ public: FunctionInfo{141, &ACC_U0::ListQualifiedUsers, "ListQualifiedUsers"}, // 6.0.0+ FunctionInfo{150, &ACC_U0::IsUserAccountSwitchLocked, "IsUserAccountSwitchLocked"}, // 6.0.0+ FunctionInfo{160, &ACC_U0::InitializeApplicationInfoV2, "InitializeApplicationInfoV2"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } ~ACC_U0() override = default; }; @@ -1370,9 +1345,10 @@ public: class ACC_U1 final : public Module::Interface { public: ACC_U1(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:u1") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:u1") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &ACC_U1::GetUserCount, "GetUserCount"}, FunctionInfo{1, &ACC_U1::GetUserExistence, "GetUserExistence"}, FunctionInfo{2, &ACC_U1::ListAllUsers, "ListAllUsers"}, @@ -1409,19 +1385,17 @@ public: FunctionInfo{997, nullptr, "DebugInvalidateTokenCacheForUser"}, FunctionInfo{998, nullptr, "DebugSetUserStateClose"}, FunctionInfo{999, nullptr, "DebugSetUserStateOpen"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } ~ACC_U1() override = default; }; class DAUTH_0 final : public ServiceFramework { public: - explicit DAUTH_0(Core::System& system_) : ServiceFramework{system_, "dauth:0"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit DAUTH_0(Core::System& system_) : ServiceFramework{system_, "dauth:0"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "EnsureAuthenticationTokenCacheAsync"}, FunctionInfo{1, nullptr, "LoadAuthenticationTokenCache"}, FunctionInfo{2, nullptr, "InvalidateAuthenticationTokenCache"}, @@ -1442,18 +1416,17 @@ public: FunctionInfo{1000, nullptr, "GetInactiveElicenseUsedEvent"}, FunctionInfo{9000, nullptr, "ImportVirtualClientCertificate"}, FunctionInfo{9010, nullptr, "DeleteVirtualClientCertificate"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class ACC_E final : public Module::Interface { public: explicit ACC_E(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, { 0, nullptr, "GetUserCount"}, { 1, nullptr, "GetUserExistence"}, { 2, nullptr, "ListAllUsers"}, @@ -1531,18 +1504,17 @@ public: { 1100, nullptr, "CreateIUserStateManager"}, { 10050, nullptr, "IsUserRegistrationRequestPermittedForAccountPolicy"}, { 10105, nullptr, "CheckNetworkServiceAvailabilityAsyncForAccountPolicy"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class ACC_E_U1 final : public Module::Interface { public: explicit ACC_E_U1(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e:u1") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e:u1") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetUserCount"}, FunctionInfo{1, nullptr, "GetUserExistence"}, FunctionInfo{2, nullptr, "ListAllUsers"}, @@ -1574,18 +1546,17 @@ public: FunctionInfo{997, nullptr, "DebugInvalidateTokenCacheForUser"}, FunctionInfo{998, nullptr, "DebugSetUserStateClose"}, FunctionInfo{999, nullptr, "DebugSetUserStateOpen"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class ACC_E_U2 final : public Module::Interface { public: explicit ACC_E_U2(std::shared_ptr module_, std::shared_ptr profile_manager_, Core::System& system_) - : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e:u2") { - // clang-format off - static const FunctionInfo functions[] = { + : Interface(std::move(module_), std::move(profile_manager_), system_, "acc:e:u2") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetUserCount"}, FunctionInfo{1, nullptr, "GetUserExistence"}, FunctionInfo{2, nullptr, "ListAllUsers"}, @@ -1624,9 +1595,7 @@ public: FunctionInfo{997, nullptr, "DebugInvalidateTokenCacheForUser"}, FunctionInfo{998, nullptr, "DebugSetUserStateClose"}, FunctionInfo{999, nullptr, "DebugSetUserStateOpen"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/audio/audio.cpp b/src/core/hle/service/audio/audio.cpp index ce748accf1..c20e2c33b5 100644 --- a/src/core/hle/service/audio/audio.cpp +++ b/src/core/hle/service/audio/audio.cpp @@ -21,60 +21,58 @@ namespace Service::Audio { class IAudioOutManagerForApplet final : public ServiceFramework { public: explicit IAudioOutManagerForApplet(Core::System& system_) - : ServiceFramework{system_, "audout:a"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audout:a"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"}, FunctionInfo{2, nullptr, "GetProcessMasterVolume"}, FunctionInfo{3, nullptr, "SetProcessMasterVolume"}, FunctionInfo{4, nullptr, "GetProcessRecordVolume"}, FunctionInfo{5, nullptr, "SetProcessRecordVolume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioSnoopManager final : public ServiceFramework { public: explicit IAudioSnoopManager(Core::System& system_) - : ServiceFramework{system_, "auddev"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "auddev"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetDspStatistics"}, FunctionInfo{1, nullptr, "GetAppletStateSummaries"}, FunctionInfo{2, nullptr, "SetDspStatisticsParameter"}, FunctionInfo{3, nullptr, "GetDspStatisticsParameter"}, FunctionInfo{6, nullptr, "GetDspUsage"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioInManagerForApplet final : public ServiceFramework { public: explicit IAudioInManagerForApplet(Core::System& system_) - : ServiceFramework{system_, "audin:a"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audin:a"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"}, FunctionInfo{2, nullptr, "GetProcessMasterVolume"}, FunctionInfo{3, nullptr, "SetProcessMasterVolume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioRendererManagerForApplet final : public ServiceFramework { public: explicit IAudioRendererManagerForApplet(Core::System& system_) - : ServiceFramework{system_, "audren:a"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audren:a"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"}, FunctionInfo{2, nullptr, "GetProcessMasterVolume"}, @@ -83,74 +81,69 @@ public: FunctionInfo{5, nullptr, "UnregisterAppletResourceUserId"}, FunctionInfo{6, nullptr, "GetProcessRecordVolume"}, FunctionInfo{7, nullptr, "SetProcessRecordVolume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioOutManagerForDebugger final : public ServiceFramework { public: explicit IAudioOutManagerForDebugger(Core::System& system_) - : ServiceFramework{system_, "audout:d"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audout:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioInManagerForDebugger final : public ServiceFramework { public: explicit IAudioInManagerForDebugger(Core::System& system_) - : ServiceFramework{system_, "audin:d"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audin:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IFinalOutputRecorderManagerForDebugger final : public ServiceFramework { public: explicit IFinalOutputRecorderManagerForDebugger(Core::System& system_) - : ServiceFramework{system_, "audrec:d"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audrec:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioRendererManagerForDebugger final : public ServiceFramework { public: explicit IAudioRendererManagerForDebugger(Core::System& system_) - : ServiceFramework{system_, "audren:d"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "audren:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspend"}, FunctionInfo{1, nullptr, "RequestResume"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioSystemManagerForApplet final : public ServiceFramework { public: explicit IAudioSystemManagerForApplet(Core::System& system_) - : ServiceFramework{system_, "aud:a"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "aud:a"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RegisterAppletResourceUserId"}, FunctionInfo{1, nullptr, "UnregisterAppletResourceUserId"}, FunctionInfo{2, nullptr, "RequestSuspendAudio"}, @@ -162,23 +155,20 @@ public: FunctionInfo{8, nullptr, "GetAudioOutputProcessRecordVolume"}, FunctionInfo{9, nullptr, "SetAudioOutputProcessRecordVolume"}, FunctionInfo{10, nullptr, "GetAppletStateSummaries"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IAudioSystemManagerForDebugger final : public ServiceFramework { public: explicit IAudioSystemManagerForDebugger(Core::System& system_) - : ServiceFramework{system_, "aud:d"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "aud:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestSuspendAudioForDebug"}, FunctionInfo{1, nullptr, "RequestResumeAudioForDebug"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/audio/final_output_recorder_manager.cpp b/src/core/hle/service/audio/final_output_recorder_manager.cpp index a0bd06c278..79b2cb76cf 100644 --- a/src/core/hle/service/audio/final_output_recorder_manager.cpp +++ b/src/core/hle/service/audio/final_output_recorder_manager.cpp @@ -11,9 +11,10 @@ namespace Service::Audio { class IFinalOutputRecorder final : public ServiceFramework { public: explicit IFinalOutputRecorder(Core::System& system_) - : ServiceFramework{system_, "IFinalOutputRecorder"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IFinalOutputRecorder"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetFinalOutputRecorderState"}, FunctionInfo{1, nullptr, "Start"}, FunctionInfo{2, nullptr, "Stop"}, @@ -26,10 +27,7 @@ public: FunctionInfo{9, nullptr, "GetReleasedFinalOutputRecorderBufferAuto"}, FunctionInfo{10, nullptr, "FlushFinalOutputRecorderBuffers"}, FunctionInfo{11, nullptr, "AttachWorkBuffer"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/bpc/bpc.cpp b/src/core/hle/service/bpc/bpc.cpp index 70312ba65b..9e7e131452 100644 --- a/src/core/hle/service/bpc/bpc.cpp +++ b/src/core/hle/service/bpc/bpc.cpp @@ -14,9 +14,10 @@ namespace Service::BPC { class BPC final : public ServiceFramework { public: - explicit BPC(Core::System& system_) : ServiceFramework{system_, "bpc"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC(Core::System& system_) : ServiceFramework{system_, "bpc"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ShutdownSystem"}, FunctionInfo{1, nullptr, "RebootSystem"}, FunctionInfo{2, nullptr, "GetWakeupReason"}, @@ -33,84 +34,75 @@ public: FunctionInfo{13, nullptr, "CleanAllWakeupTimers"}, FunctionInfo{14, nullptr, "GetPowerButton"}, FunctionInfo{15, nullptr, "SetEnableWakeupTimer"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class BPC_R final : public ServiceFramework { public: - explicit BPC_R(Core::System& system_) : ServiceFramework{system_, "bpc:r"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC_R(Core::System& system_) : ServiceFramework{system_, "bpc:r"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetRtcTime"}, FunctionInfo{1, nullptr, "SetRtcTime"}, FunctionInfo{2, nullptr, "GetRtcResetDetected"}, FunctionInfo{3, nullptr, "ClearRtcResetDetected"}, FunctionInfo{4, nullptr, "SetUpRtcResetOnShutdown"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class BPC_C final : public ServiceFramework { public: - explicit BPC_C(Core::System& system_) : ServiceFramework{system_, "bpc:c"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC_C(Core::System& system_) : ServiceFramework{system_, "bpc:c"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ShutdownSystem"}, FunctionInfo{1, nullptr, "RebootSystem"}, FunctionInfo{2, nullptr, "GetWakeupReason"}, FunctionInfo{3, nullptr, "GetShutdownReason"}, FunctionInfo{4, nullptr, "GetAcOk"}, FunctionInfo{5, nullptr, "GetPowerEvent"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class BPC_B final : public ServiceFramework { public: - explicit BPC_B(Core::System& system_) : ServiceFramework{system_, "bpc:b"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC_B(Core::System& system_) : ServiceFramework{system_, "bpc:b"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetSleepButtonState"}, FunctionInfo{1, nullptr, "GetPowerButtonEvent"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class BPC_W final : public ServiceFramework { public: - explicit BPC_W(Core::System& system_) : ServiceFramework{system_, "bpc:w"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC_W(Core::System& system_) : ServiceFramework{system_, "bpc:w"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "CreateWakeupTimer"}, FunctionInfo{1, nullptr, "CancelWakeupTimer"}, FunctionInfo{2, nullptr, "EnableWakeupTimerOnDevice"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class BPC_AMS final : public ServiceFramework { public: - explicit BPC_AMS(Core::System& system_) : ServiceFramework{system_, "bpc:ams"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit BPC_AMS(Core::System& system_) : ServiceFramework{system_, "bpc:ams"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{65000, nullptr, "RebootToFatalError"}, FunctionInfo{65001, nullptr, "SetRebootPayload"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp index 285d188978..9128cbf4e0 100644 --- a/src/core/hle/service/btdrv/btdrv.cpp +++ b/src/core/hle/service/btdrv/btdrv.cpp @@ -20,9 +20,10 @@ namespace Service::BtDrv { class IBluetoothUser final : public ServiceFramework { public: explicit IBluetoothUser(Core::System& system_) - : ServiceFramework{system_, "bt"}, service_context{system_, "bt"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "bt"}, service_context{system_, "bt"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "LeClientReadCharacteristic"}, FunctionInfo{1, nullptr, "LeClientReadDescriptor"}, FunctionInfo{2, nullptr, "LeClientWriteCharacteristic"}, @@ -59,9 +60,10 @@ private: class IBluetoothDriver final : public ServiceFramework { public: - explicit IBluetoothDriver(Core::System& system_) : ServiceFramework{system_, "btdrv"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IBluetoothDriver(Core::System& system_) : ServiceFramework{system_, "btdrv"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "InitializeBluetoothDriver"}, FunctionInfo{1, nullptr, "InitializeBluetooth"}, FunctionInfo{2, nullptr, "EnableBluetooth"}, @@ -193,10 +195,7 @@ public: FunctionInfo{256, nullptr, "IsManufacturingMode"}, FunctionInfo{257, nullptr, "EmulateBluetoothCrash"}, FunctionInfo{258, nullptr, "GetBleChannelMap"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp index 484878e525..9c60e94c06 100644 --- a/src/core/hle/service/btm/btm.cpp +++ b/src/core/hle/service/btm/btm.cpp @@ -17,9 +17,10 @@ namespace Service::BTM { class IBtm final : public ServiceFramework { public: - explicit IBtm(Core::System& system_) : ServiceFramework{system_, "btm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IBtm(Core::System& system_) : ServiceFramework{system_, "btm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetState"}, FunctionInfo{1, nullptr, "GetHostDeviceProperty"}, FunctionInfo{2, nullptr, "AcquireDeviceConditionEvent"}, @@ -107,10 +108,7 @@ public: FunctionInfo{115, nullptr, "GetShortenedDeviceCondition"}, //14.0.0+ FunctionInfo{116, nullptr, "SetAudioSinkVolume"}, //15.0.0+ FunctionInfo{117, nullptr, "GetAudioSinkVolume"}, //15.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/caps/caps.cpp b/src/core/hle/service/caps/caps.cpp index 8c2986563b..88d0981da7 100644 --- a/src/core/hle/service/caps/caps.cpp +++ b/src/core/hle/service/caps/caps.cpp @@ -20,15 +20,14 @@ namespace Service::Capture { class IDecoderControlService final : public ServiceFramework { public: - explicit IDecoderControlService(Core::System& system_) : ServiceFramework{system_, "grc:d"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IDecoderControlService(Core::System& system_) : ServiceFramework{system_, "grc:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{3001, nullptr, "DecodeJpeg"}, FunctionInfo{4001, nullptr, "ShrinkJpeg"}, FunctionInfo{4002, nullptr, "ShrinkJpegEx"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/erpt/erpt.cpp b/src/core/hle/service/erpt/erpt.cpp index 499e6a79dc..29394b0fd0 100644 --- a/src/core/hle/service/erpt/erpt.cpp +++ b/src/core/hle/service/erpt/erpt.cpp @@ -17,9 +17,10 @@ namespace Service::ERPT { class ErrorReportContext final : public ServiceFramework { public: - explicit ErrorReportContext(Core::System& system_) : ServiceFramework{system_, "erpt:c"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ErrorReportContext(Core::System& system_) : ServiceFramework{system_, "erpt:c"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&ErrorReportContext::SubmitContext>, "SubmitContext"}, FunctionInfo{1, C<&ErrorReportContext::CreateReportV0>, "CreateReportV0"}, FunctionInfo{2, nullptr, "SetInitialLaunchSettingsCompletionTime"}, @@ -37,10 +38,7 @@ public: FunctionInfo{21, nullptr, "UnregisterRunningApplet"}, FunctionInfo{22, nullptr, "UpdateAppletSuspendedDuration"}, FunctionInfo{30, nullptr, "InvalidateForcedShutdownDetection"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -89,16 +87,14 @@ private: class ErrorReportSession final : public ServiceFramework { public: - explicit ErrorReportSession(Core::System& system_) : ServiceFramework{system_, "erpt:r"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ErrorReportSession(Core::System& system_) : ServiceFramework{system_, "erpt:r"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "OpenReport"}, FunctionInfo{1, nullptr, "OpenManager"}, FunctionInfo{2, nullptr, "OpenAttachment"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index f9f35f4260..3dfd0b16d6 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -18,9 +18,10 @@ constexpr Result ERROR_INVALID_RIGHTS_ID{ErrorModule::ETicket, 3}; class ETicket final : public ServiceFramework { public: - explicit ETicket(Core::System& system_) : ServiceFramework{system_, "es"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ETicket(Core::System& system_) : ServiceFramework{system_, "es"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, &ETicket::ImportTicket, "ImportTicket"}, FunctionInfo{2, nullptr, "ImportTicketCertificateSet"}, FunctionInfo{3, nullptr, "DeleteTicket"}, @@ -323,26 +324,26 @@ private: class NDRM_LU final : public ServiceFramework { public: explicit NDRM_LU(Core::System& system_) - : ServiceFramework{system_, "ndrm:lu"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ndrm:lu"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "Cmd1"}, FunctionInfo{2, nullptr, "Cmd2"}, FunctionInfo{3, nullptr, "Cmd3"}, FunctionInfo{1000, nullptr, "Cmd1000"}, FunctionInfo{8000, nullptr, "Cmd8000"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class NDRM_LA final : public ServiceFramework { public: explicit NDRM_LA(Core::System& system_) - : ServiceFramework{system_, "ndrm:la"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ndrm:la"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "Cmd1"}, FunctionInfo{2, nullptr, "Cmd2"}, FunctionInfo{3, nullptr, "Cmd3"}, @@ -397,9 +398,7 @@ public: FunctionInfo{8001, nullptr, "Cmd8001"}, FunctionInfo{8002, nullptr, "Cmd8002"}, FunctionInfo{8003, nullptr, "Cmd8003"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/eupld/eupld.cpp b/src/core/hle/service/eupld/eupld.cpp index b52af6ab89..048a396f1d 100644 --- a/src/core/hle/service/eupld/eupld.cpp +++ b/src/core/hle/service/eupld/eupld.cpp @@ -14,36 +14,32 @@ namespace Service::EUPLD { class ErrorUploadContext final : public ServiceFramework { public: - explicit ErrorUploadContext(Core::System& system_) : ServiceFramework{system_, "eupld:c"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ErrorUploadContext(Core::System& system_) : ServiceFramework{system_, "eupld:c"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetUrl"}, FunctionInfo{1, nullptr, "ImportCrt"}, FunctionInfo{2, nullptr, "ImportPki"}, FunctionInfo{3, nullptr, "SetAutoUpload"}, FunctionInfo{4, nullptr, "GetAutoUpload"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class ErrorUploadRequest final : public ServiceFramework { public: - explicit ErrorUploadRequest(Core::System& system_) : ServiceFramework{system_, "eupld:r"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ErrorUploadRequest(Core::System& system_) : ServiceFramework{system_, "eupld:r"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize"}, FunctionInfo{1, nullptr, "UploadAll"}, FunctionInfo{2, nullptr, "UploadSelected"}, FunctionInfo{3, nullptr, "GetUploadStatus"}, FunctionInfo{4, nullptr, "CancelUpload"}, FunctionInfo{5, nullptr, "GetResult"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/fgm/fgm.cpp b/src/core/hle/service/fgm/fgm.cpp index 6a8866f529..125e8f28b9 100644 --- a/src/core/hle/service/fgm/fgm.cpp +++ b/src/core/hle/service/fgm/fgm.cpp @@ -16,30 +16,26 @@ namespace Service::FGM { class IRequest final : public ServiceFramework { public: - explicit IRequest(Core::System& system_) : ServiceFramework{system_, "IRequest"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IRequest(Core::System& system_) : ServiceFramework{system_, "IRequest"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize"}, FunctionInfo{1, nullptr, "Set"}, FunctionInfo{2, nullptr, "Get"}, FunctionInfo{3, nullptr, "Cancel"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class FGM final : public ServiceFramework { public: - explicit FGM(Core::System& system_, const char* name) : ServiceFramework{system_, name} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &FGM::Initialize, "Initialize"} - }; - // clang-format on + explicit FGM(Core::System& system_, const char* name) : ServiceFramework{system_, name} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &FGM::Initialize, "Initialize"} + ); } private: @@ -54,16 +50,14 @@ private: class FGM_DBG final : public ServiceFramework { public: - explicit FGM_DBG(Core::System& system_) : ServiceFramework{system_, "fgm:dbg"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit FGM_DBG(Core::System& system_) : ServiceFramework{system_, "fgm:dbg"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize"}, FunctionInfo{1, nullptr, "Read"}, FunctionInfo{2, nullptr, "Cancel"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index 7a13f20e5e..f1d7cbef1a 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -21,9 +21,10 @@ namespace Service::Friend { class IFriendService final : public ServiceFramework { public: explicit IFriendService(Core::System& system_) - : ServiceFramework{system_, "IFriendService"}, service_context{system, "IFriendService"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IFriendService"}, service_context{system, "IFriendService"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IFriendService::GetCompletionEvent, "GetCompletionEvent"}, FunctionInfo{1, &IFriendService::Cancel, "Cancel"}, FunctionInfo{10100, nullptr, "GetFriendListIds"}, @@ -376,9 +377,10 @@ class INotificationService final : public ServiceFramework public: explicit INotificationService(Core::System& system_, Common::UUID uuid_) : ServiceFramework{system_, "INotificationService"}, uuid{uuid_}, - service_context{system_, "INotificationService"} { - // clang-format off - static const FunctionInfo functions[] = { + service_context{system_, "INotificationService"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &INotificationService::GetEvent, "GetEvent"}, FunctionInfo{1, &INotificationService::Clear, "Clear"}, FunctionInfo{2, &INotificationService::Pop, "Pop"} diff --git a/src/core/hle/service/glue/arp.cpp b/src/core/hle/service/glue/arp.cpp index 5b6e2172f5..ae5d428a1f 100644 --- a/src/core/hle/service/glue/arp.cpp +++ b/src/core/hle/service/glue/arp.cpp @@ -164,16 +164,14 @@ public: using IssuerFn = std::function)>; explicit IRegistrar(Core::System& system_, IssuerFn&& issuer) - : ServiceFramework{system_, "IRegistrar"}, issue_process_id{std::move(issuer)} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IRegistrar"}, issue_process_id{std::move(issuer)} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IRegistrar::Issue, "Issue"}, FunctionInfo{1, &IRegistrar::SetApplicationLaunchProperty, "SetApplicationLaunchProperty"}, FunctionInfo{2, &IRegistrar::SetApplicationControlProperty, "SetApplicationControlProperty"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/glue/ectx.cpp b/src/core/hle/service/glue/ectx.cpp index d9d9a7542f..8c8e51f687 100644 --- a/src/core/hle/service/glue/ectx.cpp +++ b/src/core/hle/service/glue/ectx.cpp @@ -12,14 +12,12 @@ namespace Service::Glue { // This is nn::err::context::IContextRegistrar class IContextRegistrar : public ServiceFramework { public: - IContextRegistrar(Core::System& system_) : ServiceFramework{system_, "IContextRegistrar"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IContextRegistrar::Complete, "Complete"} - }; - // clang-format on + IContextRegistrar(Core::System& system_) : ServiceFramework{system_, "IContextRegistrar"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IContextRegistrar::Complete, "Complete"} + ); } ~IContextRegistrar() override = default; diff --git a/src/core/hle/service/glue/notif.cpp b/src/core/hle/service/glue/notif.cpp index c0d582ac61..96d2d885fa 100644 --- a/src/core/hle/service/glue/notif.cpp +++ b/src/core/hle/service/glue/notif.cpp @@ -179,9 +179,10 @@ class INotificationSystemEventAccessor final public: explicit INotificationSystemEventAccessor(Core::System& system_) : ServiceFramework{system_, "INotificationSystemEventAccessor"}, - service_context{system_, "INotificationSystemEventAccessor"} { - // clang-format off - static const FunctionInfo functions[] = { + service_context{system_, "INotificationSystemEventAccessor"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&INotificationSystemEventAccessor::GetSystemEvent>, "GetSystemEvent"} }; // clang-format on diff --git a/src/core/hle/service/grc/grc.cpp b/src/core/hle/service/grc/grc.cpp index b8ebed0997..4de9a7261d 100644 --- a/src/core/hle/service/grc/grc.cpp +++ b/src/core/hle/service/grc/grc.cpp @@ -14,32 +14,29 @@ namespace Service::GRC { class GRC final : public ServiceFramework { public: - explicit GRC(Core::System& system_) : ServiceFramework{system_, "grc:c"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit GRC(Core::System& system_) : ServiceFramework{system_, "grc:c"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "OpenContinuousRecorder"}, FunctionInfo{2, nullptr, "OpenGameMovieTrimmer"}, FunctionInfo{3, nullptr, "OpenOffscreenRecorder"}, FunctionInfo{101, nullptr, "CreateMovieMaker"}, FunctionInfo{9903, nullptr, "SetOffscreenRecordingMarker"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class GRC_D final : public ServiceFramework { public: - explicit GRC_D(Core::System& system_) : ServiceFramework{system_, "grc:d"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit GRC_D(Core::System& system_) : ServiceFramework{system_, "grc:d"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "Initialize"}, FunctionInfo{2, nullptr, "Transfer"}, FunctionInfo{3, nullptr, "Cmd3"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index f7c8401ff6..e20ef43c87 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -22,13 +22,12 @@ namespace Service::HID { class IHidTemporaryServer final : public ServiceFramework { public: explicit IHidTemporaryServer(Core::System& system_) - : ServiceFramework{system_, "hid:tmp"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "hid:tmp"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetConsoleSixAxisSensorCalibrationValues"} - }; - // clang-format on - RegisterHandlers(functions); + ); } ~IHidTemporaryServer() override = default; }; @@ -36,17 +35,16 @@ public: class AHID_CD final : public ServiceFramework { public: explicit AHID_CD(Core::System& system_) - : ServiceFramework{system_, "ahid:cd"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ahid:cd"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "AcquireDevice"}, FunctionInfo{1, nullptr, "ReleaseDevice"}, FunctionInfo{2, nullptr, "GetCtrlSession"}, FunctionInfo{3, nullptr, "GetReadSession"}, FunctionInfo{4, nullptr, "GetWriteSession"} - }; - // clang-format on - RegisterHandlers(functions); + ); } ~AHID_CD() override = default; }; @@ -54,18 +52,17 @@ public: class AHID_HDR final : public ServiceFramework { public: explicit AHID_HDR(Core::System& system_) - : ServiceFramework{system_, "ahid:hdr"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ahid:hdr"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetDeviceEntries"}, FunctionInfo{1, nullptr, "GetDeviceList"}, FunctionInfo{2, nullptr, "GetDeviceParameters"}, FunctionInfo{3, nullptr, "AttachDevice"}, FunctionInfo{4, nullptr, "DetachDevice"}, FunctionInfo{5, nullptr, "SetDeviceFilter"} - }; - // clang-format on - RegisterHandlers(functions); + ); } ~AHID_HDR() override = default; }; diff --git a/src/core/hle/service/jit/jit.cpp b/src/core/hle/service/jit/jit.cpp index c9958ee831..3326798ff0 100644 --- a/src/core/hle/service/jit/jit.cpp +++ b/src/core/hle/service/jit/jit.cpp @@ -38,8 +38,9 @@ public: , context{process_->GetMemory()} { - // clang-format off - static const FunctionInfo functions[] = { + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&IJitEnvironment::GenerateCode>, "GenerateCode"}, FunctionInfo{1, C<&IJitEnvironment::Control>, "Control"}, FunctionInfo{1000, C<&IJitEnvironment::LoadPlugin>, "LoadPlugin"}, @@ -258,14 +259,12 @@ private: class JITU final : public ServiceFramework { public: - explicit JITU(Core::System& system_) : ServiceFramework{system_, "jit:u"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, C<&JITU::CreateJitEnvironment>, "CreateJitEnvironment"} - }; - // clang-format on + explicit JITU(Core::System& system_) : ServiceFramework{system_, "jit:u"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, C<&JITU::CreateJitEnvironment>, "CreateJitEnvironment"} + ); } private: diff --git a/src/core/hle/service/lbl/lbl.cpp b/src/core/hle/service/lbl/lbl.cpp index 6638beb3a4..e75b963a06 100644 --- a/src/core/hle/service/lbl/lbl.cpp +++ b/src/core/hle/service/lbl/lbl.cpp @@ -18,9 +18,10 @@ namespace Service::LBL { class LBL final : public ServiceFramework { public: - explicit LBL(Core::System& system_) : ServiceFramework{system_, "lbl"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit LBL(Core::System& system_) : ServiceFramework{system_, "lbl"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &LBL::SaveCurrentSetting, "SaveCurrentSetting"}, FunctionInfo{1, &LBL::LoadCurrentSetting, "LoadCurrentSetting"}, FunctionInfo{2, &LBL::SetCurrentBrightnessSetting, "SetCurrentBrightnessSetting"}, @@ -51,10 +52,7 @@ public: FunctionInfo{27, &LBL::DisableVrMode, "DisableVrMode"}, FunctionInfo{28, &LBL::IsVrModeEnabled, "IsVrModeEnabled"}, FunctionInfo{29, &LBL::IsAutoBrightnessControlSupported, "IsAutoBrightnessControlSupported"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/ldn/ldn.cpp b/src/core/hle/service/ldn/ldn.cpp index ae80ea20a7..9bfe42bd3a 100644 --- a/src/core/hle/service/ldn/ldn.cpp +++ b/src/core/hle/service/ldn/ldn.cpp @@ -20,13 +20,12 @@ class IClientProcessMonitor final : public ServiceFramework { public: explicit IClientProcessMonitor(Core::System& system_) - : ServiceFramework{system_, "IClientProcessMonitor"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IClientProcessMonitor"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&IClientProcessMonitor::RegisterClient>, "RegisterClient"} - }; - // clang-format on - RegisterHandlers(functions); + ); } ~IClientProcessMonitor() override = default; private: @@ -38,13 +37,12 @@ private: class IMonitorServiceCreator final : public ServiceFramework { public: - explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:m"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&IMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"} - }; - // clang-format on - RegisterHandlers(functions); + ); } private: @@ -58,15 +56,13 @@ private: class ISystemServiceCreator final : public ServiceFramework { public: - explicit ISystemServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:s"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ISystemServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:s"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&ISystemServiceCreator::CreateSystemLocalCommunicationService>, "CreateSystemLocalCommunicationService"}, FunctionInfo{1, C<&ISystemServiceCreator::CreateClientProcessMonitor>, "CreateClientProcessMonitor"} // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -89,15 +85,13 @@ private: class IUserServiceCreator final : public ServiceFramework { public: - explicit IUserServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:u"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IUserServiceCreator(Core::System& system_) : ServiceFramework{system_, "ldn:u"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&IUserServiceCreator::CreateUserLocalCommunicationService>, "CreateUserLocalCommunicationService"}, FunctionInfo{1, D<&IUserServiceCreator::CreateClientProcessMonitor>, "CreateClientProcessMonitor"} // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -121,15 +115,13 @@ private: class ISfServiceCreator final : public ServiceFramework { public: explicit ISfServiceCreator(Core::System& system_, bool is_system_, const char* name_) - : ServiceFramework{system_, name_}, is_system{is_system_} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, name_}, is_system{is_system_} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&ISfServiceCreator::CreateNetworkService>, "CreateNetworkService"}, FunctionInfo{8, C<&ISfServiceCreator::CreateNetworkServiceMonitor>, "CreateNetworkServiceMonitor"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -155,14 +147,12 @@ private: class ISfMonitorServiceCreator final : public ServiceFramework { public: - explicit ISfMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "lp2p:m"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, C<&ISfMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"} - }; - // clang-format on + explicit ISfMonitorServiceCreator(Core::System& system_) : ServiceFramework{system_, "lp2p:m"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, C<&ISfMonitorServiceCreator::CreateMonitorService>, "CreateMonitorService"} + ); } private: diff --git a/src/core/hle/service/ldr/ldr.cpp b/src/core/hle/service/ldr/ldr.cpp index 591a0c78e5..15b2c36bca 100644 --- a/src/core/hle/service/ldr/ldr.cpp +++ b/src/core/hle/service/ldr/ldr.cpp @@ -12,47 +12,41 @@ namespace Service::LDR { class DebugMonitor final : public ServiceFramework { public: - explicit DebugMonitor(Core::System& system_) : ServiceFramework{system_, "ldr:dmnt"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit DebugMonitor(Core::System& system_) : ServiceFramework{system_, "ldr:dmnt"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetProgramArgument"}, FunctionInfo{1, nullptr, "FlushArguments"}, FunctionInfo{2, nullptr, "GetProcessModuleInfo"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class ProcessManager final : public ServiceFramework { public: - explicit ProcessManager(Core::System& system_) : ServiceFramework{system_, "ldr:pm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ProcessManager(Core::System& system_) : ServiceFramework{system_, "ldr:pm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "CreateProcess"}, FunctionInfo{1, nullptr, "GetProgramInfo"}, FunctionInfo{2, nullptr, "PinProgram"}, FunctionInfo{3, nullptr, "UnpinProgram"}, FunctionInfo{4, nullptr, "SetEnabledProgramVerification"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class Shell final : public ServiceFramework { public: - explicit Shell(Core::System& system_) : ServiceFramework{system_, "ldr:shel"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit Shell(Core::System& system_) : ServiceFramework{system_, "ldr:shel"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetProgramArgument"}, FunctionInfo{1, nullptr, "FlushArguments"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/lm/lm.cpp b/src/core/hle/service/lm/lm.cpp index 40d231a864..235782ada8 100644 --- a/src/core/hle/service/lm/lm.cpp +++ b/src/core/hle/service/lm/lm.cpp @@ -337,14 +337,12 @@ private: class LM final : public ServiceFramework { public: - explicit LM(Core::System& system_) : ServiceFramework{system_, "lm"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &LM::OpenLogger, "OpenLogger"} - }; - // clang-format on + explicit LM(Core::System& system_) : ServiceFramework{system_, "lm"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &LM::OpenLogger, "OpenLogger"} + ); } private: diff --git a/src/core/hle/service/mig/mig.cpp b/src/core/hle/service/mig/mig.cpp index 556617388c..2578c50428 100644 --- a/src/core/hle/service/mig/mig.cpp +++ b/src/core/hle/service/mig/mig.cpp @@ -14,9 +14,10 @@ namespace Service::Migration { class MIG_USR final : public ServiceFramework { public: - explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit MIG_USR(Core::System& system_) : ServiceFramework{system_, "mig:usr"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Unknown0"}, //19.0.0+ FunctionInfo{1, nullptr, "Unknown1"}, //20.0.0+ FunctionInfo{2, nullptr, "Unknown2"}, //20.0.0+ @@ -53,10 +54,7 @@ public: FunctionInfo{2310, nullptr, "Unknown2310"}, //20.0.0+ FunctionInfo{2400, nullptr, "Unknown2400"}, //20.0.0+ FunctionInfo{2420, nullptr, "Unknown2420"}, //20.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/mii/mii.cpp b/src/core/hle/service/mii/mii.cpp index 5675d2df9b..294e0565a1 100644 --- a/src/core/hle/service/mii/mii.cpp +++ b/src/core/hle/service/mii/mii.cpp @@ -27,9 +27,10 @@ public: explicit IDatabaseService(Core::System& system_, std::shared_ptr mii_manager, bool is_system_) : ServiceFramework{system_, "IDatabaseService"}, manager{mii_manager}, is_system{ - is_system_} { - // clang-format off - static const FunctionInfo functions[] = { + is_system_} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&IDatabaseService::IsUpdated>, "IsUpdated"}, FunctionInfo{1, D<&IDatabaseService::IsFullDatabase>, "IsFullDatabase"}, FunctionInfo{2, D<&IDatabaseService::GetCount>, "GetCount"}, @@ -324,9 +325,10 @@ std::shared_ptr IStaticService::GetMiiManager() { class IImageDatabaseService final : public ServiceFramework { public: - explicit IImageDatabaseService(Core::System& system_) : ServiceFramework{system_, "miiimg"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IImageDatabaseService(Core::System& system_) : ServiceFramework{system_, "miiimg"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&IImageDatabaseService::Initialize>, "Initialize"}, FunctionInfo{10, nullptr, "Reload"}, FunctionInfo{11, D<&IImageDatabaseService::GetCount>, "GetCount"}, @@ -341,10 +343,7 @@ public: FunctionInfo{102, nullptr, "ImportFile"}, FunctionInfo{103, nullptr, "ExportFile"}, FunctionInfo{104, nullptr, "ForceInitialize"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/mm/mm_u.cpp b/src/core/hle/service/mm/mm_u.cpp index 4fd9abea44..108cbf87a7 100644 --- a/src/core/hle/service/mm/mm_u.cpp +++ b/src/core/hle/service/mm/mm_u.cpp @@ -49,9 +49,10 @@ public: class MM_U final : public ServiceFramework { public: - explicit MM_U(Core::System& system_) : ServiceFramework{system_, "mm:u"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit MM_U(Core::System& system_) : ServiceFramework{system_, "mm:u"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &MM_U::InitializeOld, "InitializeOld"}, FunctionInfo{1, &MM_U::FinalizeOld, "FinalizeOld"}, FunctionInfo{2, &MM_U::SetAndWaitOld, "SetAndWaitOld"}, @@ -60,10 +61,7 @@ public: FunctionInfo{5, &MM_U::Finalize, "Finalize"}, FunctionInfo{6, &MM_U::SetAndWait, "SetAndWait"}, FunctionInfo{7, &MM_U::Get, "Get"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/mnpp/mnpp.cpp b/src/core/hle/service/mnpp/mnpp.cpp index c21a4112ad..5417de6de9 100644 --- a/src/core/hle/service/mnpp/mnpp.cpp +++ b/src/core/hle/service/mnpp/mnpp.cpp @@ -14,15 +14,13 @@ namespace Service::MNPP { class MNPP_APP final : public ServiceFramework { public: - explicit MNPP_APP(Core::System& system_) : ServiceFramework{system_, "mnpp:app"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit MNPP_APP(Core::System& system_) : ServiceFramework{system_, "mnpp:app"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &MNPP_APP::Cmd0, "Cmd0"}, FunctionInfo{1, &MNPP_APP::Cmd1, "Cmd1"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -43,34 +41,32 @@ private: class MNPP_SYS final : public ServiceFramework { public: - explicit MNPP_SYS(Core::System& system_) : ServiceFramework{system_, "mnpp:sys"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit MNPP_SYS(Core::System& system_) : ServiceFramework{system_, "mnpp:sys"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Cmd0"}, FunctionInfo{10, nullptr, "Cmd10"}, FunctionInfo{100, nullptr, "Cmd100"}, FunctionInfo{200, nullptr, "Cmd200"}, FunctionInfo{300, nullptr, "Cmd300"}, FunctionInfo{400, nullptr, "Cmd400"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class MNPP_WEB final : public ServiceFramework { public: - explicit MNPP_WEB(Core::System& system_) : ServiceFramework{system_, "mnpp:web"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit MNPP_WEB(Core::System& system_) : ServiceFramework{system_, "mnpp:web"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Cmd0"}, FunctionInfo{1, nullptr, "Cmd1"}, FunctionInfo{10, nullptr, "Cmd10"}, FunctionInfo{20, nullptr, "Cmd20"}, FunctionInfo{100, nullptr, "Cmd100"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/ncm/ncm.cpp b/src/core/hle/service/ncm/ncm.cpp index b4893a1b61..b58845b53b 100644 --- a/src/core/hle/service/ncm/ncm.cpp +++ b/src/core/hle/service/ncm/ncm.cpp @@ -24,9 +24,10 @@ namespace Service::NCM { class ILocationResolver final : public ServiceFramework { public: explicit ILocationResolver(Core::System& system_, FileSys::StorageId id) - : ServiceFramework{system_, "ILocationResolver"}, storage{id} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ILocationResolver"}, storage{id} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ResolveProgramPath"}, FunctionInfo{1, nullptr, "RedirectProgramPath"}, FunctionInfo{2, nullptr, "ResolveApplicationControlPath"}, @@ -47,10 +48,7 @@ public: FunctionInfo{17, nullptr, "RedirectProgramPathForDebug"}, FunctionInfo{18, nullptr, "RedirectApplicationProgramPathForDebug"}, FunctionInfo{19, nullptr, "EraseProgramRedirectionForDebug"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -60,9 +58,10 @@ private: class IRegisteredLocationResolver final : public ServiceFramework { public: explicit IRegisteredLocationResolver(Core::System& system_) - : ServiceFramework{system_, "IRegisteredLocationResolver"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IRegisteredLocationResolver"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ResolveProgramPath"}, FunctionInfo{1, nullptr, "RegisterProgramPath"}, FunctionInfo{2, nullptr, "UnregisterProgramPath"}, @@ -73,47 +72,40 @@ public: FunctionInfo{7, nullptr, "RedirectHtmlDocumentPath"}, FunctionInfo{8, nullptr, "Refresh"}, FunctionInfo{9, nullptr, "RefreshExcluding"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IAddOnContentLocationResolver final : public ServiceFramework { public: explicit IAddOnContentLocationResolver(Core::System& system_) - : ServiceFramework{system_, "IAddOnContentLocationResolver"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IAddOnContentLocationResolver"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ResolveAddOnContentPath"}, FunctionInfo{1, nullptr, "RegisterAddOnContentStorage"}, FunctionInfo{2, nullptr, "UnregisterAllAddOnContentPath"}, FunctionInfo{3, nullptr, "RefreshApplicationAddOnContent"}, FunctionInfo{4, nullptr, "UnregisterApplicationAddOnContent"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IContentStorage final : public ServiceFramework { public: explicit IContentStorage(Core::System& system_, FileSys::StorageId id) - : ServiceFramework{system_, "IContentStorage"}, storage{id} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IContentStorage"}, storage{id} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IContentStorage::GeneratePlaceHolderId, "GeneratePlaceHolderId"}, FunctionInfo{1, &IContentStorage::CreatePlaceHolder, "CreatePlaceHolder"}, FunctionInfo{2, &IContentStorage::DeletePlaceHolder, "DeletePlaceHolder"}, FunctionInfo{4, &IContentStorage::WritePlaceHolder, "WritePlaceHolder"}, FunctionInfo{5, &IContentStorage::Register, "Register"}, FunctionInfo{6, &IContentStorage::Delete, "Delete"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -258,17 +250,15 @@ private: class IContentMetaDatabase final : public ServiceFramework { public: explicit IContentMetaDatabase(Core::System& system_, FileSys::StorageId id) - : ServiceFramework{system_, "IContentMetaDatabase"}, storage{id} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IContentMetaDatabase"}, storage{id} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IContentMetaDatabase::Set, "Set"}, FunctionInfo{2, &IContentMetaDatabase::Remove, "Remove"}, FunctionInfo{8, &IContentMetaDatabase::Has, "Has"}, FunctionInfo{15, &IContentMetaDatabase::Commit, "Commit"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -362,25 +352,24 @@ private: class LR final : public ServiceFramework { public: - explicit LR(Core::System& system_) : ServiceFramework{system_, "lr"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit LR(Core::System& system_) : ServiceFramework{system_, "lr"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "OpenLocationResolver"}, FunctionInfo{1, nullptr, "OpenRegisteredLocationResolver"}, FunctionInfo{2, nullptr, "RefreshLocationResolver"}, FunctionInfo{3, nullptr, "OpenAddOnContentLocationResolver"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class NCM final : public ServiceFramework { public: - explicit NCM(Core::System& system_) : ServiceFramework{system_, "ncm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NCM(Core::System& system_) : ServiceFramework{system_, "ncm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "CreateContentStorage"}, FunctionInfo{1, nullptr, "CreateContentMetaDatabase"}, FunctionInfo{2, nullptr, "VerifyContentStorage"}, @@ -397,10 +386,7 @@ public: FunctionInfo{13, nullptr, "InvalidateRightsIdCache"}, FunctionInfo{14, nullptr, "GetMemoryReport"}, FunctionInfo{15, nullptr, "ActivateFsContentStorage"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/nfc/nfc.cpp b/src/core/hle/service/nfc/nfc.cpp index 0a39659284..8ea3b3e4d0 100644 --- a/src/core/hle/service/nfc/nfc.cpp +++ b/src/core/hle/service/nfc/nfc.cpp @@ -18,9 +18,10 @@ namespace Service::NFC { class IUser final : public NfcInterface { public: - explicit IUser(Core::System& system_) : NfcInterface(system_, "NFC::IUser", BackendType::Nfc) { - // clang-format off - static const FunctionInfo functions[] = { + explicit IUser(Core::System& system_) : NfcInterface(system_, "NFC::IUser", BackendType::Nfc) {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &NfcInterface::Initialize, "InitializeOld"}, FunctionInfo{1, &NfcInterface::Finalize, "FinalizeOld"}, FunctionInfo{2, &NfcInterface::GetState, "GetStateOld"}, @@ -43,19 +44,17 @@ public: FunctionInfo{1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, FunctionInfo{1301, nullptr, "KeepPassThroughSession"}, FunctionInfo{1302, nullptr, "ReleasePassThroughSession"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class ISystem final : public NfcInterface { public: explicit ISystem(Core::System& system_) - : NfcInterface{system_, "NFC::ISystem", BackendType::Nfc} { - // clang-format off - static const FunctionInfo functions[] = { + : NfcInterface{system_, "NFC::ISystem", BackendType::Nfc} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &NfcInterface::Initialize, "InitializeOld"}, FunctionInfo{1, &NfcInterface::Finalize, "FinalizeOld"}, FunctionInfo{2, &NfcInterface::GetState, "GetStateOld"}, @@ -81,10 +80,7 @@ public: FunctionInfo{1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, FunctionInfo{1301, nullptr, "KeepPassThroughSession"}, FunctionInfo{1302, nullptr, "ReleasePassThroughSession"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -111,38 +107,31 @@ public: FunctionInfo{11, &MFIUser::GetDeviceState, "GetDeviceState"}, FunctionInfo{12, &MFIUser::GetNpadId, "GetNpadId"}, FunctionInfo{13, &MFIUser::AttachAvailabilityChangeEvent, "GetAvailabilityChangeEventHandle"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IAm final : public ServiceFramework { public: - explicit IAm(Core::System& system_) : ServiceFramework{system_, "NFC::IAm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IAm(Core::System& system_) : ServiceFramework{system_, "NFC::IAm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize"}, FunctionInfo{1, nullptr, "Finalize"}, FunctionInfo{2, nullptr, "NotifyForegroundApplet"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class NFC_AM final : public ServiceFramework { public: - explicit NFC_AM(Core::System& system_) : ServiceFramework{system_, "nfc:am"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &NFC_AM::CreateAmNfcInterface, "CreateAmNfcInterface"} - }; - // clang-format on + explicit NFC_AM(Core::System& system_) : ServiceFramework{system_, "nfc:am"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &NFC_AM::CreateAmNfcInterface, "CreateAmNfcInterface"} + ); } private: @@ -157,14 +146,12 @@ private: class NFC_MF_U final : public ServiceFramework { public: - explicit NFC_MF_U(Core::System& system_) : ServiceFramework{system_, "nfc:mf:u"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &NFC_MF_U::CreateUserNfcInterface, "CreateUserNfcInterface"} - }; - // clang-format on + explicit NFC_MF_U(Core::System& system_) : ServiceFramework{system_, "nfc:mf:u"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &NFC_MF_U::CreateUserNfcInterface, "CreateUserNfcInterface"} + ); } private: @@ -179,14 +166,12 @@ private: class NFC_U final : public ServiceFramework { public: - explicit NFC_U(Core::System& system_) : ServiceFramework{system_, "nfc:user"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &NFC_U::CreateUserNfcInterface, "CreateUserNfcInterface"} - }; - // clang-format on + explicit NFC_U(Core::System& system_) : ServiceFramework{system_, "nfc:user"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &NFC_U::CreateUserNfcInterface, "CreateUserNfcInterface"} + ); } private: @@ -201,14 +186,12 @@ private: class NFC_SYS final : public ServiceFramework { public: - explicit NFC_SYS(Core::System& system_) : ServiceFramework{system_, "nfc:sys"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &NFC_SYS::CreateSystemNfcInterface, "CreateSystemNfcInterface"} - }; - // clang-format on + explicit NFC_SYS(Core::System& system_) : ServiceFramework{system_, "nfc:sys"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &NFC_SYS::CreateSystemNfcInterface, "CreateSystemNfcInterface"} + ); } private: diff --git a/src/core/hle/service/nfp/nfp.cpp b/src/core/hle/service/nfp/nfp.cpp index 3cf41bf6db..cd27976b86 100644 --- a/src/core/hle/service/nfp/nfp.cpp +++ b/src/core/hle/service/nfp/nfp.cpp @@ -43,10 +43,7 @@ public: FunctionInfo{23, &IUser::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, FunctionInfo{24, &IUser::RecreateApplicationArea, "RecreateApplicationArea"}, FunctionInfo{25, &IUser::StartDetection, "StartDetectionWithFilter"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -83,10 +80,7 @@ public: FunctionInfo{104, &ISystem::DeleteRegisterInfo, "DeleteRegisterInfo"}, FunctionInfo{105, &ISystem::DeleteApplicationArea, "DeleteApplicationArea"}, FunctionInfo{106, &ISystem::ExistsApplicationArea, "ExistsApplicationArea"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -135,23 +129,18 @@ public: FunctionInfo{204, &IDebug::ReadBackupData, "ReadBackupData"}, FunctionInfo{205, &IDebug::WriteBackupData, "WriteBackupData"}, FunctionInfo{206, &IDebug::WriteNtf, "WriteNtf"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IUserManager final : public ServiceFramework { public: - explicit IUserManager(Core::System& system_) : ServiceFramework{system_, "nfp:user"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IUserManager::CreateUserInterface, "CreateUserInterface"} - }; - // clang-format on + explicit IUserManager(Core::System& system_) : ServiceFramework{system_, "nfp:user"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IUserManager::CreateUserInterface, "CreateUserInterface"} + ); } private: @@ -166,14 +155,12 @@ private: class ISystemManager final : public ServiceFramework { public: - explicit ISystemManager(Core::System& system_) : ServiceFramework{system_, "nfp:sys"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &ISystemManager::CreateSystemInterface, "CreateSystemInterface"} - }; - // clang-format on + explicit ISystemManager(Core::System& system_) : ServiceFramework{system_, "nfp:sys"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &ISystemManager::CreateSystemInterface, "CreateSystemInterface"} + ); } private: @@ -188,14 +175,12 @@ private: class IDebugManager final : public ServiceFramework { public: - explicit IDebugManager(Core::System& system_) : ServiceFramework{system_, "nfp:dbg"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IDebugManager::CreateDebugInterface, "CreateDebugInterface"} - }; - // clang-format on + explicit IDebugManager(Core::System& system_) : ServiceFramework{system_, "nfp:dbg"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IDebugManager::CreateDebugInterface, "CreateDebugInterface"} + ); } private: diff --git a/src/core/hle/service/ngc/ngc.cpp b/src/core/hle/service/ngc/ngc.cpp index b4a377b2ac..0153cf2ac7 100644 --- a/src/core/hle/service/ngc/ngc.cpp +++ b/src/core/hle/service/ngc/ngc.cpp @@ -21,15 +21,13 @@ namespace Service::NGC { class IService final : public ServiceFramework { public: - explicit IService(Core::System& system_) : ServiceFramework{system_, "ngct:u"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IService(Core::System& system_) : ServiceFramework{system_, "ngct:u"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IService::Match, "Match"}, FunctionInfo{1, &IService::Filter, "Filter"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -65,19 +63,17 @@ private: class NgcServiceImpl final : public ServiceFramework { public: - explicit NgcServiceImpl(Core::System& system_) : ServiceFramework(system_, "ngc:u") { - // clang-format off - static const FunctionInfo functions[] = { + explicit NgcServiceImpl(Core::System& system_) : ServiceFramework(system_, "ngc:u") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &NgcServiceImpl::GetContentVersion, "GetContentVersion"}, FunctionInfo{1, &NgcServiceImpl::Check, "Check"}, FunctionInfo{2, &NgcServiceImpl::Mask, "Mask"}, FunctionInfo{3, &NgcServiceImpl::Reload, "Reload"}, FunctionInfo{4, &NgcServiceImpl::Check, "Check2"}, FunctionInfo{5, &NgcServiceImpl::Mask, "Mask2"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -154,9 +150,10 @@ private: class IServiceWithManagementApi final : public ServiceFramework { public: - explicit IServiceWithManagementApi(Core::System& system_) : ServiceFramework(system_, "ngct:s") { - // clang-format off - static const FunctionInfo functions[] = { + explicit IServiceWithManagementApi(Core::System& system_) : ServiceFramework(system_, "ngct:s") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, {0 , nullptr, "Match"}, {1 , nullptr, "Filter"}, FunctionInfo{100, nullptr, "ConfigureAutoUpdateSetting"}, @@ -166,9 +163,7 @@ public: FunctionInfo{112, nullptr, "TryAcquireReloadRequestNotifier"}, FunctionInfo{120, nullptr, "CalculateContentFingerprint"}, FunctionInfo{130, nullptr, "TryEnableTemporalPassThrough"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; @@ -179,9 +174,10 @@ static_assert(sizeof(SaveDataHandle) == 0x08); class IUserShimScopedObject final : public ServiceFramework { public: - explicit IUserShimScopedObject(Core::System& system_) : ServiceFramework(system_, "IUserShimScopedObject") { - // clang-format off - static const FunctionInfo functions[] = { + explicit IUserShimScopedObject(Core::System& system_) : ServiceFramework(system_, "IUserShimScopedObject") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{450, nullptr, "InitializeForSaveData"}, FunctionInfo{451, nullptr, "FinalizeForSaveData"}, FunctionInfo{452, D<&IUserShimScopedObject::OpenSaveData>, "OpenSaveData"}, @@ -190,9 +186,7 @@ public: FunctionInfo{455, D<&IUserShimScopedObject::WriteSaveSlot>, "WriteSaveSlot"}, FunctionInfo{456, nullptr, "FlushSaveSlot"}, FunctionInfo{457, nullptr, "CommitSaveData"} - }; - // clang-format on - RegisterHandlers(functions); + ); } Result OpenSaveData(Account::Uid unk0, Out unk1) { @@ -214,13 +208,12 @@ public: class IUserService final : public ServiceFramework { public: - explicit IUserService(Core::System& system_) : ServiceFramework(system_, "stpl:u") { - // clang-format off - static const FunctionInfo functions[] = { + explicit IUserService(Core::System& system_) : ServiceFramework(system_, "stpl:u") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, {0 , D<&IUserService::Cmd0>, "Cmd0"} - }; - // clang-format on - RegisterHandlers(functions); + ); } Result Cmd0(u32 unk0, OutInterface out_interface) { LOG_WARNING(Service_NGC, "stubbed"); @@ -231,9 +224,10 @@ public: class ISystemShimScopedObject final : public ServiceFramework { public: - explicit ISystemShimScopedObject(Core::System& system_) : ServiceFramework(system_, "ISystemShimScopedObject") { - // clang-format off - static const FunctionInfo functions[] = { + explicit ISystemShimScopedObject(Core::System& system_) : ServiceFramework(system_, "ISystemShimScopedObject") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{106, nullptr, "Cmd106"}, FunctionInfo{107, nullptr, "Cmd107"}, FunctionInfo{108, D<&ISystemShimScopedObject::Cmd108>, "Cmd108"}, @@ -243,9 +237,7 @@ public: FunctionInfo{210, nullptr, "Cmd210"}, FunctionInfo{211, nullptr, "Cmd211"}, FunctionInfo{212, nullptr, "Cmd212"} - }; - // clang-format on - RegisterHandlers(functions); + ); } Result Cmd108() { @@ -261,13 +253,12 @@ public: class ISystemService final : public ServiceFramework { public: - explicit ISystemService(Core::System& system_) : ServiceFramework(system_, "stpl:sys") { - // clang-format off - static const FunctionInfo functions[] = { + explicit ISystemService(Core::System& system_) : ServiceFramework(system_, "stpl:sys") {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, {0 , D<&ISystemService::Cmd0>, "Cmd0"} - }; - // clang-format on - RegisterHandlers(functions); + ); } Result Cmd0(OutInterface out_interface) { LOG_WARNING(Service_NGC, "stubbed"); diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp index 222590f7b2..89c8bbadcf 100644 --- a/src/core/hle/service/nim/nim.cpp +++ b/src/core/hle/service/nim/nim.cpp @@ -25,9 +25,10 @@ class IShopServiceAsync final : public ServiceFramework { public: explicit IShopServiceAsync(Core::System& system_) : ServiceFramework{system_, "IShopServiceAsync"}, - service_context{system_, "IShopServiceAsync"} { - // clang-format off - static const FunctionInfo functions[] = { + service_context{system_, "IShopServiceAsync"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&IShopServiceAsync::Cancel>, "Cancel"}, FunctionInfo{1, D<&IShopServiceAsync::GetSize>, "GetSize"}, FunctionInfo{2, D<&IShopServiceAsync::Read>, "Read"}, @@ -141,14 +142,12 @@ private: class IShopServiceAccessor final : public ServiceFramework { public: explicit IShopServiceAccessor(Core::System& system_) - : ServiceFramework{system_, "IShopServiceAccessor"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IShopServiceAccessor::CreateAsyncInterface, "CreateAsyncInterface"} - }; - // clang-format on + : ServiceFramework{system_, "IShopServiceAccessor"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IShopServiceAccessor::CreateAsyncInterface, "CreateAsyncInterface"} + ); } private: @@ -165,14 +164,12 @@ private: class IShopServiceAccessServer final : public ServiceFramework { public: explicit IShopServiceAccessServer(Core::System& system_) - : ServiceFramework{system_, "IShopServiceAccessServer"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IShopServiceAccessServer::CreateAccessorInterface, "CreateAccessorInterface"} - }; - // clang-format on + : ServiceFramework{system_, "IShopServiceAccessServer"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IShopServiceAccessServer::CreateAccessorInterface, "CreateAccessorInterface"} + ); } private: @@ -186,9 +183,10 @@ private: class NIM final : public ServiceFramework { public: - explicit NIM(Core::System& system_) : ServiceFramework{system_, "nim"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NIM(Core::System& system_) : ServiceFramework{system_, "nim"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "CreateSystemUpdateTask"}, FunctionInfo{1, nullptr, "DestroySystemUpdateTask"}, FunctionInfo{2, nullptr, "ListSystemUpdateTask"}, @@ -412,28 +410,23 @@ public: FunctionInfo{2051, nullptr, "Unknown2051"}, //20.0.0+ FunctionInfo{3000, nullptr, "RequestLatestApplicationIcon"}, //17.0.0+ FunctionInfo{3001, nullptr, "RequestDownloadIdbeLatestIconFile"}, //17.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class NIM_ECA final : public ServiceFramework { public: - explicit NIM_ECA(Core::System& system_) : ServiceFramework{system_, "nim:eca"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NIM_ECA(Core::System& system_) : ServiceFramework{system_, "nim:eca"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &NIM_ECA::CreateServerInterface, "CreateServerInterface"}, FunctionInfo{1, nullptr, "RefreshDebugAvailability"}, FunctionInfo{2, nullptr, "ClearDebugResponse"}, FunctionInfo{3, nullptr, "RegisterDebugResponse"}, FunctionInfo{4, &NIM_ECA::IsLargeResourceAvailable, "IsLargeResourceAvailable"}, FunctionInfo{5, &NIM_ECA::CreateServerInterface2, "CreateServerInterface2"} // 17.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -467,9 +460,10 @@ private: class NIM_SHP final : public ServiceFramework { public: - explicit NIM_SHP(Core::System& system_) : ServiceFramework{system_, "nim:shp"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NIM_SHP(Core::System& system_) : ServiceFramework{system_, "nim:shp"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RequestDeviceAuthenticationToken"}, FunctionInfo{1, nullptr, "RequestCachedDeviceAuthenticationToken"}, FunctionInfo{2, nullptr, "RequestEdgeToken"}, @@ -498,10 +492,7 @@ public: FunctionInfo{503, nullptr, "RequestSyncTicket"}, FunctionInfo{504, nullptr, "RequestDownloadTicketForPrepurchasedContents2"}, FunctionInfo{505, nullptr, "RequestDownloadTicketForPrepurchasedContentsForAccount"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; @@ -587,16 +578,14 @@ private: class NTC final : public ServiceFramework { public: - explicit NTC(Core::System& system_) : ServiceFramework{system_, "ntc"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NTC(Core::System& system_) : ServiceFramework{system_, "ntc"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &NTC::OpenEnsureNetworkClockAvailabilityService, "OpenEnsureNetworkClockAvailabilityService"}, FunctionInfo{100, &NTC::SuspendAutonomicTimeCorrection, "SuspendAutonomicTimeCorrection"}, FunctionInfo{101, &NTC::ResumeAutonomicTimeCorrection, "ResumeAutonomicTimeCorrection"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -626,14 +615,13 @@ private: class NIM_ECAS final : public ServiceFramework { public: - explicit NIM_ECAS(Core::System& system_) : ServiceFramework{system_, "nim:ecas"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit NIM_ECAS(Core::System& system_) : ServiceFramework{system_, "nim:ecas"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RegisterSpecialClient"}, FunctionInfo{1, nullptr, "UnregisterSpecialClient"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index a1cab113d3..6be7ad40be 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp @@ -19,9 +19,10 @@ class INpnsSystem final : public ServiceFramework { public: explicit INpnsSystem(Core::System& system_) : ServiceFramework{system_, "npns:s"}, service_context{system, "npns:s"}, - get_receive_event{service_context}, get_request_change_state_cancel_event{service_context} { - // clang-format off - static const FunctionInfo functions[] = { + get_receive_event{service_context}, get_request_change_state_cancel_event{service_context} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "ListenAll"}, FunctionInfo{2, C<&INpnsSystem::ListenTo>, "ListenTo"}, FunctionInfo{3, nullptr, "Receive"}, @@ -88,10 +89,7 @@ public: FunctionInfo{304, nullptr, "GetPersistentConnectionSummary"}, // 18.0.0+ FunctionInfo{305, nullptr, "GetDigitalTwinSummary"}, // 18.0.0+ FunctionInfo{306, nullptr, "GetDigitalTwinValue"}, // 18.0.0+ - }; - // clang-format on - - RegisterHandlers(functions); + ); } ~INpnsSystem() override = default; @@ -148,9 +146,10 @@ private: class INpnsUser final : public ServiceFramework { public: explicit INpnsUser(Core::System& system_) - : ServiceFramework{system_, "npns:u"}, service_context{system, "npns:u"}, get_receive_event{service_context} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "npns:u"}, service_context{system, "npns:u"}, get_receive_event{service_context} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1, nullptr, "ListenAll"}, FunctionInfo{2, nullptr, "ListenTo"}, FunctionInfo{3, nullptr, "Receive"}, @@ -172,10 +171,7 @@ public: FunctionInfo{152, nullptr, "GetStateChangeEventWithHandover"}, FunctionInfo{153, nullptr, "GetDropEventWithHandover"}, FunctionInfo{154, nullptr, "CreateTokenAsync"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp index 2fb83b8322..3e270c61fd 100644 --- a/src/core/hle/service/ns/ns.cpp +++ b/src/core/hle/service/ns/ns.cpp @@ -19,9 +19,10 @@ namespace Service::NS { class INotifyService final : public ServiceFramework { public: - explicit INotifyService(Core::System& system_) : ServiceFramework{system_, "pdm:ntfy"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit INotifyService(Core::System& system_) : ServiceFramework{system_, "pdm:ntfy"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, { 0, nullptr, "NotifyAppletEvent" }, { 2, nullptr, "NotifyOperationModeChangeEvent" }, { 3, nullptr, "NotifyPowerStateChangeEvent" }, @@ -45,18 +46,17 @@ class IVulnerabilityManagerInterface final : public ServiceFramework { public: explicit IVulnerabilityManagerInterface(Core::System& system_) - : ServiceFramework{system_, "ns:vm"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ns:vm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{1200, D<&IVulnerabilityManagerInterface::NeedsUpdateVulnerability>, "NeedsUpdateVulnerability"}, FunctionInfo{1201, nullptr, "UpdateSafeSystemVersionForDebug"}, FunctionInfo{1202, nullptr, "GetSafeSystemVersion"}, FunctionInfo{3100, D<&IVulnerabilityManagerInterface::GetSafeSystemVersionCheckInfo>, "GetSafeSystemVersionCheckInfo"}, FunctionInfo{3101, nullptr, "RequestUpdateSafeSystemVersionCheckInfo"}, FunctionInfo{3102, D<&IVulnerabilityManagerInterface::ResetSafeSystemVersionCheckInfo>, "ResetSafeSystemVersionCheckInfo"} - }; - // clang-format on - RegisterHandlers(functions); + ); } ~IVulnerabilityManagerInterface() override = default; diff --git a/src/core/hle/service/pcie/pcie.cpp b/src/core/hle/service/pcie/pcie.cpp index a9a5ef9b8a..92582b8744 100644 --- a/src/core/hle/service/pcie/pcie.cpp +++ b/src/core/hle/service/pcie/pcie.cpp @@ -15,9 +15,10 @@ namespace Service::PCIe { class ISession final : public ServiceFramework { public: - explicit ISession(Core::System& system_) : ServiceFramework{system_, "ISession"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ISession(Core::System& system_) : ServiceFramework{system_, "ISession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "QueryFunctions"}, FunctionInfo{1, nullptr, "AcquireFunction"}, FunctionInfo{2, nullptr, "ReleaseFunction"}, @@ -42,37 +43,31 @@ public: FunctionInfo{21, nullptr, "SetAspmEnable"}, FunctionInfo{22, nullptr, "SetResetUponResumeEnable"}, FunctionInfo{23, nullptr, "ResetFunction"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class PCIE final : public ServiceFramework { public: - explicit PCIE(Core::System& system_) : ServiceFramework{system_, "pcie"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PCIE(Core::System& system_) : ServiceFramework{system_, "pcie"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "RegisterClassDriver"}, FunctionInfo{1, nullptr, "QueryFunctionsUnregistered"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class PCIE_LOG final : public ServiceFramework { public: - explicit PCIE_LOG(Core::System& system_) : ServiceFramework{system_, "pcie:log"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PCIE_LOG(Core::System& system_) : ServiceFramework{system_, "pcie:log"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetLoggedState"}, FunctionInfo{1, nullptr, "GetLoggedStateEvent"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/pcv/pcv.cpp b/src/core/hle/service/pcv/pcv.cpp index 8afd512523..9b0a7dee9f 100644 --- a/src/core/hle/service/pcv/pcv.cpp +++ b/src/core/hle/service/pcv/pcv.cpp @@ -15,9 +15,10 @@ namespace Service::PCV { class PCV final : public ServiceFramework { public: - explicit PCV(Core::System& system_) : ServiceFramework{system_, "pcv"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PCV(Core::System& system_) : ServiceFramework{system_, "pcv"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetPowerEnabled"}, FunctionInfo{1, nullptr, "SetClockEnabled"}, FunctionInfo{2, nullptr, "SetClockRate"}, @@ -48,43 +49,39 @@ public: FunctionInfo{27, nullptr, "GetDramId"}, FunctionInfo{28, nullptr, "IsPoweredOn"}, FunctionInfo{29, nullptr, "GetVoltage"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class PCV_ARB final : public ServiceFramework { public: - explicit PCV_ARB(Core::System& system_) : ServiceFramework{system_, "pcv:arb"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PCV_ARB(Core::System& system_) : ServiceFramework{system_, "pcv:arb"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ReleaseControl"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class PCV_IMM final : public ServiceFramework { public: - explicit PCV_IMM(Core::System& system_) : ServiceFramework{system_, "pcv:imm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PCV_IMM(Core::System& system_) : ServiceFramework{system_, "pcv:imm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetClockRate"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IClkrstSession final : public ServiceFramework { public: explicit IClkrstSession(Core::System& system_, DeviceCode device_code_) - : ServiceFramework{system_, "IClkrstSession"}, device_code(device_code_) { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IClkrstSession"}, device_code(device_code_) {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetClockEnabled"}, FunctionInfo{1, nullptr, "SetClockDisabled"}, FunctionInfo{2, nullptr, "SetResetAsserted"}, @@ -97,9 +94,7 @@ public: FunctionInfo{9, nullptr, "SetMinVClockRate"}, FunctionInfo{10, nullptr, "GetPossibleClockRates"}, FunctionInfo{11, nullptr, "GetDvfsTable"} - }; - // clang-format on - RegisterHandlers(functions); + ); } private: @@ -126,19 +121,17 @@ private: class CLKRST final : public ServiceFramework { public: - explicit CLKRST(Core::System& system_, const char* name) : ServiceFramework{system_, name} { - // clang-format off - static const FunctionInfo functions[] = { + explicit CLKRST(Core::System& system_, const char* name) : ServiceFramework{system_, name} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &CLKRST::OpenSession, "OpenSession"}, FunctionInfo{1, nullptr, "GetTemperatureThresholds"}, FunctionInfo{2, nullptr, "SetTemperature"}, FunctionInfo{3, nullptr, "GetModuleStateTable"}, FunctionInfo{4, nullptr, "GetModuleStateTableEvent"}, FunctionInfo{5, nullptr, "GetModuleStateTableMaxCount"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -157,14 +150,12 @@ private: class CLKRST_A final : public ServiceFramework { public: - explicit CLKRST_A(Core::System& system_) : ServiceFramework{system_, "clkrst:a"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, nullptr, "ReleaseControl"} - }; - // clang-format on + explicit CLKRST_A(Core::System& system_) : ServiceFramework{system_, "clkrst:a"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, nullptr, "ReleaseControl"} + ); } }; diff --git a/src/core/hle/service/pm/pm.cpp b/src/core/hle/service/pm/pm.cpp index 2b7e0cf5bd..d243cf8d36 100644 --- a/src/core/hle/service/pm/pm.cpp +++ b/src/core/hle/service/pm/pm.cpp @@ -78,9 +78,10 @@ private: class DebugMonitor final : public ServiceFramework { public: - explicit DebugMonitor(Core::System& system_) : ServiceFramework{system_, "pm:dmnt"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit DebugMonitor(Core::System& system_) : ServiceFramework{system_, "pm:dmnt"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetJitDebugProcessIdList"}, FunctionInfo{1, nullptr, "StartProcess"}, FunctionInfo{2, &DebugMonitor::GetProcessId, "GetProcessId"}, @@ -90,10 +91,7 @@ public: FunctionInfo{6, nullptr, "ClearHook"}, FunctionInfo{65000, &DebugMonitor::AtmosphereGetProcessInfo, "AtmosphereGetProcessInfo"}, FunctionInfo{65001, nullptr, "AtmosphereGetCurrentLimitInfo"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: @@ -222,9 +220,10 @@ private: class Shell final : public ServiceFramework { public: - explicit Shell(Core::System& system_) : ServiceFramework{system_, "pm:shell"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit Shell(Core::System& system_) : ServiceFramework{system_, "pm:shell"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "LaunchProgram"}, FunctionInfo{1, nullptr, "TerminateProcess"}, FunctionInfo{2, nullptr, "TerminateProgram"}, @@ -235,10 +234,7 @@ public: FunctionInfo{7, nullptr, "BoostSystemMemoryResourceLimit"}, FunctionInfo{8, nullptr, "BoostApplicationThreadResourceLimit"}, FunctionInfo{9, nullptr, "GetBootFinishedEventHandle"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/prepo/prepo.cpp b/src/core/hle/service/prepo/prepo.cpp index 79979b83ec..ddf270823d 100644 --- a/src/core/hle/service/prepo/prepo.cpp +++ b/src/core/hle/service/prepo/prepo.cpp @@ -21,9 +21,10 @@ namespace Service::PlayReport { class PlayReport final : public ServiceFramework { public: - explicit PlayReport(const char* name, Core::System& system_) : ServiceFramework{system_, name} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PlayReport(const char* name, Core::System& system_) : ServiceFramework{system_, name} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{10100, &PlayReport::SaveReport, "SaveReportOld"}, FunctionInfo{10101, &PlayReport::SaveReportWithUser, "SaveReportWithUserOld"}, FunctionInfo{10102, &PlayReport::SaveReport, "SaveReportOld2"}, @@ -56,10 +57,7 @@ public: FunctionInfo{90200, nullptr, "GetStatistics"}, FunctionInfo{90201, nullptr, "GetThroughputHistory"}, FunctionInfo{90300, nullptr, "GetLastUploadError"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/psc/psc.cpp b/src/core/hle/service/psc/psc.cpp index 46a0e25693..2891f5ce9e 100644 --- a/src/core/hle/service/psc/psc.cpp +++ b/src/core/hle/service/psc/psc.cpp @@ -19,50 +19,48 @@ namespace Service::PSC { class PSC_L final : public ServiceFramework { public: - explicit PSC_L(Core::System& system_) : ServiceFramework{system_, "psc:l"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit PSC_L(Core::System& system_) : ServiceFramework{system_, "psc:l"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize_3"}, FunctionInfo{1, nullptr, "Lock"}, FunctionInfo{2, nullptr, "Unlock"}, FunctionInfo{3, nullptr, "IsLocked"}, FunctionInfo{4, nullptr, "GetRelatedState"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class INS_R final : public ServiceFramework { public: - explicit INS_R(Core::System& system_) : ServiceFramework{system_, "ins:r"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit INS_R(Core::System& system_) : ServiceFramework{system_, "ins:r"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetInputSourceState"}, FunctionInfo{1, nullptr, "GetTriggerTargetEvent"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class INS_S final : public ServiceFramework { public: - explicit INS_S(Core::System& system_) : ServiceFramework{system_, "ins:s"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit INS_S(Core::System& system_) : ServiceFramework{system_, "ins:s"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetNotifyEvent"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class HSHL_SYS final : public ServiceFramework { public: - explicit HSHL_SYS(Core::System& system_) : ServiceFramework{system_, "hshl:sys"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit HSHL_SYS(Core::System& system_) : ServiceFramework{system_, "hshl:sys"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetBatteryPercentage"}, FunctionInfo{1, nullptr, "GetChargerType"}, FunctionInfo{2, nullptr, "OpenChargeSession"}, @@ -79,26 +77,23 @@ public: FunctionInfo{13, nullptr, "GetIsCharging"}, FunctionInfo{14, nullptr, "Cmd14"}, FunctionInfo{15, nullptr, "Cmd15"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class HSHL_SET final : public ServiceFramework { public: - explicit HSHL_SET(Core::System& system_) : ServiceFramework{system_, "hshl:set"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit HSHL_SET(Core::System& system_) : ServiceFramework{system_, "hshl:set"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "OpenChargeSession_2"}, FunctionInfo{1, nullptr, "OpenThermalSession_2"}, FunctionInfo{2, nullptr, "SetClockRate"}, FunctionInfo{3, nullptr, "SetBridgePowerSupply"}, FunctionInfo{4, nullptr, "Cmd4"}, FunctionInfo{5, nullptr, "Cmd5"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp index 6b3c789578..5513834290 100644 --- a/src/core/hle/service/ptm/psm.cpp +++ b/src/core/hle/service/ptm/psm.cpp @@ -21,9 +21,10 @@ namespace Service::PTM { class IPsmSession final : public ServiceFramework { public: explicit IPsmSession(Core::System& system_) - : ServiceFramework{system_, "IPsmSession"}, service_context{system_, "IPsmSession"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IPsmSession"}, service_context{system_, "IPsmSession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &IPsmSession::BindStateChangeEvent, "BindStateChangeEvent"}, FunctionInfo{1, &IPsmSession::UnbindStateChangeEvent, "UnbindStateChangeEvent"}, FunctionInfo{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"}, diff --git a/src/core/hle/service/ptm/ptm.cpp b/src/core/hle/service/ptm/ptm.cpp index 9cc1089733..ab039975d1 100644 --- a/src/core/hle/service/ptm/ptm.cpp +++ b/src/core/hle/service/ptm/ptm.cpp @@ -17,28 +17,26 @@ namespace Service::PTM { class PSM_MANU final : public ServiceFramework { public: explicit PSM_MANU(Core::System& system_) - : ServiceFramework{system_, "psm:manu"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "psm:manu"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "EnableVdd50StateControl"}, FunctionInfo{1, nullptr, "DisableVdd50StateControl"}, FunctionInfo{2, nullptr, "SetVdd50State"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class POWCTL final : public ServiceFramework { public: explicit POWCTL(Core::System& system_) - : ServiceFramework{system_, "powctl"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "powctl"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "OpenSession"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/ptm/ts.cpp b/src/core/hle/service/ptm/ts.cpp index e07175690f..1ea126c9ff 100644 --- a/src/core/hle/service/ptm/ts.cpp +++ b/src/core/hle/service/ptm/ts.cpp @@ -19,16 +19,14 @@ enum class Location : u8 { class ISession : public ServiceFramework { public: - explicit ISession(Core::System& system_) : ServiceFramework{system_, "ISession"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit ISession(Core::System& system_) : ServiceFramework{system_, "ISession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetTemperatureRange"}, FunctionInfo{2, nullptr, "SetMeasurementMode"}, FunctionInfo{4, &ISession::GetTemperature, "GetTemperature"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/ro/ro.cpp b/src/core/hle/service/ro/ro.cpp index 870b54c829..4716f5c1a3 100644 --- a/src/core/hle/service/ro/ro.cpp +++ b/src/core/hle/service/ro/ro.cpp @@ -510,18 +510,16 @@ public: : ServiceFramework{system_, name_}, m_ro(ro), m_context_id(InvalidContextId), m_nrr_kind(nrr_kind) { - // clang-format off - static const FunctionInfo functions[] = { + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, C<&RoInterface::MapManualLoadModuleMemory>, "MapManualLoadModuleMemory"}, FunctionInfo{1, C<&RoInterface::UnmapManualLoadModuleMemory>, "UnmapManualLoadModuleMemory"}, FunctionInfo{2, C<&RoInterface::RegisterModuleInfo>, "RegisterModuleInfo"}, FunctionInfo{3, C<&RoInterface::UnregisterModuleInfo>, "UnregisterModuleInfo"}, FunctionInfo{4, C<&RoInterface::RegisterProcessHandle>, "RegisterProcessHandle"}, FunctionInfo{10, C<&RoInterface::RegisterProcessModuleInfo>, "RegisterProcessModuleInfo"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } ~RoInterface() { diff --git a/src/core/hle/service/sockets/sockets.cpp b/src/core/hle/service/sockets/sockets.cpp index 7ce319d53e..9b4cdd3727 100644 --- a/src/core/hle/service/sockets/sockets.cpp +++ b/src/core/hle/service/sockets/sockets.cpp @@ -15,9 +15,10 @@ namespace Service::Sockets { class ETHC_C final : public ServiceFramework { public: explicit ETHC_C(Core::System& system_) - : ServiceFramework{system_, "ethc:c"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ethc:c"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "Initialize"}, FunctionInfo{1, nullptr, "Cancel"}, FunctionInfo{2, nullptr, "GetResult"}, @@ -25,39 +26,35 @@ public: FunctionInfo{4, nullptr, "SetMediaType"}, FunctionInfo{5, nullptr, "GetMediaType"}, FunctionInfo{6, nullptr, "GetMacAddress"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class ETHC_I final : public ServiceFramework { public: explicit ETHC_I(Core::System& system_) - : ServiceFramework{system_, "ethc:i"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ethc:i"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetReadableHandle"}, FunctionInfo{1, nullptr, "Cancel"}, FunctionInfo{2, nullptr, "GetResult"}, FunctionInfo{3, nullptr, "GetInterfaceList"}, FunctionInfo{4, nullptr, "GetInterfaceCount"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class ISfDriverServiceCreator final : public ServiceFramework { public: explicit ISfDriverServiceCreator(Core::System& system_) - : ServiceFramework{system_, "eth:nd"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "eth:nd"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "CreateDriverService"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index 172c32caa0..1a8b6e16d4 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -78,9 +78,10 @@ public: std::shared_ptr& shared_data_in, std::unique_ptr&& backend_in) : ServiceFramework{system_in, "ISslConnection"}, ssl_version{ssl_version_in}, - shared_data{shared_data_in}, backend{std::move(backend_in)} { - // clang-format off - static const FunctionInfo functions[] = { + shared_data{shared_data_in}, backend{std::move(backend_in)} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&ISslConnection::SetSocketDescriptor>, "SetSocketDescriptor"}, FunctionInfo{1, D<&ISslConnection::SetHostName>, "SetHostName"}, FunctionInfo{2, D<&ISslConnection::SetVerifyOption>, "SetVerifyOption"}, @@ -566,9 +567,10 @@ private: class ISslService final : public ServiceFramework { public: explicit ISslService(Core::System& system_) - : ServiceFramework{system_, "ssl"}, cert_store{system} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "ssl"}, cert_store{system} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, &ISslService::CreateContext, "CreateContext"}, FunctionInfo{1, nullptr, "GetContextCount"}, FunctionInfo{2, D<&ISslService::GetCertificates>, "GetCertificates"}, @@ -579,10 +581,7 @@ public: FunctionInfo{7, nullptr, "SetDebugOption"}, FunctionInfo{8, nullptr, "GetDebugOption"}, FunctionInfo{8, nullptr, "ClearTls12FallbackFlag"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } private: diff --git a/src/core/hle/service/usb/usb.cpp b/src/core/hle/service/usb/usb.cpp index 275db678bc..5ec69a903d 100644 --- a/src/core/hle/service/usb/usb.cpp +++ b/src/core/hle/service/usb/usb.cpp @@ -17,9 +17,10 @@ namespace Service::USB { class IDsInterface final : public ServiceFramework { public: - explicit IDsInterface(Core::System& system_) : ServiceFramework{system_, "IDsInterface"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IDsInterface(Core::System& system_) : ServiceFramework{system_, "IDsInterface"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "AddEndpoint"}, FunctionInfo{1, nullptr, "GetSetupEvent"}, FunctionInfo{2, nullptr, "GetSetupPacket"}, @@ -33,32 +34,28 @@ public: FunctionInfo{10, nullptr, "GetCtrlOutUrbReport"}, FunctionInfo{11, nullptr, "CtrlStall"}, FunctionInfo{12, nullptr, "AppendConfigurationData"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IDsRootSession final : public ServiceFramework { public: - explicit IDsRootSession(Core::System& system_) : ServiceFramework{system_, "usb:ds"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, nullptr, "OpenDsService"} - }; - // clang-format on + explicit IDsRootSession(Core::System& system_) : ServiceFramework{system_, "usb:ds"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, nullptr, "OpenDsService"} + ); } }; class IClientEpSession final : public ServiceFramework { public: explicit IClientEpSession(Core::System& system_) - : ServiceFramework{system_, "IClientEpSession"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IClientEpSession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ReOpen"}, FunctionInfo{1, nullptr, "Close"}, FunctionInfo{2, nullptr, "GetCompletionEvent"}, @@ -68,19 +65,17 @@ public: FunctionInfo{6, nullptr, "PostBufferMultiAsync"}, FunctionInfo{7, nullptr, "CreateSmmuSpace"}, FunctionInfo{8, nullptr, "ShareReportRing"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IClientIfSession final : public ServiceFramework { public: explicit IClientIfSession(Core::System& system_) - : ServiceFramework{system_, "IClientIfSession"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IClientIfSession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetStateChangeEvent"}, FunctionInfo{1, nullptr, "SetInterface"}, FunctionInfo{2, nullptr, "GetInterface"}, @@ -91,18 +86,16 @@ public: FunctionInfo{7, nullptr, "GetCtrlXferReport"}, FunctionInfo{8, nullptr, "ResetDevice"}, FunctionInfo{9, nullptr, "OpenUsbEp"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IClientRootSession final : public ServiceFramework { public: - explicit IClientRootSession(Core::System& system_) : ServiceFramework{system_, "usb:hs"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IClientRootSession(Core::System& system_) : ServiceFramework{system_, "usb:hs"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "BindClientProcess"}, FunctionInfo{1, nullptr, "QueryAllInterfaces"}, FunctionInfo{2, nullptr, "QueryAvailableInterfaces"}, @@ -112,18 +105,16 @@ public: FunctionInfo{6, nullptr, "GetInterfaceStateChangeEvent"}, FunctionInfo{7, nullptr, "AcquireUsbIf"}, FunctionInfo{8, nullptr, "SetTestMode"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IPdSession final : public ServiceFramework { public: - explicit IPdSession(Core::System& system_) : ServiceFramework{system_, "IPdSession"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IPdSession(Core::System& system_) : ServiceFramework{system_, "IPdSession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "BindNoticeEvent"}, FunctionInfo{1, nullptr, "UnbindNoticeEvent"}, FunctionInfo{2, nullptr, "GetStatus"}, @@ -131,23 +122,18 @@ public: FunctionInfo{4, nullptr, "EnablePowerRequestNotice"}, FunctionInfo{5, nullptr, "DisablePowerRequestNotice"}, FunctionInfo{6, nullptr, "ReplyPowerRequest"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IPdManager final : public ServiceFramework { public: - explicit IPdManager(Core::System& system_) : ServiceFramework{system_, "usb:pd"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IPdManager::OpenSession, "OpenSession"} - }; - // clang-format on + explicit IPdManager(Core::System& system_) : ServiceFramework{system_, "usb:pd"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IPdManager::OpenSession, "OpenSession"} + ); } private: @@ -163,9 +149,10 @@ private: class IPdCradleSession final : public ServiceFramework { public: explicit IPdCradleSession(Core::System& system_) - : ServiceFramework{system_, "IPdCradleSession"} { - // clang-format off - static const FunctionInfo functions[] = { + : ServiceFramework{system_, "IPdCradleSession"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "SetCradleVdo"}, FunctionInfo{1, nullptr, "GetCradleVdo"}, FunctionInfo{2, nullptr, "ResetCradleUsbHub"}, @@ -175,23 +162,18 @@ public: FunctionInfo{6, nullptr, "GetHostPdcDeviceId"}, FunctionInfo{7, nullptr, "EnableCradleRecovery"}, FunctionInfo{8, nullptr, "DisableCradleRecovery"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IPdCradleManager final : public ServiceFramework { public: - explicit IPdCradleManager(Core::System& system_) : ServiceFramework{system_, "usb:pd:c"} { - // clang-format off - static const FunctionInfo functions[] = { - FunctionInfo{0, &IPdCradleManager::OpenCradleSession, "OpenCradleSession"} - }; - // clang-format on + explicit IPdCradleManager(Core::System& system_) : ServiceFramework{system_, "usb:pd:c"} {} - RegisterHandlers(functions); + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, + FunctionInfo{0, &IPdCradleManager::OpenCradleSession, "OpenCradleSession"} + ); } private: @@ -206,57 +188,52 @@ private: class IPmMainService final : public ServiceFramework { public: - explicit IPmMainService(Core::System& system_) : ServiceFramework{system_, "usb:pm"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IPmMainService(Core::System& system_) : ServiceFramework{system_, "usb:pm"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetPowerEvent"}, FunctionInfo{1, nullptr, "GetPowerState"}, FunctionInfo{2, nullptr, "GetDataEvent"}, FunctionInfo{3, nullptr, "GetDataRole"}, FunctionInfo{4, nullptr, "SetDiagData"}, FunctionInfo{5, nullptr, "GetDiagData"} - }; - // clang-format on - - RegisterHandlers(functions); + ); } }; class IPdManufactureManager final : public ServiceFramework { public: - explicit IPdManufactureManager(Core::System& system_) : ServiceFramework{system_, "usb:pd:m"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IPdManufactureManager(Core::System& system_) : ServiceFramework{system_, "usb:pd:m"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "OpenManufactureSession"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IQdbManager final : public ServiceFramework { public: - explicit IQdbManager(Core::System& system_) : ServiceFramework{system_, "usb:qdb"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IQdbManager(Core::System& system_) : ServiceFramework{system_, "usb:qdb"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "ImportQuirkDevices"}, FunctionInfo{1, nullptr, "HasQuirk"} - }; - // clang-format on - RegisterHandlers(functions); + ); } }; class IPmObserverService final : public ServiceFramework { public: - explicit IPmObserverService(Core::System& system_) : ServiceFramework{system_, "usb:obsv"} { - // clang-format off - static const FunctionInfo functions[] = { + explicit IPmObserverService(Core::System& system_) : ServiceFramework{system_, "usb:obsv"} {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetTopologyChangeEvent"}, FunctionInfo{1, nullptr, "GetFlattenedTopology"} - }; - // clang-format on - RegisterHandlers(functions); + ); } };