diff --git a/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.cpp b/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.cpp index 0e21da9f..cb02c0eb 100644 --- a/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.cpp +++ b/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.cpp @@ -90,4 +90,9 @@ namespace skyline::service::account { response.Push(0); // We don't want to lock the user return {}; } + + Result IAccountServiceForApplication::IsUserRegistrationRequestPermitted(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { + response.Push(false); // Registration isn't permitted via the application account service + return {}; + } } diff --git a/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.h b/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.h index 7a728c70..560d21d4 100644 --- a/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.h +++ b/app/src/main/cpp/skyline/services/account/IAccountServiceForApplication.h @@ -92,18 +92,25 @@ namespace skyline { */ Result InitializeApplicationInfo(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); - SERVICE_DECL( - SFUNC(0x0, IAccountServiceForApplication, GetUserCount), - SFUNC(0x1, IAccountServiceForApplication, GetUserExistence), - SFUNC(0x2, IAccountServiceForApplication, ListAllUsers), - SFUNC(0x3, IAccountServiceForApplication, ListOpenUsers), - SFUNC(0x4, IAccountServiceForApplication, GetLastOpenedUser), - SFUNC(0x5, IAccountServiceForApplication, GetProfile), - SFUNC(0x64, IAccountServiceForApplication, InitializeApplicationInfoV0), - SFUNC(0x65, IAccountServiceForApplication, GetBaasAccountManagerForApplication), - SFUNC(0x8C, IAccountServiceForApplication, InitializeApplicationInfo), - SFUNC(0x96, IAccountServiceForApplication, IsUserAccountSwitchLocked) - ) + /** + * @brief Returns if the user registration request is permitted or not + * @url https://switchbrew.org/wiki/Account_services#IsUserRegistrationRequestPermitted + */ + Result IsUserRegistrationRequestPermitted(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); + + SERVICE_DECL( + SFUNC(0x0, IAccountServiceForApplication, GetUserCount), + SFUNC(0x1, IAccountServiceForApplication, GetUserExistence), + SFUNC(0x2, IAccountServiceForApplication, ListAllUsers), + SFUNC(0x3, IAccountServiceForApplication, ListOpenUsers), + SFUNC(0x4, IAccountServiceForApplication, GetLastOpenedUser), + SFUNC(0x5, IAccountServiceForApplication, GetProfile), + SFUNC(0x32, IAccountServiceForApplication, IsUserRegistrationRequestPermitted), + SFUNC(0x64, IAccountServiceForApplication, InitializeApplicationInfoV0), + SFUNC(0x65, IAccountServiceForApplication, GetBaasAccountManagerForApplication), + SFUNC(0x8C, IAccountServiceForApplication, InitializeApplicationInfo), + SFUNC(0x96, IAccountServiceForApplication, IsUserAccountSwitchLocked) + ) }; }