summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/acc/profile_manager.h
diff options
context:
space:
mode:
authorDavid Marcec <dmarcecguzman@gmail.com>2018-08-08 15:41:12 +0200
committerDavid Marcec <dmarcecguzman@gmail.com>2018-08-08 15:41:12 +0200
commit03d7faf58390216729eb828b08be7e5f0ef82727 (patch)
tree07fd1fb940cf6893bf66a000f495807ba637d9eb /src/core/hle/service/acc/profile_manager.h
parentbegan initial implementation of "ProfileManager" (diff)
downloadyuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar.gz
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar.bz2
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar.lz
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar.xz
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.tar.zst
yuzu-03d7faf58390216729eb828b08be7e5f0ef82727.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/acc/profile_manager.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h
index 5aa73a030..cb6239cc1 100644
--- a/src/core/hle/service/acc/profile_manager.h
+++ b/src/core/hle/service/acc/profile_manager.h
@@ -54,7 +54,8 @@ struct ProfileInfo {
UUID user_uuid;
std::array<u8, 0x20> username;
u64 creation_time;
- std::array<u8, MAX_DATA> data;
+ std::array<u8, MAX_DATA> data; // TODO(ognik): Work out what this is
+ bool is_open;
};
struct ProfileBase {
@@ -83,14 +84,24 @@ public:
bool GetProfileBase(size_t index, ProfileBase& profile);
bool GetProfileBase(UUID uuid, ProfileBase& profile);
bool GetProfileBase(ProfileInfo user, ProfileBase& profile);
+ bool GetProfileBaseAndData(size_t index, ProfileBase& profile, std::array<u8, MAX_DATA>& data);
+ bool GetProfileBaseAndData(UUID uuid, ProfileBase& profile, std::array<u8, MAX_DATA>& data);
+ bool GetProfileBaseAndData(ProfileInfo user, ProfileBase& profile,
+ std::array<u8, MAX_DATA>& data);
size_t GetUserCount();
bool UserExists(UUID uuid);
+ void OpenUser(UUID uuid);
+ void CloseUser(UUID uuid);
+ std::array<UUID, MAX_USERS> GetOpenUsers();
+ std::array<UUID, MAX_USERS> GetAllUsers();
+ const UUID& GetLastOpennedUser();
private:
std::array<ProfileInfo, MAX_USERS> profiles{};
size_t user_count = 0;
size_t AddToProfiles(const ProfileInfo& profile);
bool RemoveProfileAtIdx(size_t index);
+ UUID last_openned_user{0, 0};
};
using ProfileManagerPtr = std::unique_ptr<ProfileManager>;