Filesystem: Replace GetFileList()

Instead of expecting callers to know how the size of directory file infos
relates to which files are in which directories, filesystems now offer a
GetRoot() method, and file infos offer a way to get their children. As
a bonus, m_FileInfoVector no longer has to be created and kept around
in RAM. Only the file info objects that actually are used are created.
This commit is contained in:
JosJuice
2015-08-08 19:59:33 +02:00
parent ee2b88ebb6
commit 87916fe099
11 changed files with 374 additions and 268 deletions

View File

@ -88,13 +88,13 @@ void Log(u64 offset, const DiscIO::Partition& partition)
if (!s_filesystem)
return;
const DiscIO::FileInfo* file_info = s_filesystem->FindFileInfo(offset);
const std::unique_ptr<DiscIO::FileInfo> file_info = s_filesystem->FindFileInfo(offset);
// Do nothing if no file was found at that offset
if (!file_info)
return;
const std::string path = s_filesystem->GetPath(file_info->GetOffset());
const std::string path = file_info->GetPath();
// Do nothing if we found the same file again
if (s_previous_file == path)