From 3c2543b0d1aa46c914457bf8a8cca50a64964df1 Mon Sep 17 00:00:00 2001 From: lizzie Date: Fri, 25 Sep 2026 16:26:18 +0000 Subject: [PATCH] 2026-09-25 16:26:18 Signed-off-by: lizzie --- src/core/hle/service/acc/acc.cpp | 175 +++++++++++----------- src/core/hle/service/btdrv/btdrv.cpp | 11 +- src/core/hle/service/btm/btm.cpp | 2 +- src/core/hle/service/es/es.cpp | 12 +- src/core/hle/service/friend/friend.cpp | 42 +++--- src/core/hle/service/glue/notif.cpp | 14 +- src/core/hle/service/jit/jit.cpp | 22 ++- src/core/hle/service/mig/mig.cpp | 2 +- src/core/hle/service/mii/mii.cpp | 20 +-- src/core/hle/service/nfc/nfc.cpp | 147 +++++++++--------- src/core/hle/service/nfp/nfp.cpp | 200 ++++++++++++------------- src/core/hle/service/ngc/ngc.cpp | 8 +- src/core/hle/service/nim/nim.cpp | 15 +- src/core/hle/service/npns/npns.cpp | 2 +- src/core/hle/service/ns/ns.cpp | 30 ++-- src/core/hle/service/ptm/psm.cpp | 12 +- src/core/hle/service/ssl/ssl.cpp | 22 ++- 17 files changed, 351 insertions(+), 385 deletions(-) diff --git a/src/core/hle/service/acc/acc.cpp b/src/core/hle/service/acc/acc.cpp index 5c45dff3bc..2824fa62e2 100644 --- a/src/core/hle/service/acc/acc.cpp +++ b/src/core/hle/service/acc/acc.cpp @@ -277,7 +277,8 @@ public: class IOAuthProcedureForExternalNsa final : public ServiceFramework { public: explicit IOAuthProcedureForExternalNsa(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedureForExternalNsa"} {} + : ServiceFramework{system_, "IOAuthProcedureForExternalNsa"} + {} FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -295,11 +296,11 @@ public: } }; -class IOAuthProcedureForNintendoAccountLinkage final - : public ServiceFramework { +class IOAuthProcedureForNintendoAccountLinkage final : public ServiceFramework { public: explicit IOAuthProcedureForNintendoAccountLinkage(Core::System& system_, Common::UUID) - : ServiceFramework{system_, "IOAuthProcedureForNintendoAccountLinkage"} {} + : ServiceFramework{system_, "IOAuthProcedureForNintendoAccountLinkage"} + {} FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -315,7 +316,7 @@ public: FunctionInfo{210, nullptr, "IsProfileAvailable"}, // 17.0.0+ FunctionInfo{220, nullptr, "RegisterUserAsyncWithoutProfile"}, // 17.0.0+ FunctionInfo{221, nullptr, "RegisterUserWithProfileAsync"}, // 17.0.0+ - FunctionInfo{230, nullptr, "RegisterUserWithLargeImageProfileAsync"}, // 18.0.0+ + FunctionInfo{230, nullptr, "RegisterUserWithLargeImageProfileAsync"} // 18.0.0+ ); } }; @@ -630,7 +631,7 @@ public: FunctionInfo{14, nullptr, "GetNickname"}, FunctionInfo{15, nullptr, "GetProfileImage"}, FunctionInfo{16, nullptr, "GetProfileLargeImage"}, // 18.0.0+ - FunctionInfo{21, nullptr, "LoadIdTokenCache"}, // 3.0.0+ + FunctionInfo{21, nullptr, "LoadIdTokenCache"} // 3.0.0+ ); } }; @@ -1222,11 +1223,9 @@ public: FunctionInfo{0, nullptr, "EnsureCacheAsync"}, FunctionInfo{1, nullptr, "LoadCache"}, FunctionInfo{2, nullptr, "GetDeviceAccountId"}, - FunctionInfo{50, nullptr, "RegisterNotificationTokenAsync"}, // 1.0.0 - 6.2.0 - FunctionInfo{51, nullptr, "UnregisterNotificationTokenAsync"}, // 1.0.0 - 6.2.0 - }; - // clang-format on - RegisterHandlers(functions); + FunctionInfo{50, nullptr, "RegisterNotificationTokenAsync"}, // 1.0.0 - 6.2.0 + FunctionInfo{51, nullptr, "UnregisterNotificationTokenAsync"} // 1.0.0 - 6.2.0 + ); } ~ACC_AA() override = default; }; @@ -1427,83 +1426,83 @@ public: FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, - { 0, nullptr, "GetUserCount"}, - { 1, nullptr, "GetUserExistence"}, - { 2, nullptr, "ListAllUsers"}, - { 3, nullptr, "ListOpenUsers"}, - { 4, nullptr, "GetLastOpenedUser"}, - { 5, nullptr, "GetProfile"}, - { 6, nullptr, "GetProfileDigest"}, - { 50, nullptr, "IsUserRegistrationRequestPermitted"}, - { 51, nullptr, "TrySelectUserWithoutInteractionDeprecated"}, - { 52, nullptr, "TrySelectUserWithoutInteraction"}, - { 99, nullptr, "DebugActivateOpenContextRetention"}, - { 100, nullptr, "GetUserRegistrationNotifier"}, - { 101, nullptr, "GetUserStateChangeNotifier"}, - { 102, nullptr, "GetBaasAccountManagerForSystemService"}, - { 103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, - { 104, nullptr, "GetProfileUpdateNotifier"}, - { 105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, - { 106, nullptr, "GetProfileSyncNotifier"}, - { 110, nullptr, "StoreSaveDataThumbnail"}, - { 111, nullptr, "ClearSaveDataThumbnail"}, - { 112, nullptr, "LoadSaveDataThumbnail"}, - { 113, nullptr, "GetSaveDataThumbnailExistence"}, - { 120, nullptr, "ListOpenUsersInApplication"}, - { 130, nullptr, "ActivateOpenContextRetention"}, - { 140, nullptr, "ListQualifiedUsers"}, - { 151, nullptr, "EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync"}, - { 152, nullptr, "LoadSignedDeviceIdentifierCacheForNintendoAccount"}, - { 170, nullptr, "GetNasOp2MembershipStateChangeNotifier"}, - { 191, nullptr, "UpdateNotificationReceiverInfo"}, - { 200, nullptr, "BeginUserRegistration"}, - { 201, nullptr, "CompleteUserRegistration"}, - { 202, nullptr, "CancelUserRegistration"}, - { 203, nullptr, "DeleteUser"}, - { 204, nullptr, "SetUserPosition"}, - { 205, nullptr, "GetProfileEditor"}, - { 206, nullptr, "CompleteUserRegistrationForcibly"}, - { 210, nullptr, "CreateFloatingRegistrationRequest"}, - { 211, nullptr, "CreateProcedureToRegisterUserWithNintendoAccount"}, - { 212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"}, - { 213, nullptr, "CreateProcedureToCreateUserWithNintendoAccount"}, - { 214, nullptr, "ResumeProcedureToCreateUserWithNintendoAccount"}, - { 215, nullptr, "ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse"}, - { 230, nullptr, "AuthenticateServiceAsync"}, - { 250, nullptr, "GetBaasAccountAdministrator"}, - { 251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, - { 290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"}, - { 291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"}, - { 292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, - { 293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, - { 299, nullptr, "SuspendBackgroundDaemon"}, - { 350, nullptr, "CreateDeviceMigrationUserExportRequest"}, - { 351, nullptr, "UploadNasCredential"}, - { 352, nullptr, "CreateDeviceMigrationUserImportRequest"}, - { 353, nullptr, "DeleteUserMigrationSaveData"}, - { 400, nullptr, "SetPinCode"}, - { 401, nullptr, "GetPinCodeLength"}, - { 402, nullptr, "GetPinCode"}, - { 403, nullptr, "GetPinCodeParity"}, - { 404, nullptr, "VerifyPinCode"}, - { 405, nullptr, "IsPinCodeVerificationForbidden"}, - { 410, nullptr, "GetPinCodeErrorCount"}, - { 411, nullptr, "ResetPinCodeErrorCount"}, - { 412, nullptr, "IncrementPinCodeErrorCount"}, - { 413, nullptr, "SetPinCodeErrorCount"}, - { 420, nullptr, "SetStartPenaltyTime"}, - { 421, nullptr, "GetStartPenaltyTime"}, - { 900, nullptr, "SetUserUnqualifiedForDebug"}, - { 901, nullptr, "UnsetUserUnqualifiedForDebug"}, - { 902, nullptr, "ListUsersUnqualifiedForDebug"}, - { 910, nullptr, "RefreshFirmwareSettingsForDebug"}, - { 997, nullptr, "DebugInvalidateTokenCacheForUser"}, - { 998, nullptr, "DebugSetUserStateClose"}, - { 999, nullptr, "DebugSetUserStateOpen"}, - { 1000, nullptr, "CreateIAccountEntityServiceForApplication"}, - { 1100, nullptr, "CreateIUserStateManager"}, - { 10050, nullptr, "IsUserRegistrationRequestPermittedForAccountPolicy"}, - { 10105, nullptr, "CheckNetworkServiceAvailabilityAsyncForAccountPolicy"} + FunctionInfo{ 0, nullptr, "GetUserCount"}, + FunctionInfo{ 1, nullptr, "GetUserExistence"}, + FunctionInfo{ 2, nullptr, "ListAllUsers"}, + FunctionInfo{ 3, nullptr, "ListOpenUsers"}, + FunctionInfo{ 4, nullptr, "GetLastOpenedUser"}, + FunctionInfo{ 5, nullptr, "GetProfile"}, + FunctionInfo{ 6, nullptr, "GetProfileDigest"}, + FunctionInfo{ 50, nullptr, "IsUserRegistrationRequestPermitted"}, + FunctionInfo{ 51, nullptr, "TrySelectUserWithoutInteractionDeprecated"}, + FunctionInfo{ 52, nullptr, "TrySelectUserWithoutInteraction"}, + FunctionInfo{ 99, nullptr, "DebugActivateOpenContextRetention"}, + FunctionInfo{ 100, nullptr, "GetUserRegistrationNotifier"}, + FunctionInfo{ 101, nullptr, "GetUserStateChangeNotifier"}, + FunctionInfo{ 102, nullptr, "GetBaasAccountManagerForSystemService"}, + FunctionInfo{ 103, nullptr, "GetBaasUserAvailabilityChangeNotifier"}, + FunctionInfo{ 104, nullptr, "GetProfileUpdateNotifier"}, + FunctionInfo{ 105, nullptr, "CheckNetworkServiceAvailabilityAsync"}, + FunctionInfo{ 106, nullptr, "GetProfileSyncNotifier"}, + FunctionInfo{ 110, nullptr, "StoreSaveDataThumbnail"}, + FunctionInfo{ 111, nullptr, "ClearSaveDataThumbnail"}, + FunctionInfo{ 112, nullptr, "LoadSaveDataThumbnail"}, + FunctionInfo{ 113, nullptr, "GetSaveDataThumbnailExistence"}, + FunctionInfo{ 120, nullptr, "ListOpenUsersInApplication"}, + FunctionInfo{ 130, nullptr, "ActivateOpenContextRetention"}, + FunctionInfo{ 140, nullptr, "ListQualifiedUsers"}, + FunctionInfo{ 151, nullptr, "EnsureSignedDeviceIdentifierCacheForNintendoAccountAsync"}, + FunctionInfo{ 152, nullptr, "LoadSignedDeviceIdentifierCacheForNintendoAccount"}, + FunctionInfo{ 170, nullptr, "GetNasOp2MembershipStateChangeNotifier"}, + FunctionInfo{ 191, nullptr, "UpdateNotificationReceiverInfo"}, + FunctionInfo{ 200, nullptr, "BeginUserRegistration"}, + FunctionInfo{ 201, nullptr, "CompleteUserRegistration"}, + FunctionInfo{ 202, nullptr, "CancelUserRegistration"}, + FunctionInfo{ 203, nullptr, "DeleteUser"}, + FunctionInfo{ 204, nullptr, "SetUserPosition"}, + FunctionInfo{ 205, nullptr, "GetProfileEditor"}, + FunctionInfo{ 206, nullptr, "CompleteUserRegistrationForcibly"}, + FunctionInfo{ 210, nullptr, "CreateFloatingRegistrationRequest"}, + FunctionInfo{ 211, nullptr, "CreateProcedureToRegisterUserWithNintendoAccount"}, + FunctionInfo{ 212, nullptr, "ResumeProcedureToRegisterUserWithNintendoAccount"}, + FunctionInfo{ 213, nullptr, "CreateProcedureToCreateUserWithNintendoAccount"}, + FunctionInfo{ 214, nullptr, "ResumeProcedureToCreateUserWithNintendoAccount"}, + FunctionInfo{ 215, nullptr, "ResumeProcedureToCreateUserWithNintendoAccountAfterApplyResponse"}, + FunctionInfo{ 230, nullptr, "AuthenticateServiceAsync"}, + FunctionInfo{ 250, nullptr, "GetBaasAccountAdministrator"}, + FunctionInfo{ 251, nullptr, "SynchronizeNetworkServiceAccountsSnapshotAsync"}, + FunctionInfo{ 290, nullptr, "ProxyProcedureForGuestLoginWithNintendoAccount"}, + FunctionInfo{ 291, nullptr, "ProxyProcedureForFloatingRegistrationWithNintendoAccount"}, + FunctionInfo{ 292, nullptr, "ProxyProcedureForDeviceMigrationAuthenticatingOperatingUser"}, + FunctionInfo{ 293, nullptr, "ProxyProcedureForDeviceMigrationDownload"}, + FunctionInfo{ 299, nullptr, "SuspendBackgroundDaemon"}, + FunctionInfo{ 350, nullptr, "CreateDeviceMigrationUserExportRequest"}, + FunctionInfo{ 351, nullptr, "UploadNasCredential"}, + FunctionInfo{ 352, nullptr, "CreateDeviceMigrationUserImportRequest"}, + FunctionInfo{ 353, nullptr, "DeleteUserMigrationSaveData"}, + FunctionInfo{ 400, nullptr, "SetPinCode"}, + FunctionInfo{ 401, nullptr, "GetPinCodeLength"}, + FunctionInfo{ 402, nullptr, "GetPinCode"}, + FunctionInfo{ 403, nullptr, "GetPinCodeParity"}, + FunctionInfo{ 404, nullptr, "VerifyPinCode"}, + FunctionInfo{ 405, nullptr, "IsPinCodeVerificationForbidden"}, + FunctionInfo{ 410, nullptr, "GetPinCodeErrorCount"}, + FunctionInfo{ 411, nullptr, "ResetPinCodeErrorCount"}, + FunctionInfo{ 412, nullptr, "IncrementPinCodeErrorCount"}, + FunctionInfo{ 413, nullptr, "SetPinCodeErrorCount"}, + FunctionInfo{ 420, nullptr, "SetStartPenaltyTime"}, + FunctionInfo{ 421, nullptr, "GetStartPenaltyTime"}, + FunctionInfo{ 900, nullptr, "SetUserUnqualifiedForDebug"}, + FunctionInfo{ 901, nullptr, "UnsetUserUnqualifiedForDebug"}, + FunctionInfo{ 902, nullptr, "ListUsersUnqualifiedForDebug"}, + FunctionInfo{ 910, nullptr, "RefreshFirmwareSettingsForDebug"}, + FunctionInfo{ 997, nullptr, "DebugInvalidateTokenCacheForUser"}, + FunctionInfo{ 998, nullptr, "DebugSetUserStateClose"}, + FunctionInfo{ 999, nullptr, "DebugSetUserStateOpen"}, + FunctionInfo{ 1000, nullptr, "CreateIAccountEntityServiceForApplication"}, + FunctionInfo{ 1100, nullptr, "CreateIUserStateManager"}, + FunctionInfo{ 10050, nullptr, "IsUserRegistrationRequestPermittedForAccountPolicy"}, + FunctionInfo{ 10105, nullptr, "CheckNetworkServiceAvailabilityAsyncForAccountPolicy"} ); } }; diff --git a/src/core/hle/service/btdrv/btdrv.cpp b/src/core/hle/service/btdrv/btdrv.cpp index 9128cbf4e0..c9fcdf6f76 100644 --- a/src/core/hle/service/btdrv/btdrv.cpp +++ b/src/core/hle/service/btdrv/btdrv.cpp @@ -20,7 +20,10 @@ namespace Service::BtDrv { class IBluetoothUser final : public ServiceFramework { public: explicit IBluetoothUser(Core::System& system_) - : ServiceFramework{system_, "bt"}, service_context{system_, "bt"} {} + : ServiceFramework{system_, "bt"} + , service_context{system_, "bt"} { + register_event = service_context.CreateEvent("BT:RegisterEvent"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -34,11 +37,7 @@ public: FunctionInfo{7, nullptr, "LeSendIndication"}, FunctionInfo{8, nullptr, "GetLeEventInfo"}, FunctionInfo{9, C<&IBluetoothUser::RegisterBleEvent>, "RegisterBleEvent"} - }; - // clang-format on - RegisterHandlers(functions); - - register_event = service_context.CreateEvent("BT:RegisterEvent"); + ); } ~IBluetoothUser() override { diff --git a/src/core/hle/service/btm/btm.cpp b/src/core/hle/service/btm/btm.cpp index 9c60e94c06..043b99c8f5 100644 --- a/src/core/hle/service/btm/btm.cpp +++ b/src/core/hle/service/btm/btm.cpp @@ -107,7 +107,7 @@ public: FunctionInfo{114, nullptr, "IsFirstAudioControlConnection"}, //14.0.0+ FunctionInfo{115, nullptr, "GetShortenedDeviceCondition"}, //14.0.0+ FunctionInfo{116, nullptr, "SetAudioSinkVolume"}, //15.0.0+ - FunctionInfo{117, nullptr, "GetAudioSinkVolume"}, //15.0.0+ + FunctionInfo{117, nullptr, "GetAudioSinkVolume"} //15.0.0+ ); } }; diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp index 3dfd0b16d6..c380d67404 100644 --- a/src/core/hle/service/es/es.cpp +++ b/src/core/hle/service/es/es.cpp @@ -18,7 +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"} {} + explicit ETicket(Core::System& system_) : ServiceFramework{system_, "es"} { + keys.PopulateTickets(); + keys.SynthesizeTickets(); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -116,12 +119,7 @@ public: FunctionInfo{2601, nullptr, "Unknown2601"}, FunctionInfo{3001, nullptr, "Unknown3001"}, FunctionInfo{3002, nullptr, "Unknown3002"} - }; - // clang-format on - RegisterHandlers(functions); - - keys.PopulateTickets(); - keys.SynthesizeTickets(); + ); } private: diff --git a/src/core/hle/service/friend/friend.cpp b/src/core/hle/service/friend/friend.cpp index f1d7cbef1a..f00dfc2237 100644 --- a/src/core/hle/service/friend/friend.cpp +++ b/src/core/hle/service/friend/friend.cpp @@ -21,7 +21,9 @@ namespace Service::Friend { class IFriendService final : public ServiceFramework { public: explicit IFriendService(Core::System& system_) - : ServiceFramework{system_, "IFriendService"}, service_context{system, "IFriendService"} {} + : ServiceFramework{system_, "IFriendService"}, service_context{system, "IFriendService"} { + completion_event = service_context.CreateEvent("IFriendService:CompletionEvent"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -137,12 +139,7 @@ public: FunctionInfo{40100, nullptr, "DeleteFriendListCache"}, FunctionInfo{40400, nullptr, "DeleteBlockedUserListCache"}, FunctionInfo{49900, nullptr, "DeleteNetworkServiceAccountCache"} - }; - // clang-format on - - RegisterHandlers(functions); - - completion_event = service_context.CreateEvent("IFriendService:CompletionEvent"); + ); } ~IFriendService() override { @@ -376,20 +373,17 @@ private: class INotificationService final : public ServiceFramework { public: explicit INotificationService(Core::System& system_, Common::UUID uuid_) - : ServiceFramework{system_, "INotificationService"}, uuid{uuid_}, - service_context{system_, "INotificationService"} {} + : ServiceFramework{system_, "INotificationService"}, uuid{uuid_} + , service_context{system_, "INotificationService"} { + notification_event = service_context.CreateEvent("INotificationService:NotifyEvent"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, FunctionInfo{0, &INotificationService::GetEvent, "GetEvent"}, FunctionInfo{1, &INotificationService::Clear, "Clear"}, FunctionInfo{2, &INotificationService::Pop, "Pop"} - }; - // clang-format on - - RegisterHandlers(functions); - - notification_event = service_context.CreateEvent("INotificationService:NotifyEvent"); + ); } ~INotificationService() override { @@ -503,12 +497,13 @@ class IServiceForApplication final : public ServiceFramework { public: explicit IServiceForSystem(Core::System& system_) : ServiceFramework{system_, "nd:sys"} - { - static const FunctionInfo functions[] = { + {} + + FunctionInfoBase const* FindRequest(u32 key) override { + return HandlerTableGenerateWithFind(key, FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"}, FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"}, FunctionInfo{200, nullptr, "SetSystemData"}, @@ -555,8 +552,7 @@ public: FunctionInfo{310, nullptr, "SetApplicationDataForDebug"}, FunctionInfo{400, nullptr, "GetNetworkUserId"}, FunctionInfo{401, nullptr, "DeleteNetworkUserId"} - }; - RegisterHandlers(functions); + ); } }; diff --git a/src/core/hle/service/glue/notif.cpp b/src/core/hle/service/glue/notif.cpp index 96d2d885fa..dbfd9f35a5 100644 --- a/src/core/hle/service/glue/notif.cpp +++ b/src/core/hle/service/glue/notif.cpp @@ -178,19 +178,15 @@ class INotificationSystemEventAccessor final : public ServiceFramework { public: explicit INotificationSystemEventAccessor(Core::System& system_) - : ServiceFramework{system_, "INotificationSystemEventAccessor"}, - service_context{system_, "INotificationSystemEventAccessor"} {} + : ServiceFramework{system_, "INotificationSystemEventAccessor"} + , service_context{system_, "INotificationSystemEventAccessor"} { + notification_event = service_context.CreateEvent("INotificationSystemEventAccessor:NotificationEvent"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, FunctionInfo{0, D<&INotificationSystemEventAccessor::GetSystemEvent>, "GetSystemEvent"} - }; - // clang-format on - - RegisterHandlers(functions); - - notification_event = - service_context.CreateEvent("INotificationSystemEventAccessor:NotificationEvent"); + ); } ~INotificationSystemEventAccessor() { diff --git a/src/core/hle/service/jit/jit.cpp b/src/core/hle/service/jit/jit.cpp index 3326798ff0..814c5b1334 100644 --- a/src/core/hle/service/jit/jit.cpp +++ b/src/core/hle/service/jit/jit.cpp @@ -37,19 +37,6 @@ public: , user_ro{std::move(user_ro_)} , context{process_->GetMemory()} { - - - 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"}, - FunctionInfo{1001, C<&IJitEnvironment::GetCodeAddress>, "GetCodeAddress"} - }; - // clang-format on - - RegisterHandlers(functions); - // Identity map user code range into sysmodule context configuration.user_rx_memory.size = user_rx.GetSize(); configuration.user_rx_memory.offset = user_rx.GetAddress(); @@ -60,6 +47,15 @@ public: configuration.sys_ro_memory = configuration.user_ro_memory; } + 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"}, + FunctionInfo{1001, C<&IJitEnvironment::GetCodeAddress>, "GetCodeAddress"} + ); + } + ~IJitEnvironment() { user_rx.Finalize(system.Kernel()); user_ro.Finalize(system.Kernel()); diff --git a/src/core/hle/service/mig/mig.cpp b/src/core/hle/service/mig/mig.cpp index 2578c50428..c8337becce 100644 --- a/src/core/hle/service/mig/mig.cpp +++ b/src/core/hle/service/mig/mig.cpp @@ -53,7 +53,7 @@ public: FunctionInfo{2300, nullptr, "Unknown2300"}, //20.0.0+ FunctionInfo{2310, nullptr, "Unknown2310"}, //20.0.0+ FunctionInfo{2400, nullptr, "Unknown2400"}, //20.0.0+ - FunctionInfo{2420, nullptr, "Unknown2420"}, //20.0.0+ + FunctionInfo{2420, nullptr, "Unknown2420"} //20.0.0+ ); } }; diff --git a/src/core/hle/service/mii/mii.cpp b/src/core/hle/service/mii/mii.cpp index 294e0565a1..9a7d8645fc 100644 --- a/src/core/hle/service/mii/mii.cpp +++ b/src/core/hle/service/mii/mii.cpp @@ -24,10 +24,13 @@ namespace Service::Mii { class IDatabaseService final : public ServiceFramework { public: - explicit IDatabaseService(Core::System& system_, std::shared_ptr mii_manager, - bool is_system_) - : ServiceFramework{system_, "IDatabaseService"}, manager{mii_manager}, is_system{ - is_system_} {} + explicit IDatabaseService(Core::System& system_, std::shared_ptr mii_manager, bool is_system_) + : ServiceFramework{system_, "IDatabaseService"} + , manager{mii_manager} + , is_system{is_system_} { + m_set_sys = system.ServiceManager().GetService("set:sys", true); + manager->Initialize(metadata); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -58,14 +61,7 @@ public: FunctionInfo{24, D<&IDatabaseService::ConvertCoreDataToCharInfo>, "ConvertCoreDataToCharInfo"}, FunctionInfo{25, D<&IDatabaseService::ConvertCharInfoToCoreData>, "ConvertCharInfoToCoreData"}, FunctionInfo{26, D<&IDatabaseService::Append>, "Append"} - }; - // clang-format on - - RegisterHandlers(functions); - - m_set_sys = system.ServiceManager().GetService( - "set:sys", true); - manager->Initialize(metadata); + ); } private: diff --git a/src/core/hle/service/nfc/nfc.cpp b/src/core/hle/service/nfc/nfc.cpp index 8ea3b3e4d0..b53cde23ba 100644 --- a/src/core/hle/service/nfc/nfc.cpp +++ b/src/core/hle/service/nfc/nfc.cpp @@ -18,69 +18,67 @@ namespace Service::NFC { class IUser final : public NfcInterface { public: - 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"}, - FunctionInfo{3, &NfcInterface::IsNfcEnabled, "IsNfcEnabledOld"}, - FunctionInfo{400, &NfcInterface::Initialize, "Initialize"}, - FunctionInfo{401, &NfcInterface::Finalize, "Finalize"}, - FunctionInfo{402, &NfcInterface::GetState, "GetState"}, - FunctionInfo{403, &NfcInterface::IsNfcEnabled, "IsNfcEnabled"}, - FunctionInfo{404, &NfcInterface::ListDevices, "ListDevices"}, - FunctionInfo{405, &NfcInterface::GetDeviceState, "GetDeviceState"}, - FunctionInfo{406, &NfcInterface::GetNpadId, "GetNpadId"}, - FunctionInfo{407, &NfcInterface::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, - FunctionInfo{408, &NfcInterface::StartDetection, "StartDetection"}, - FunctionInfo{409, &NfcInterface::StopDetection, "StopDetection"}, - FunctionInfo{410, &NfcInterface::GetTagInfo, "GetTagInfo"}, - FunctionInfo{411, &NfcInterface::AttachActivateEvent, "AttachActivateEvent"}, - FunctionInfo{412, &NfcInterface::AttachDeactivateEvent, "AttachDeactivateEvent"}, - FunctionInfo{1000, &NfcInterface::ReadMifare, "ReadMifare"}, - FunctionInfo{1001, &NfcInterface::WriteMifare ,"WriteMifare"}, - FunctionInfo{1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, - FunctionInfo{1301, nullptr, "KeepPassThroughSession"}, - FunctionInfo{1302, nullptr, "ReleasePassThroughSession"} - ); + explicit IUser(Core::System& system_) : NfcInterface(system_, "NFC::IUser", BackendType::Nfc) { + static const FunctionInfoTyped functions[] = { + {0, &NfcInterface::Initialize, "InitializeOld"}, + {1, &NfcInterface::Finalize, "FinalizeOld"}, + {2, &NfcInterface::GetState, "GetStateOld"}, + {3, &NfcInterface::IsNfcEnabled, "IsNfcEnabledOld"}, + {400, &NfcInterface::Initialize, "Initialize"}, + {401, &NfcInterface::Finalize, "Finalize"}, + {402, &NfcInterface::GetState, "GetState"}, + {403, &NfcInterface::IsNfcEnabled, "IsNfcEnabled"}, + {404, &NfcInterface::ListDevices, "ListDevices"}, + {405, &NfcInterface::GetDeviceState, "GetDeviceState"}, + {406, &NfcInterface::GetNpadId, "GetNpadId"}, + {407, &NfcInterface::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, + {408, &NfcInterface::StartDetection, "StartDetection"}, + {409, &NfcInterface::StopDetection, "StopDetection"}, + {410, &NfcInterface::GetTagInfo, "GetTagInfo"}, + {411, &NfcInterface::AttachActivateEvent, "AttachActivateEvent"}, + {412, &NfcInterface::AttachDeactivateEvent, "AttachDeactivateEvent"}, + {1000, &NfcInterface::ReadMifare, "ReadMifare"}, + {1001, &NfcInterface::WriteMifare ,"WriteMifare"}, + {1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, + {1301, nullptr, "KeepPassThroughSession"}, + {1302, nullptr, "ReleasePassThroughSession"} + }; + RegisterHandlers(functions); } }; class ISystem final : public NfcInterface { public: explicit ISystem(Core::System& system_) - : 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"}, - FunctionInfo{3, &NfcInterface::IsNfcEnabled, "IsNfcEnabledOld"}, - FunctionInfo{100, &NfcInterface::SetNfcEnabled, "SetNfcEnabledOld"}, - FunctionInfo{400, &NfcInterface::Initialize, "Initialize"}, - FunctionInfo{401, &NfcInterface::Finalize, "Finalize"}, - FunctionInfo{402, &NfcInterface::GetState, "GetState"}, - FunctionInfo{403, &NfcInterface::IsNfcEnabled, "IsNfcEnabled"}, - FunctionInfo{404, &NfcInterface::ListDevices, "ListDevices"}, - FunctionInfo{405, &NfcInterface::GetDeviceState, "GetDeviceState"}, - FunctionInfo{406, &NfcInterface::GetNpadId, "GetNpadId"}, - FunctionInfo{407, &NfcInterface::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, - FunctionInfo{408, &NfcInterface::StartDetection, "StartDetection"}, - FunctionInfo{409, &NfcInterface::StopDetection, "StopDetection"}, - FunctionInfo{410, &NfcInterface::GetTagInfo, "GetTagInfo"}, - FunctionInfo{411, &NfcInterface::AttachActivateEvent, "AttachActivateEvent"}, - FunctionInfo{412, &NfcInterface::AttachDeactivateEvent, "AttachDeactivateEvent"}, - FunctionInfo{500, &NfcInterface::SetNfcEnabled, "SetNfcEnabled"}, - FunctionInfo{510, nullptr, "OutputTestWave"}, - FunctionInfo{1000, &NfcInterface::ReadMifare, "ReadMifare"}, - FunctionInfo{1001, &NfcInterface::WriteMifare, "WriteMifare"}, - FunctionInfo{1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, - FunctionInfo{1301, nullptr, "KeepPassThroughSession"}, - FunctionInfo{1302, nullptr, "ReleasePassThroughSession"} - ); + : NfcInterface{system_, "NFC::ISystem", BackendType::Nfc} { + static const FunctionInfoTyped functions[] = { + {0, &NfcInterface::Initialize, "InitializeOld"}, + {1, &NfcInterface::Finalize, "FinalizeOld"}, + {2, &NfcInterface::GetState, "GetStateOld"}, + {3, &NfcInterface::IsNfcEnabled, "IsNfcEnabledOld"}, + {100, &NfcInterface::SetNfcEnabled, "SetNfcEnabledOld"}, + {400, &NfcInterface::Initialize, "Initialize"}, + {401, &NfcInterface::Finalize, "Finalize"}, + {402, &NfcInterface::GetState, "GetState"}, + {403, &NfcInterface::IsNfcEnabled, "IsNfcEnabled"}, + {404, &NfcInterface::ListDevices, "ListDevices"}, + {405, &NfcInterface::GetDeviceState, "GetDeviceState"}, + {406, &NfcInterface::GetNpadId, "GetNpadId"}, + {407, &NfcInterface::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, + {408, &NfcInterface::StartDetection, "StartDetection"}, + {409, &NfcInterface::StopDetection, "StopDetection"}, + {410, &NfcInterface::GetTagInfo, "GetTagInfo"}, + {411, &NfcInterface::AttachActivateEvent, "AttachActivateEvent"}, + {412, &NfcInterface::AttachDeactivateEvent, "AttachDeactivateEvent"}, + {500, &NfcInterface::SetNfcEnabled, "SetNfcEnabled"}, + {510, nullptr, "OutputTestWave"}, + {1000, &NfcInterface::ReadMifare, "ReadMifare"}, + {1001, &NfcInterface::WriteMifare, "WriteMifare"}, + {1300, &NfcInterface::SendCommandByPassThrough, "SendCommandByPassThrough"}, + {1301, nullptr, "KeepPassThroughSession"}, + {1302, nullptr, "ReleasePassThroughSession"} + }; + RegisterHandlers(functions); } }; @@ -89,25 +87,24 @@ public: using MFInterface = NfcInterface; class MFIUser final : public MFInterface { public: - explicit MFIUser(Core::System& system_) - : MFInterface{system_, "NFC::MFInterface", BackendType::Mifare} { - // clang-format off + explicit MFIUser(Core::System& system_) : MFInterface{system_, "NFC::MFInterface", BackendType::Mifare} { static const FunctionInfoTyped functions[] = { - FunctionInfo{0, &MFIUser::Initialize, "Initialize"}, - FunctionInfo{1, &MFIUser::Finalize, "Finalize"}, - FunctionInfo{2, &MFIUser::ListDevices, "ListDevices"}, - FunctionInfo{3, &MFIUser::StartDetection, "StartDetection"}, - FunctionInfo{4, &MFIUser::StopDetection, "StopDetection"}, - FunctionInfo{5, &MFIUser::ReadMifare, "Read"}, - FunctionInfo{6, &MFIUser::WriteMifare, "Write"}, - FunctionInfo{7, &MFIUser::GetTagInfo, "GetTagInfo"}, - FunctionInfo{8, &MFIUser::AttachActivateEvent, "GetActivateEventHandle"}, - FunctionInfo{9, &MFIUser::AttachDeactivateEvent, "GetDeactivateEventHandle"}, - FunctionInfo{10, &MFIUser::GetState, "GetState"}, - FunctionInfo{11, &MFIUser::GetDeviceState, "GetDeviceState"}, - FunctionInfo{12, &MFIUser::GetNpadId, "GetNpadId"}, - FunctionInfo{13, &MFIUser::AttachAvailabilityChangeEvent, "GetAvailabilityChangeEventHandle"} - ); + {0, &MFIUser::Initialize, "Initialize"}, + {1, &MFIUser::Finalize, "Finalize"}, + {2, &MFIUser::ListDevices, "ListDevices"}, + {3, &MFIUser::StartDetection, "StartDetection"}, + {4, &MFIUser::StopDetection, "StopDetection"}, + {5, &MFIUser::ReadMifare, "Read"}, + {6, &MFIUser::WriteMifare, "Write"}, + {7, &MFIUser::GetTagInfo, "GetTagInfo"}, + {8, &MFIUser::AttachActivateEvent, "GetActivateEventHandle"}, + {9, &MFIUser::AttachDeactivateEvent, "GetDeactivateEventHandle"}, + {10, &MFIUser::GetState, "GetState"}, + {11, &MFIUser::GetDeviceState, "GetDeviceState"}, + {12, &MFIUser::GetNpadId, "GetNpadId"}, + {13, &MFIUser::AttachAvailabilityChangeEvent, "GetAvailabilityChangeEventHandle"} + }; + RegisterHandlers(functions); } }; diff --git a/src/core/hle/service/nfp/nfp.cpp b/src/core/hle/service/nfp/nfp.cpp index cd27976b86..815efb6522 100644 --- a/src/core/hle/service/nfp/nfp.cpp +++ b/src/core/hle/service/nfp/nfp.cpp @@ -15,121 +15,121 @@ namespace Service::NFP { class IUser final : public Interface { public: explicit IUser(Core::System& system_) : Interface(system_, "NFP:IUser") { - // clang-format off static const FunctionInfoTyped functions[] = { - FunctionInfo{0, &IUser::Initialize, "Initialize"}, - FunctionInfo{1, &IUser::Finalize, "Finalize"}, - FunctionInfo{2, &IUser::ListDevices, "ListDevices"}, - FunctionInfo{3, &IUser::StartDetection, "StartDetection"}, - FunctionInfo{4, &IUser::StopDetection, "StopDetection"}, - FunctionInfo{5, &IUser::Mount, "Mount"}, - FunctionInfo{6, &IUser::Unmount, "Unmount"}, - FunctionInfo{7, &IUser::OpenApplicationArea, "OpenApplicationArea"}, - FunctionInfo{8, &IUser::GetApplicationArea, "GetApplicationArea"}, - FunctionInfo{9, &IUser::SetApplicationArea, "SetApplicationArea"}, - FunctionInfo{10, &IUser::Flush, "Flush"}, - FunctionInfo{11, &IUser::Restore, "Restore"}, - FunctionInfo{12, &IUser::CreateApplicationArea, "CreateApplicationArea"}, - FunctionInfo{13, &IUser::GetTagInfo, "GetTagInfo"}, - FunctionInfo{14, &IUser::GetRegisterInfo, "GetRegisterInfo"}, - FunctionInfo{15, &IUser::GetCommonInfo, "GetCommonInfo"}, - FunctionInfo{16, &IUser::GetModelInfo, "GetModelInfo"}, - FunctionInfo{17, &IUser::AttachActivateEvent, "AttachActivateEvent"}, - FunctionInfo{18, &IUser::AttachDeactivateEvent, "AttachDeactivateEvent"}, - FunctionInfo{19, &IUser::GetState, "GetState"}, - FunctionInfo{20, &IUser::GetDeviceState, "GetDeviceState"}, - FunctionInfo{21, &IUser::GetNpadId, "GetNpadId"}, - FunctionInfo{22, &IUser::GetApplicationAreaSize, "GetApplicationAreaSize"}, - FunctionInfo{23, &IUser::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, - FunctionInfo{24, &IUser::RecreateApplicationArea, "RecreateApplicationArea"}, - FunctionInfo{25, &IUser::StartDetection, "StartDetectionWithFilter"} - ); + {0, &IUser::Initialize, "Initialize"}, + {1, &IUser::Finalize, "Finalize"}, + {2, &IUser::ListDevices, "ListDevices"}, + {3, &IUser::StartDetection, "StartDetection"}, + {4, &IUser::StopDetection, "StopDetection"}, + {5, &IUser::Mount, "Mount"}, + {6, &IUser::Unmount, "Unmount"}, + {7, &IUser::OpenApplicationArea, "OpenApplicationArea"}, + {8, &IUser::GetApplicationArea, "GetApplicationArea"}, + {9, &IUser::SetApplicationArea, "SetApplicationArea"}, + {10, &IUser::Flush, "Flush"}, + {11, &IUser::Restore, "Restore"}, + {12, &IUser::CreateApplicationArea, "CreateApplicationArea"}, + {13, &IUser::GetTagInfo, "GetTagInfo"}, + {14, &IUser::GetRegisterInfo, "GetRegisterInfo"}, + {15, &IUser::GetCommonInfo, "GetCommonInfo"}, + {16, &IUser::GetModelInfo, "GetModelInfo"}, + {17, &IUser::AttachActivateEvent, "AttachActivateEvent"}, + {18, &IUser::AttachDeactivateEvent, "AttachDeactivateEvent"}, + {19, &IUser::GetState, "GetState"}, + {20, &IUser::GetDeviceState, "GetDeviceState"}, + {21, &IUser::GetNpadId, "GetNpadId"}, + {22, &IUser::GetApplicationAreaSize, "GetApplicationAreaSize"}, + {23, &IUser::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, + {24, &IUser::RecreateApplicationArea, "RecreateApplicationArea"}, + {25, &IUser::StartDetection, "StartDetectionWithFilter"} + }; + RegisterHandlers(functions); } }; class ISystem final : public Interface { public: explicit ISystem(Core::System& system_) : Interface(system_, "NFP:ISystem") { - // clang-format off static const FunctionInfoTyped functions[] = { - FunctionInfo{0, &ISystem::InitializeSystem, "InitializeSystem"}, - FunctionInfo{1, &ISystem::FinalizeSystem, "FinalizeSystem"}, - FunctionInfo{2, &ISystem::ListDevices, "ListDevices"}, - FunctionInfo{3, &ISystem::StartDetection, "StartDetection"}, - FunctionInfo{4, &ISystem::StopDetection, "StopDetection"}, - FunctionInfo{5, &ISystem::Mount, "Mount"}, - FunctionInfo{6, &ISystem::Unmount, "Unmount"}, - FunctionInfo{10, &ISystem::Flush, "Flush"}, - FunctionInfo{11, &ISystem::Restore, "Restore"}, - FunctionInfo{12, &ISystem::CreateApplicationArea, "CreateApplicationArea"}, - FunctionInfo{13, &ISystem::GetTagInfo, "GetTagInfo"}, - FunctionInfo{14, &ISystem::GetRegisterInfo, "GetRegisterInfo"}, - FunctionInfo{15, &ISystem::GetCommonInfo, "GetCommonInfo"}, - FunctionInfo{16, &ISystem::GetModelInfo, "GetModelInfo"}, - FunctionInfo{17, &ISystem::AttachActivateEvent, "AttachActivateEvent"}, - FunctionInfo{18, &ISystem::AttachDeactivateEvent, "AttachDeactivateEvent"}, - FunctionInfo{19, &ISystem::GetState, "GetState"}, - FunctionInfo{20, &ISystem::GetDeviceState, "GetDeviceState"}, - FunctionInfo{21, &ISystem::GetNpadId, "GetNpadId"}, - FunctionInfo{23, &ISystem::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, - FunctionInfo{25, &ISystem::StartDetection, "StartDetectionWithFilter"}, - FunctionInfo{100, &ISystem::Format, "Format"}, - FunctionInfo{101, &ISystem::GetAdminInfo, "GetAdminInfo"}, - FunctionInfo{102, &ISystem::GetRegisterInfoPrivate, "GetRegisterInfoPrivate"}, - FunctionInfo{103, &ISystem::SetRegisterInfoPrivate, "SetRegisterInfoPrivate"}, - FunctionInfo{104, &ISystem::DeleteRegisterInfo, "DeleteRegisterInfo"}, - FunctionInfo{105, &ISystem::DeleteApplicationArea, "DeleteApplicationArea"}, - FunctionInfo{106, &ISystem::ExistsApplicationArea, "ExistsApplicationArea"} - ); + {0, &ISystem::InitializeSystem, "InitializeSystem"}, + {1, &ISystem::FinalizeSystem, "FinalizeSystem"}, + {2, &ISystem::ListDevices, "ListDevices"}, + {3, &ISystem::StartDetection, "StartDetection"}, + {4, &ISystem::StopDetection, "StopDetection"}, + {5, &ISystem::Mount, "Mount"}, + {6, &ISystem::Unmount, "Unmount"}, + {10, &ISystem::Flush, "Flush"}, + {11, &ISystem::Restore, "Restore"}, + {12, &ISystem::CreateApplicationArea, "CreateApplicationArea"}, + {13, &ISystem::GetTagInfo, "GetTagInfo"}, + {14, &ISystem::GetRegisterInfo, "GetRegisterInfo"}, + {15, &ISystem::GetCommonInfo, "GetCommonInfo"}, + {16, &ISystem::GetModelInfo, "GetModelInfo"}, + {17, &ISystem::AttachActivateEvent, "AttachActivateEvent"}, + {18, &ISystem::AttachDeactivateEvent, "AttachDeactivateEvent"}, + {19, &ISystem::GetState, "GetState"}, + {20, &ISystem::GetDeviceState, "GetDeviceState"}, + {21, &ISystem::GetNpadId, "GetNpadId"}, + {23, &ISystem::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, + {25, &ISystem::StartDetection, "StartDetectionWithFilter"}, + {100, &ISystem::Format, "Format"}, + {101, &ISystem::GetAdminInfo, "GetAdminInfo"}, + {102, &ISystem::GetRegisterInfoPrivate, "GetRegisterInfoPrivate"}, + {103, &ISystem::SetRegisterInfoPrivate, "SetRegisterInfoPrivate"}, + {104, &ISystem::DeleteRegisterInfo, "DeleteRegisterInfo"}, + {105, &ISystem::DeleteApplicationArea, "DeleteApplicationArea"}, + {106, &ISystem::ExistsApplicationArea, "ExistsApplicationArea"} + }; + RegisterHandlers(functions); } }; class IDebug final : public Interface { public: explicit IDebug(Core::System& system_) : Interface(system_, "NFP:IDebug") { - // clang-format off static const FunctionInfoTyped functions[] = { - FunctionInfo{0, &IDebug::InitializeDebug, "InitializeDebug"}, - FunctionInfo{1, &IDebug::FinalizeDebug, "FinalizeDebug"}, - FunctionInfo{2, &IDebug::ListDevices, "ListDevices"}, - FunctionInfo{3, &IDebug::StartDetection, "StartDetection"}, - FunctionInfo{4, &IDebug::StopDetection, "StopDetection"}, - FunctionInfo{5, &IDebug::Mount, "Mount"}, - FunctionInfo{6, &IDebug::Unmount, "Unmount"}, - FunctionInfo{7, &IDebug::OpenApplicationArea, "OpenApplicationArea"}, - FunctionInfo{8, &IDebug::GetApplicationArea, "GetApplicationArea"}, - FunctionInfo{9, &IDebug::SetApplicationArea, "SetApplicationArea"}, - FunctionInfo{10, &IDebug::Flush, "Flush"}, - FunctionInfo{11, &IDebug::Restore, "Restore"}, - FunctionInfo{12, &IDebug::CreateApplicationArea, "CreateApplicationArea"}, - FunctionInfo{13, &IDebug::GetTagInfo, "GetTagInfo"}, - FunctionInfo{14, &IDebug::GetRegisterInfo, "GetRegisterInfo"}, - FunctionInfo{15, &IDebug::GetCommonInfo, "GetCommonInfo"}, - FunctionInfo{16, &IDebug::GetModelInfo, "GetModelInfo"}, - FunctionInfo{17, &IDebug::AttachActivateEvent, "AttachActivateEvent"}, - FunctionInfo{18, &IDebug::AttachDeactivateEvent, "AttachDeactivateEvent"}, - FunctionInfo{19, &IDebug::GetState, "GetState"}, - FunctionInfo{20, &IDebug::GetDeviceState, "GetDeviceState"}, - FunctionInfo{21, &IDebug::GetNpadId, "GetNpadId"}, - FunctionInfo{22, &IDebug::GetApplicationAreaSize, "GetApplicationAreaSize"}, - FunctionInfo{23, &IDebug::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, - FunctionInfo{24, &IDebug::RecreateApplicationArea, "RecreateApplicationArea"}, - FunctionInfo{25, &IDebug::StartDetection, "StartDetectionWithFilter"}, - FunctionInfo{100, &IDebug::Format, "Format"}, - FunctionInfo{101, &IDebug::GetAdminInfo, "GetAdminInfo"}, - FunctionInfo{102, &IDebug::GetRegisterInfoPrivate, "GetRegisterInfoPrivate"}, - FunctionInfo{103, &IDebug::SetRegisterInfoPrivate, "SetRegisterInfoPrivate"}, - FunctionInfo{104, &IDebug::DeleteRegisterInfo, "DeleteRegisterInfo"}, - FunctionInfo{105, &IDebug::DeleteApplicationArea, "DeleteApplicationArea"}, - FunctionInfo{106, &IDebug::ExistsApplicationArea, "ExistsApplicationArea"}, - FunctionInfo{200, &IDebug::GetAll, "GetAll"}, - FunctionInfo{201, &IDebug::SetAll, "SetAll"}, - FunctionInfo{202, &IDebug::FlushDebug, "FlushDebug"}, - FunctionInfo{203, &IDebug::BreakTag, "BreakTag"}, - FunctionInfo{204, &IDebug::ReadBackupData, "ReadBackupData"}, - FunctionInfo{205, &IDebug::WriteBackupData, "WriteBackupData"}, - FunctionInfo{206, &IDebug::WriteNtf, "WriteNtf"} - ); + {0, &IDebug::InitializeDebug, "InitializeDebug"}, + {1, &IDebug::FinalizeDebug, "FinalizeDebug"}, + {2, &IDebug::ListDevices, "ListDevices"}, + {3, &IDebug::StartDetection, "StartDetection"}, + {4, &IDebug::StopDetection, "StopDetection"}, + {5, &IDebug::Mount, "Mount"}, + {6, &IDebug::Unmount, "Unmount"}, + {7, &IDebug::OpenApplicationArea, "OpenApplicationArea"}, + {8, &IDebug::GetApplicationArea, "GetApplicationArea"}, + {9, &IDebug::SetApplicationArea, "SetApplicationArea"}, + {10, &IDebug::Flush, "Flush"}, + {11, &IDebug::Restore, "Restore"}, + {12, &IDebug::CreateApplicationArea, "CreateApplicationArea"}, + {13, &IDebug::GetTagInfo, "GetTagInfo"}, + {14, &IDebug::GetRegisterInfo, "GetRegisterInfo"}, + {15, &IDebug::GetCommonInfo, "GetCommonInfo"}, + {16, &IDebug::GetModelInfo, "GetModelInfo"}, + {17, &IDebug::AttachActivateEvent, "AttachActivateEvent"}, + {18, &IDebug::AttachDeactivateEvent, "AttachDeactivateEvent"}, + {19, &IDebug::GetState, "GetState"}, + {20, &IDebug::GetDeviceState, "GetDeviceState"}, + {21, &IDebug::GetNpadId, "GetNpadId"}, + {22, &IDebug::GetApplicationAreaSize, "GetApplicationAreaSize"}, + {23, &IDebug::AttachAvailabilityChangeEvent, "AttachAvailabilityChangeEvent"}, + {24, &IDebug::RecreateApplicationArea, "RecreateApplicationArea"}, + {25, &IDebug::StartDetection, "StartDetectionWithFilter"}, + {100, &IDebug::Format, "Format"}, + {101, &IDebug::GetAdminInfo, "GetAdminInfo"}, + {102, &IDebug::GetRegisterInfoPrivate, "GetRegisterInfoPrivate"}, + {103, &IDebug::SetRegisterInfoPrivate, "SetRegisterInfoPrivate"}, + {104, &IDebug::DeleteRegisterInfo, "DeleteRegisterInfo"}, + {105, &IDebug::DeleteApplicationArea, "DeleteApplicationArea"}, + {106, &IDebug::ExistsApplicationArea, "ExistsApplicationArea"}, + {200, &IDebug::GetAll, "GetAll"}, + {201, &IDebug::SetAll, "SetAll"}, + {202, &IDebug::FlushDebug, "FlushDebug"}, + {203, &IDebug::BreakTag, "BreakTag"}, + {204, &IDebug::ReadBackupData, "ReadBackupData"}, + {205, &IDebug::WriteBackupData, "WriteBackupData"}, + {206, &IDebug::WriteNtf, "WriteNtf"} + }; + RegisterHandlers(functions); } }; diff --git a/src/core/hle/service/ngc/ngc.cpp b/src/core/hle/service/ngc/ngc.cpp index 0153cf2ac7..41662f5a12 100644 --- a/src/core/hle/service/ngc/ngc.cpp +++ b/src/core/hle/service/ngc/ngc.cpp @@ -154,8 +154,8 @@ public: FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, - {0 , nullptr, "Match"}, - {1 , nullptr, "Filter"}, + FunctionInfo{0, nullptr, "Match"}, + FunctionInfo{1, nullptr, "Filter"}, FunctionInfo{100, nullptr, "ConfigureAutoUpdateSetting"}, FunctionInfo{101, nullptr, "RequestResourceUpdateCheck"}, FunctionInfo{110, nullptr, "Reload"}, @@ -212,7 +212,7 @@ public: FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, - {0 , D<&IUserService::Cmd0>, "Cmd0"} + FunctionInfo{0, D<&IUserService::Cmd0>, "Cmd0"} ); } Result Cmd0(u32 unk0, OutInterface out_interface) { @@ -257,7 +257,7 @@ public: FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, - {0 , D<&ISystemService::Cmd0>, "Cmd0"} + FunctionInfo{0, D<&ISystemService::Cmd0>, "Cmd0"} ); } Result Cmd0(OutInterface out_interface) { diff --git a/src/core/hle/service/nim/nim.cpp b/src/core/hle/service/nim/nim.cpp index 89c8bbadcf..b0197c8a93 100644 --- a/src/core/hle/service/nim/nim.cpp +++ b/src/core/hle/service/nim/nim.cpp @@ -24,8 +24,10 @@ namespace Service::NIM { class IShopServiceAsync final : public ServiceFramework { public: explicit IShopServiceAsync(Core::System& system_) - : ServiceFramework{system_, "IShopServiceAsync"}, - service_context{system_, "IShopServiceAsync"} {} + : ServiceFramework{system_, "IShopServiceAsync"} + , service_context{system_, "IShopServiceAsync"} { + completion_event = service_context.CreateEvent("IShopServiceAsync:Completion"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -35,12 +37,7 @@ public: FunctionInfo{3, D<&IShopServiceAsync::GetErrorCode>, "GetErrorCode"}, FunctionInfo{4, D<&IShopServiceAsync::Request>, "Request"}, FunctionInfo{5, D<&IShopServiceAsync::Prepare>, "Prepare"} - }; - // clang-format on - - RegisterHandlers(functions); - - completion_event = service_context.CreateEvent("IShopServiceAsync:Completion"); + ); } ~IShopServiceAsync() override { @@ -409,7 +406,7 @@ public: FunctionInfo{2050, nullptr, "Unknown2050"}, //20.0.0+ FunctionInfo{2051, nullptr, "Unknown2051"}, //20.0.0+ FunctionInfo{3000, nullptr, "RequestLatestApplicationIcon"}, //17.0.0+ - FunctionInfo{3001, nullptr, "RequestDownloadIdbeLatestIconFile"}, //17.0.0+ + FunctionInfo{3001, nullptr, "RequestDownloadIdbeLatestIconFile"} //17.0.0+ ); } }; diff --git a/src/core/hle/service/npns/npns.cpp b/src/core/hle/service/npns/npns.cpp index 6be7ad40be..cbf7c2ad3c 100644 --- a/src/core/hle/service/npns/npns.cpp +++ b/src/core/hle/service/npns/npns.cpp @@ -88,7 +88,7 @@ public: FunctionInfo{303, nullptr, "GetNotificationHistories"}, // 18.0.0+ FunctionInfo{304, nullptr, "GetPersistentConnectionSummary"}, // 18.0.0+ FunctionInfo{305, nullptr, "GetDigitalTwinSummary"}, // 18.0.0+ - FunctionInfo{306, nullptr, "GetDigitalTwinValue"}, // 18.0.0+ + FunctionInfo{306, nullptr, "GetDigitalTwinValue"} // 18.0.0+ ); } diff --git a/src/core/hle/service/ns/ns.cpp b/src/core/hle/service/ns/ns.cpp index 3e270c61fd..0c9cdd0f49 100644 --- a/src/core/hle/service/ns/ns.cpp +++ b/src/core/hle/service/ns/ns.cpp @@ -23,22 +23,20 @@ public: FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, - { 0, nullptr, "NotifyAppletEvent" }, - { 2, nullptr, "NotifyOperationModeChangeEvent" }, - { 3, nullptr, "NotifyPowerStateChangeEvent" }, - { 4, nullptr, "NotifyClearAllEvent" }, - { 5, nullptr, "NotifyEventForDebug" }, - { 6, nullptr, "SuspendUserAccountEventService" }, - { 7, nullptr, "ResumeUserAccountEventService" }, - { 8, nullptr, "NotifyLibraryAppletEvent" }, - { 9, nullptr, "Cmd9" }, - { 20, nullptr, "Cmd20" }, - { 30, nullptr, "Cmd30" }, - { 100, nullptr, "Cmd100" }, - { 101, nullptr, "Cmd101" }, - }; - // clang-format on - RegisterHandlers(functions); + FunctionInfo{ 0, nullptr, "NotifyAppletEvent" }, + FunctionInfo{ 2, nullptr, "NotifyOperationModeChangeEvent" }, + FunctionInfo{ 3, nullptr, "NotifyPowerStateChangeEvent" }, + FunctionInfo{ 4, nullptr, "NotifyClearAllEvent" }, + FunctionInfo{ 5, nullptr, "NotifyEventForDebug" }, + FunctionInfo{ 6, nullptr, "SuspendUserAccountEventService" }, + FunctionInfo{ 7, nullptr, "ResumeUserAccountEventService" }, + FunctionInfo{ 8, nullptr, "NotifyLibraryAppletEvent" }, + FunctionInfo{ 9, nullptr, "Cmd9" }, + FunctionInfo{ 20, nullptr, "Cmd20" }, + FunctionInfo{ 30, nullptr, "Cmd30" }, + FunctionInfo{ 100, nullptr, "Cmd100" }, + FunctionInfo{ 101, nullptr, "Cmd101" } + ); } }; diff --git a/src/core/hle/service/ptm/psm.cpp b/src/core/hle/service/ptm/psm.cpp index 5513834290..6b4c21707a 100644 --- a/src/core/hle/service/ptm/psm.cpp +++ b/src/core/hle/service/ptm/psm.cpp @@ -21,7 +21,10 @@ namespace Service::PTM { class IPsmSession final : public ServiceFramework { public: explicit IPsmSession(Core::System& system_) - : ServiceFramework{system_, "IPsmSession"}, service_context{system_, "IPsmSession"} {} + : ServiceFramework{system_, "IPsmSession"} + , service_context{system_, "IPsmSession"} { + state_change_event = service_context.CreateEvent("IPsmSession::state_change_event"); + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -30,12 +33,7 @@ public: FunctionInfo{2, &IPsmSession::SetChargerTypeChangeEventEnabled, "SetChargerTypeChangeEventEnabled"}, FunctionInfo{3, &IPsmSession::SetPowerSupplyChangeEventEnabled, "SetPowerSupplyChangeEventEnabled"}, FunctionInfo{4, &IPsmSession::SetBatteryVoltageStateChangeEventEnabled, "SetBatteryVoltageStateChangeEventEnabled"} - }; - // clang-format on - - RegisterHandlers(functions); - - state_change_event = service_context.CreateEvent("IPsmSession::state_change_event"); + ); } ~IPsmSession() override { diff --git a/src/core/hle/service/ssl/ssl.cpp b/src/core/hle/service/ssl/ssl.cpp index 1a8b6e16d4..edbea72e99 100644 --- a/src/core/hle/service/ssl/ssl.cpp +++ b/src/core/hle/service/ssl/ssl.cpp @@ -74,11 +74,14 @@ struct SslContextSharedData { class ISslConnection final : public ServiceFramework { public: - explicit ISslConnection(Core::System& system_in, SslVersion ssl_version_in, - 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)} {} + explicit ISslConnection(Core::System& system_in, SslVersion ssl_version_in, 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)} { + backend->SetVerifyOption(verify_option); + shared_data->connection_count++; + } FunctionInfoBase const* FindRequest(u32 key) override { return HandlerTableGenerateWithFind(key, @@ -118,14 +121,7 @@ public: FunctionInfo{33, nullptr, "ExportKeyingMaterial"}, FunctionInfo{34, nullptr, "SetIoTimeout"}, FunctionInfo{35, nullptr, "GetIoTimeout"} - }; - // clang-format on - - RegisterHandlers(functions); - - backend->SetVerifyOption(verify_option); - - shared_data->connection_count++; + ); } ~ISslConnection() {