mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 18:54:14 +01:00 
			
		
		
		
	service: ac: Replace intances of ProfileData with UserData
This commit is contained in:
		
							parent
							
								
									802bbb2263
								
							
						
					
					
						commit
						32b522b1fd
					
				| @ -290,7 +290,7 @@ protected: | ||||
|     void Get(Kernel::HLERequestContext& ctx) { | ||||
|         LOG_DEBUG(Service_ACC, "called user_id=0x{}", user_id.RawString()); | ||||
|         ProfileBase profile_base{}; | ||||
|         ProfileData data{}; | ||||
|         UserData data{}; | ||||
|         if (profile_manager.GetProfileBaseAndData(user_id, profile_base, data)) { | ||||
|             ctx.WriteBuffer(data); | ||||
|             IPC::ResponseBuilder rb{ctx, 16}; | ||||
| @ -373,18 +373,18 @@ protected: | ||||
|                       reinterpret_cast<const char*>(base.username.data()), base.username.size()), | ||||
|                   base.timestamp, base.user_uuid.RawString()); | ||||
| 
 | ||||
|         if (user_data.size() < sizeof(ProfileData)) { | ||||
|             LOG_ERROR(Service_ACC, "ProfileData buffer too small!"); | ||||
|         if (user_data.size() < sizeof(UserData)) { | ||||
|             LOG_ERROR(Service_ACC, "UserData buffer too small!"); | ||||
|             IPC::ResponseBuilder rb{ctx, 2}; | ||||
|             rb.Push(ERR_INVALID_BUFFER); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         ProfileData data; | ||||
|         std::memcpy(&data, user_data.data(), sizeof(ProfileData)); | ||||
|         UserData data; | ||||
|         std::memcpy(&data, user_data.data(), sizeof(UserData)); | ||||
| 
 | ||||
|         if (!profile_manager.SetProfileBaseAndData(user_id, base, data)) { | ||||
|             LOG_ERROR(Service_ACC, "Failed to update profile data and base!"); | ||||
|             LOG_ERROR(Service_ACC, "Failed to update user data and base!"); | ||||
|             IPC::ResponseBuilder rb{ctx, 2}; | ||||
|             rb.Push(ERR_FAILED_SAVE_DATA); | ||||
|             return; | ||||
| @ -406,15 +406,15 @@ protected: | ||||
|                       reinterpret_cast<const char*>(base.username.data()), base.username.size()), | ||||
|                   base.timestamp, base.user_uuid.RawString()); | ||||
| 
 | ||||
|         if (user_data.size() < sizeof(ProfileData)) { | ||||
|             LOG_ERROR(Service_ACC, "ProfileData buffer too small!"); | ||||
|         if (user_data.size() < sizeof(UserData)) { | ||||
|             LOG_ERROR(Service_ACC, "UserData buffer too small!"); | ||||
|             IPC::ResponseBuilder rb{ctx, 2}; | ||||
|             rb.Push(ERR_INVALID_BUFFER); | ||||
|             return; | ||||
|         } | ||||
| 
 | ||||
|         ProfileData data; | ||||
|         std::memcpy(&data, user_data.data(), sizeof(ProfileData)); | ||||
|         UserData data; | ||||
|         std::memcpy(&data, user_data.data(), sizeof(UserData)); | ||||
| 
 | ||||
|         Common::FS::IOFile image(GetImagePath(user_id), Common::FS::FileAccessMode::Write, | ||||
|                                  Common::FS::FileType::BinaryFile); | ||||
|  | ||||
| @ -22,7 +22,7 @@ struct UserRaw { | ||||
|     UUID uuid2{}; | ||||
|     u64 timestamp{}; | ||||
|     ProfileUsername username{}; | ||||
|     ProfileData extra_data{}; | ||||
|     UserData extra_data{}; | ||||
| }; | ||||
| static_assert(sizeof(UserRaw) == 0xC8, "UserRaw has incorrect size."); | ||||
| 
 | ||||
| @ -263,7 +263,7 @@ UUID ProfileManager::GetLastOpenedUser() const { | ||||
| 
 | ||||
| /// Return the users profile base and the unknown arbitary data.
 | ||||
| bool ProfileManager::GetProfileBaseAndData(std::optional<std::size_t> index, ProfileBase& profile, | ||||
|                                            ProfileData& data) const { | ||||
|                                            UserData& data) const { | ||||
|     if (GetProfileBase(index, profile)) { | ||||
|         data = profiles[*index].data; | ||||
|         return true; | ||||
| @ -272,15 +272,14 @@ bool ProfileManager::GetProfileBaseAndData(std::optional<std::size_t> index, Pro | ||||
| } | ||||
| 
 | ||||
| /// Return the users profile base and the unknown arbitary data.
 | ||||
| bool ProfileManager::GetProfileBaseAndData(UUID uuid, ProfileBase& profile, | ||||
|                                            ProfileData& data) const { | ||||
| bool ProfileManager::GetProfileBaseAndData(UUID uuid, ProfileBase& profile, UserData& data) const { | ||||
|     const auto idx = GetUserIndex(uuid); | ||||
|     return GetProfileBaseAndData(idx, profile, data); | ||||
| } | ||||
| 
 | ||||
| /// Return the users profile base and the unknown arbitary data.
 | ||||
| bool ProfileManager::GetProfileBaseAndData(const ProfileInfo& user, ProfileBase& profile, | ||||
|                                            ProfileData& data) const { | ||||
|                                            UserData& data) const { | ||||
|     return GetProfileBaseAndData(user.user_uuid, profile, data); | ||||
| } | ||||
| 
 | ||||
| @ -318,7 +317,7 @@ bool ProfileManager::SetProfileBase(UUID uuid, const ProfileBase& profile_new) { | ||||
| } | ||||
| 
 | ||||
| bool ProfileManager::SetProfileBaseAndData(Common::UUID uuid, const ProfileBase& profile_new, | ||||
|                                            const ProfileData& data_new) { | ||||
|                                            const UserData& data_new) { | ||||
|     const auto index = GetUserIndex(uuid); | ||||
|     if (index.has_value() && SetProfileBase(uuid, profile_new)) { | ||||
|         profiles[*index].data = data_new; | ||||
|  | ||||
| @ -22,7 +22,7 @@ using UserIDArray = std::array<Common::UUID, MAX_USERS>; | ||||
| 
 | ||||
| /// Contains extra data related to a user.
 | ||||
| /// TODO: RE this structure
 | ||||
| struct ProfileData { | ||||
| struct UserData { | ||||
|     INSERT_PADDING_WORDS_NOINIT(1); | ||||
|     u32 icon_id; | ||||
|     u8 bg_color_id; | ||||
| @ -30,7 +30,7 @@ struct ProfileData { | ||||
|     INSERT_PADDING_BYTES_NOINIT(0x10); | ||||
|     INSERT_PADDING_BYTES_NOINIT(0x60); | ||||
| }; | ||||
| static_assert(sizeof(ProfileData) == 0x80, "ProfileData structure has incorrect size"); | ||||
| static_assert(sizeof(UserData) == 0x80, "UserData structure has incorrect size"); | ||||
| 
 | ||||
| /// This holds general information about a users profile. This is where we store all the information
 | ||||
| /// based on a specific user
 | ||||
| @ -38,7 +38,7 @@ struct ProfileInfo { | ||||
|     Common::UUID user_uuid{}; | ||||
|     ProfileUsername username{}; | ||||
|     u64 creation_time{}; | ||||
|     ProfileData data{}; // TODO(ognik): Work out what this is
 | ||||
|     UserData data{}; // TODO(ognik): Work out what this is
 | ||||
|     bool is_open{}; | ||||
| }; | ||||
| 
 | ||||
| @ -74,10 +74,9 @@ public: | ||||
|     bool GetProfileBase(Common::UUID uuid, ProfileBase& profile) const; | ||||
|     bool GetProfileBase(const ProfileInfo& user, ProfileBase& profile) const; | ||||
|     bool GetProfileBaseAndData(std::optional<std::size_t> index, ProfileBase& profile, | ||||
|                                ProfileData& data) const; | ||||
|     bool GetProfileBaseAndData(Common::UUID uuid, ProfileBase& profile, ProfileData& data) const; | ||||
|     bool GetProfileBaseAndData(const ProfileInfo& user, ProfileBase& profile, | ||||
|                                ProfileData& data) const; | ||||
|                                UserData& data) const; | ||||
|     bool GetProfileBaseAndData(Common::UUID uuid, ProfileBase& profile, UserData& data) const; | ||||
|     bool GetProfileBaseAndData(const ProfileInfo& user, ProfileBase& profile, UserData& data) const; | ||||
|     std::size_t GetUserCount() const; | ||||
|     std::size_t GetOpenUserCount() const; | ||||
|     bool UserExists(Common::UUID uuid) const; | ||||
| @ -93,7 +92,7 @@ public: | ||||
|     bool RemoveUser(Common::UUID uuid); | ||||
|     bool SetProfileBase(Common::UUID uuid, const ProfileBase& profile_new); | ||||
|     bool SetProfileBaseAndData(Common::UUID uuid, const ProfileBase& profile_new, | ||||
|                                const ProfileData& data_new); | ||||
|                                const UserData& data_new); | ||||
| 
 | ||||
| private: | ||||
|     void ParseUserSaveFile(); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user