mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-03 16:39:01 -06:00 
			
		
		
		
	Added IsUserRegistrationRequestPermitted
This commit is contained in:
		@@ -156,6 +156,13 @@ void Module::Interface::GetProfile(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_DEBUG(Service_ACC, "called user_id={}", user_id.Format());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Module::Interface::IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_WARNING(Service_ACC, "(STUBBED) called");
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
    rb.Push(profile_manager->CanSystemRegisterUser());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Module::Interface::InitializeApplicationInfo(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_WARNING(Service_ACC, "(STUBBED) called");
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 2};
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@ public:
 | 
			
		||||
        void GetProfile(Kernel::HLERequestContext& ctx);
 | 
			
		||||
        void InitializeApplicationInfo(Kernel::HLERequestContext& ctx);
 | 
			
		||||
        void GetBaasAccountManagerForApplication(Kernel::HLERequestContext& ctx);
 | 
			
		||||
        void IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx);
 | 
			
		||||
 | 
			
		||||
    private:
 | 
			
		||||
        std::unique_ptr<ProfileManager> profile_manager{};
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module) : Module::Interface(std::move(mod
 | 
			
		||||
        {4, &ACC_SU::GetLastOpenedUser, "GetLastOpenedUser"},
 | 
			
		||||
        {5, &ACC_SU::GetProfile, "GetProfile"},
 | 
			
		||||
        {6, nullptr, "GetProfileDigest"},
 | 
			
		||||
        {50, nullptr, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {51, nullptr, "TrySelectUserWithoutInteraction"},
 | 
			
		||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
			
		||||
        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module) : Module::Interface(std::move(mod
 | 
			
		||||
        {4, &ACC_U0::GetLastOpenedUser, "GetLastOpenedUser"},
 | 
			
		||||
        {5, &ACC_U0::GetProfile, "GetProfile"},
 | 
			
		||||
        {6, nullptr, "GetProfileDigest"},
 | 
			
		||||
        {50, nullptr, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {51, nullptr, "TrySelectUserWithoutInteraction"},
 | 
			
		||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
			
		||||
        {100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"},
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module) : Module::Interface(std::move(mod
 | 
			
		||||
        {4, &ACC_U1::GetLastOpenedUser, "GetLastOpenedUser"},
 | 
			
		||||
        {5, &ACC_U1::GetProfile, "GetProfile"},
 | 
			
		||||
        {6, nullptr, "GetProfileDigest"},
 | 
			
		||||
        {50, nullptr, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"},
 | 
			
		||||
        {51, nullptr, "TrySelectUserWithoutInteraction"},
 | 
			
		||||
        {60, nullptr, "ListOpenContextStoredUsers"},
 | 
			
		||||
        {100, nullptr, "GetUserRegistrationNotifier"},
 | 
			
		||||
 
 | 
			
		||||
@@ -166,4 +166,10 @@ bool ProfileManager::GetProfileBaseAndData(ProfileInfo user, ProfileBase& profil
 | 
			
		||||
    return GetProfileBaseAndData(user.user_uuid, profile, data);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ProfileManager::CanSystemRegisterUser() {
 | 
			
		||||
    return false; // TODO(ogniK): Games shouldn't have
 | 
			
		||||
                  // access to user registration, when we
 | 
			
		||||
    // emulate qlaunch. Update this to dynamically change.
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}; // namespace Service::Account
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,8 @@ public:
 | 
			
		||||
    std::array<UUID, MAX_USERS> GetAllUsers();
 | 
			
		||||
    const UUID& GetLastOpennedUser();
 | 
			
		||||
 | 
			
		||||
    bool CanSystemRegisterUser();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    std::array<ProfileInfo, MAX_USERS> profiles{};
 | 
			
		||||
    size_t user_count = 0;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user