Merge pull request #3822 from ogniK5377/GetAccountId
acc: Return a unique value per account for GetAccountId
This commit is contained in:
		
						commit
						29fce1a187
					
				| @ -40,6 +40,11 @@ struct UUID { | |||||||
|         uuid = INVALID_UUID; |         uuid = INVALID_UUID; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     // TODO(ogniK): Properly generate a Nintendo ID
 | ||||||
|  |     constexpr u64 GetNintendoID() const { | ||||||
|  |         return uuid[0]; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     std::string Format() const; |     std::string Format() const; | ||||||
|     std::string FormatSwitch() const; |     std::string FormatSwitch() const; | ||||||
| }; | }; | ||||||
|  | |||||||
| @ -228,7 +228,8 @@ public: | |||||||
| 
 | 
 | ||||||
| class IManagerForApplication final : public ServiceFramework<IManagerForApplication> { | class IManagerForApplication final : public ServiceFramework<IManagerForApplication> { | ||||||
| public: | public: | ||||||
|     IManagerForApplication() : ServiceFramework("IManagerForApplication") { |     explicit IManagerForApplication(Common::UUID user_id) | ||||||
|  |         : ServiceFramework("IManagerForApplication"), user_id(user_id) { | ||||||
|         // clang-format off
 |         // clang-format off
 | ||||||
|         static const FunctionInfo functions[] = { |         static const FunctionInfo functions[] = { | ||||||
|             {0, &IManagerForApplication::CheckAvailability, "CheckAvailability"}, |             {0, &IManagerForApplication::CheckAvailability, "CheckAvailability"}, | ||||||
| @ -254,12 +255,14 @@ private: | |||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     void GetAccountId(Kernel::HLERequestContext& ctx) { |     void GetAccountId(Kernel::HLERequestContext& ctx) { | ||||||
|         LOG_WARNING(Service_ACC, "(STUBBED) called"); |         LOG_DEBUG(Service_ACC, "called"); | ||||||
|         // Should return a nintendo account ID
 | 
 | ||||||
|         IPC::ResponseBuilder rb{ctx, 4}; |         IPC::ResponseBuilder rb{ctx, 4}; | ||||||
|         rb.Push(RESULT_SUCCESS); |         rb.Push(RESULT_SUCCESS); | ||||||
|         rb.PushRaw<u64>(1); |         rb.PushRaw<u64>(user_id.GetNintendoID()); | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     Common::UUID user_id; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| void Module::Interface::GetUserCount(Kernel::HLERequestContext& ctx) { | void Module::Interface::GetUserCount(Kernel::HLERequestContext& ctx) { | ||||||
| @ -382,7 +385,7 @@ void Module::Interface::GetBaasAccountManagerForApplication(Kernel::HLERequestCo | |||||||
|     LOG_DEBUG(Service_ACC, "called"); |     LOG_DEBUG(Service_ACC, "called"); | ||||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; |     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||||
|     rb.Push(RESULT_SUCCESS); |     rb.Push(RESULT_SUCCESS); | ||||||
|     rb.PushIpcInterface<IManagerForApplication>(); |     rb.PushIpcInterface<IManagerForApplication>(profile_manager->GetLastOpenedUser()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx) { | void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx) { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei