Filesystem: Initialize everything in constructor

Not initializing until the filesystem is used is good when
a filesystem is constructed and then never used, but nobody does that.
This simplifies the code a little and lets all methods be const.
This commit is contained in:
JosJuice
2015-07-31 13:36:28 +02:00
parent d6ee7ec32c
commit afe2bc60f6
3 changed files with 74 additions and 104 deletions

View File

@ -39,16 +39,17 @@ public:
virtual ~FileSystem();
virtual bool IsValid() const = 0;
// TODO: Should only return FileInfo, not FileInfoGCWii
virtual const std::vector<FileInfoGCWii>& GetFileList() = 0;
virtual const FileInfo* FindFileInfo(const std::string& path) = 0;
virtual const FileInfo* FindFileInfo(u64 disc_offset) = 0;
virtual const std::vector<FileInfoGCWii>& GetFileList() const = 0;
virtual const FileInfo* FindFileInfo(const std::string& path) const = 0;
virtual const FileInfo* FindFileInfo(u64 disc_offset) const = 0;
virtual u64 ReadFile(const FileInfo* file_info, u8* _pBuffer, u64 _MaxBufferSize,
u64 _OffsetInFile = 0) = 0;
virtual bool ExportFile(const FileInfo* file_info, const std::string& _rExportFilename) = 0;
u64 _OffsetInFile = 0) const = 0;
virtual bool ExportFile(const FileInfo* file_info,
const std::string& _rExportFilename) const = 0;
virtual bool ExportApploader(const std::string& _rExportFolder) const = 0;
virtual bool ExportDOL(const std::string& _rExportFolder) const = 0;
virtual std::string GetPath(u64 _Address) = 0;
virtual std::string GetPathFromFSTOffset(size_t file_info_offset) = 0;
virtual std::string GetPath(u64 _Address) const = 0;
virtual std::string GetPathFromFSTOffset(size_t file_info_offset) const = 0;
virtual std::optional<u64> GetBootDOLOffset() const = 0;
virtual std::optional<u32> GetBootDOLSize(u64 dol_offset) const = 0;