mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Implement acc:TrySelectUserWithoutInteraction
Needed for Shantae - Half-Genie Hero - Ultimate Edition!
This commit is contained in:
		
							parent
							
								
									dd321dc85f
								
							
						
					
					
						commit
						92fcc6d15a
					
				| @ -242,6 +242,27 @@ void Module::Interface::GetBaasAccountManagerForApplication(Kernel::HLERequestCo | ||||
|     LOG_DEBUG(Service_ACC, "called"); | ||||
| } | ||||
| 
 | ||||
| void Module::Interface::TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx) { | ||||
|     // A u8 is passed into this function which we can safely ignore. It's to determain if we have
 | ||||
|     // access to use the network or not by the looks of it
 | ||||
|     IPC::ResponseBuilder rb{ctx, 6}; | ||||
|     if (profile_manager->GetUserCount() != 1) { | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushRaw<u128>(INVALID_UUID); | ||||
|         return; | ||||
|     } | ||||
|     auto user_list = profile_manager->GetAllUsers(); | ||||
|     if (user_list.empty()) { | ||||
|         rb.Push(ResultCode(-1)); // TODO(ogniK): Find the correct error code
 | ||||
|         rb.PushRaw<u128>(INVALID_UUID); | ||||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     // Select the first user we have
 | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushRaw<u128>(profile_manager->GetUser(0)->uuid); | ||||
| } | ||||
| 
 | ||||
| Module::Interface::Interface(std::shared_ptr<Module> module, | ||||
|                              std::shared_ptr<ProfileManager> profile_manager, const char* name) | ||||
|     : ServiceFramework(name), module(std::move(module)), | ||||
|  | ||||
| @ -27,6 +27,7 @@ public: | ||||
|         void InitializeApplicationInfo(Kernel::HLERequestContext& ctx); | ||||
|         void GetBaasAccountManagerForApplication(Kernel::HLERequestContext& ctx); | ||||
|         void IsUserRegistrationRequestPermitted(Kernel::HLERequestContext& ctx); | ||||
|         void TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx); | ||||
| 
 | ||||
|     protected: | ||||
|         std::shared_ptr<Module> module; | ||||
|  | ||||
| @ -17,7 +17,7 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | ||||
|         {5, &ACC_SU::GetProfile, "GetProfile"}, | ||||
|         {6, nullptr, "GetProfileDigest"}, | ||||
|         {50, &ACC_SU::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, | ||||
|         {51, nullptr, "TrySelectUserWithoutInteraction"}, | ||||
|         {51, &ACC_SU::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, | ||||
|         {60, nullptr, "ListOpenContextStoredUsers"}, | ||||
|         {100, nullptr, "GetUserRegistrationNotifier"}, | ||||
|         {101, nullptr, "GetUserStateChangeNotifier"}, | ||||
|  | ||||
| @ -17,7 +17,7 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | ||||
|         {5, &ACC_U0::GetProfile, "GetProfile"}, | ||||
|         {6, nullptr, "GetProfileDigest"}, | ||||
|         {50, &ACC_U0::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, | ||||
|         {51, nullptr, "TrySelectUserWithoutInteraction"}, | ||||
|         {51, &ACC_U0::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, | ||||
|         {60, nullptr, "ListOpenContextStoredUsers"}, | ||||
|         {100, &ACC_U0::InitializeApplicationInfo, "InitializeApplicationInfo"}, | ||||
|         {101, &ACC_U0::GetBaasAccountManagerForApplication, "GetBaasAccountManagerForApplication"}, | ||||
|  | ||||
| @ -17,7 +17,7 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p | ||||
|         {5, &ACC_U1::GetProfile, "GetProfile"}, | ||||
|         {6, nullptr, "GetProfileDigest"}, | ||||
|         {50, &ACC_U1::IsUserRegistrationRequestPermitted, "IsUserRegistrationRequestPermitted"}, | ||||
|         {51, nullptr, "TrySelectUserWithoutInteraction"}, | ||||
|         {51, &ACC_U1::TrySelectUserWithoutInteraction, "TrySelectUserWithoutInteraction"}, | ||||
|         {60, nullptr, "ListOpenContextStoredUsers"}, | ||||
|         {100, nullptr, "GetUserRegistrationNotifier"}, | ||||
|         {101, nullptr, "GetUserStateChangeNotifier"}, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 David Marcec
						David Marcec