diff options
Diffstat (limited to 'src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h')
-rw-r--r-- | src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h b/src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h index 86e09973b..7b21b029b 100644 --- a/src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h +++ b/src/core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h @@ -5,6 +5,7 @@ #include <vector> #include "common/common_types.h" +#include "core/hle/service/cmif_types.h" #include "core/hle/service/service.h" namespace Service::FileSystem { @@ -18,13 +19,6 @@ public: FileSys::SaveDataSpaceId space); ~ISaveDataInfoReader() override; - void ReadSaveDataInfo(HLERequestContext& ctx); - -private: - void FindAllSaves(FileSys::SaveDataSpaceId space); - void FindNormalSaves(FileSys::SaveDataSpaceId space, const FileSys::VirtualDir& type); - void FindTemporaryStorageSaves(FileSys::SaveDataSpaceId space, const FileSys::VirtualDir& type); - struct SaveDataInfo { u64_le save_id_unknown; FileSys::SaveDataSpaceId space; @@ -40,6 +34,14 @@ private: }; static_assert(sizeof(SaveDataInfo) == 0x60, "SaveDataInfo has incorrect size."); + Result ReadSaveDataInfo(Out<u64> out_count, + OutArray<SaveDataInfo, BufferAttr_HipcMapAlias> out_entries); + +private: + void FindAllSaves(FileSys::SaveDataSpaceId space); + void FindNormalSaves(FileSys::SaveDataSpaceId space, const FileSys::VirtualDir& type); + void FindTemporaryStorageSaves(FileSys::SaveDataSpaceId space, const FileSys::VirtualDir& type); + std::shared_ptr<SaveDataController> save_data_controller; std::vector<SaveDataInfo> info; u64 next_entry_index = 0; |