mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-26 03:01:17 +00:00
@@ -277,7 +277,8 @@ public:
|
||||
class IOAuthProcedureForExternalNsa final : public ServiceFramework<IOAuthProcedureForExternalNsa> {
|
||||
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<IOAuthProcedureForNintendoAccountLinkage> {
|
||||
class IOAuthProcedureForNintendoAccountLinkage final : public ServiceFramework<IOAuthProcedureForNintendoAccountLinkage> {
|
||||
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"}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -20,7 +20,10 @@ namespace Service::BtDrv {
|
||||
class IBluetoothUser final : public ServiceFramework<IBluetoothUser> {
|
||||
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 {
|
||||
|
||||
@@ -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+
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -18,7 +18,10 @@ constexpr Result ERROR_INVALID_RIGHTS_ID{ErrorModule::ETicket, 3};
|
||||
|
||||
class ETicket final : public ServiceFramework<ETicket> {
|
||||
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:
|
||||
|
||||
@@ -21,7 +21,9 @@ namespace Service::Friend {
|
||||
class IFriendService final : public ServiceFramework<IFriendService> {
|
||||
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<INotificationService> {
|
||||
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<IServiceForApplicat
|
||||
public:
|
||||
explicit IServiceForApplication(Core::System& system_)
|
||||
: ServiceFramework{system_, "nd:app"}
|
||||
{
|
||||
static const FunctionInfo functions[] = {
|
||||
{}
|
||||
|
||||
FunctionInfoBase const* FindRequest(u32 key) override {
|
||||
return HandlerTableGenerateWithFind(key,
|
||||
FunctionInfo{0, nullptr, "GetReceivableNeighborInfoCountMax"},
|
||||
FunctionInfo{10, nullptr, "IsNeighborDetectionEnabled"}
|
||||
};
|
||||
RegisterHandlers(functions);
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -516,8 +511,10 @@ class IServiceForSystem final : public ServiceFramework<IServiceForSystem> {
|
||||
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);
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -178,19 +178,15 @@ class INotificationSystemEventAccessor final
|
||||
: public ServiceFramework<INotificationSystemEventAccessor> {
|
||||
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() {
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -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+
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -24,10 +24,13 @@ namespace Service::Mii {
|
||||
|
||||
class IDatabaseService final : public ServiceFramework<IDatabaseService> {
|
||||
public:
|
||||
explicit IDatabaseService(Core::System& system_, std::shared_ptr<MiiManager> mii_manager,
|
||||
bool is_system_)
|
||||
: ServiceFramework{system_, "IDatabaseService"}, manager{mii_manager}, is_system{
|
||||
is_system_} {}
|
||||
explicit IDatabaseService(Core::System& system_, std::shared_ptr<MiiManager> mii_manager, bool is_system_)
|
||||
: ServiceFramework{system_, "IDatabaseService"}
|
||||
, manager{mii_manager}
|
||||
, is_system{is_system_} {
|
||||
m_set_sys = system.ServiceManager().GetService<Service::Set::ISystemSettingsServer>("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<Service::Set::ISystemSettingsServer>(
|
||||
"set:sys", true);
|
||||
manager->Initialize(metadata);
|
||||
);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
@@ -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<IUser> 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<ISystem> 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<MFIUser> 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);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
+100
-100
@@ -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<IUser> 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<ISystem> 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<IDebug> 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);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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<IUserShimScopedObject> 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<ISystemShimScopedObject> out_interface) {
|
||||
|
||||
@@ -24,8 +24,10 @@ namespace Service::NIM {
|
||||
class IShopServiceAsync final : public ServiceFramework<IShopServiceAsync> {
|
||||
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+
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -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+
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -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" }
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -21,7 +21,10 @@ namespace Service::PTM {
|
||||
class IPsmSession final : public ServiceFramework<IPsmSession> {
|
||||
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 {
|
||||
|
||||
@@ -74,11 +74,14 @@ struct SslContextSharedData {
|
||||
|
||||
class ISslConnection final : public ServiceFramework<ISslConnection> {
|
||||
public:
|
||||
explicit ISslConnection(Core::System& system_in, SslVersion ssl_version_in,
|
||||
std::shared_ptr<SslContextSharedData>& shared_data_in,
|
||||
std::unique_ptr<SSLConnectionBackend>&& 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<SslContextSharedData>& shared_data_in, std::unique_ptr<SSLConnectionBackend>&& 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() {
|
||||
|
||||
Reference in New Issue
Block a user