vfs: Add GetEntries method

Maps name string to directory or file.
This commit is contained in:
Zach Hilman
2018-09-19 21:54:14 -04:00
parent bd8db3f7f8
commit d6cbb3a3e0
4 changed files with 32 additions and 0 deletions

View File

@ -413,6 +413,23 @@ std::string RealVfsDirectory::GetFullPath() const {
return out;
}
std::map<std::string, VfsEntryType> RealVfsDirectory::GetEntries() const {
if (perms == Mode::Append)
return {};
std::map<std::string, VfsEntryType> out;
FileUtil::ForeachDirectoryEntry(
nullptr, path,
[&out](u64* entries_out, const std::string& directory, const std::string& filename) {
const std::string full_path = directory + DIR_SEP + filename;
out.emplace(filename, FileUtil::IsDirectory(full_path) ? VfsEntryType::Directory
: VfsEntryType::File);
return true;
});
return out;
}
bool RealVfsDirectory::ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) {
return false;
}