summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/mii/mii_manager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/mii/mii_manager.h')
-rw-r--r--src/core/hle/service/mii/mii_manager.h29
1 files changed, 20 insertions, 9 deletions
diff --git a/src/core/hle/service/mii/mii_manager.h b/src/core/hle/service/mii/mii_manager.h
index 6098474e9..4f8be06c3 100644
--- a/src/core/hle/service/mii/mii_manager.h
+++ b/src/core/hle/service/mii/mii_manager.h
@@ -19,16 +19,24 @@ class MiiManager {
public:
MiiManager();
- bool CheckAndResetUpdateCounter(SourceFlag source_flag, u64& current_update_counter);
+ bool IsUpdated(DatabaseSessionMetadata& metadata, SourceFlag source_flag) const;
+
bool IsFullDatabase() const;
- u32 GetCount(SourceFlag source_flag) const;
- Result UpdateLatest(CharInfo* out_info, const CharInfo& info, SourceFlag source_flag);
- CharInfo BuildRandom(Age age, Gender gender, Race race);
- CharInfo BuildBase(Gender gender);
- CharInfo BuildDefault(std::size_t index);
- CharInfo ConvertV3ToCharInfo(const Ver3StoreData& mii_v3) const;
+ u32 GetCount(const DatabaseSessionMetadata& metadata, SourceFlag source_flag) const;
+ Result UpdateLatest(DatabaseSessionMetadata& metadata, CharInfo& out_char_info,
+ const CharInfo& char_info, SourceFlag source_flag);
+ Result Get(const DatabaseSessionMetadata& metadata, std::span<CharInfoElement> out_elements,
+ u32& out_count, SourceFlag source_flag);
+ Result Get(const DatabaseSessionMetadata& metadata, std::span<CharInfo> out_char_info,
+ u32& out_count, SourceFlag source_flag);
+ void BuildDefault(CharInfo& out_char_info, u32 index) const;
+ void BuildBase(CharInfo& out_char_info, Gender gender) const;
+ void BuildRandom(CharInfo& out_char_info, Age age, Gender gender, Race race) const;
+ void ConvertV3ToCharInfo(CharInfo& out_char_info, const Ver3StoreData& mii_v3) const;
std::vector<CharInfoElement> GetDefault(SourceFlag source_flag);
- Result GetIndex(const CharInfo& info, u32& index);
+ Result GetIndex(const DatabaseSessionMetadata& metadata, const CharInfo& char_info,
+ s32& out_index);
+ void SetInterfaceVersion(DatabaseSessionMetadata& metadata, u32 version);
struct MiiDatabase {
u32 magic{}; // 'NFDB'
@@ -40,7 +48,10 @@ public:
static_assert(sizeof(MiiDatabase) == 0x1A98, "MiiDatabase has incorrect size.");
private:
- const Common::UUID user_id{};
+ Result BuildDefault(std::span<CharInfoElement> out_elements, u32& out_count,
+ SourceFlag source_flag);
+ Result BuildDefault(std::span<CharInfo> out_char_info, u32& out_count, SourceFlag source_flag);
+
u64 update_counter{};
};