From 913896cbd99e414c325c9d47a987376ed6d9fffd Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 7 Jul 2018 20:24:51 -0700 Subject: Revert "Virtual Filesystem (#597)" This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2. --- src/core/file_sys/partition_filesystem.h | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) (limited to 'src/core/file_sys/partition_filesystem.h') diff --git a/src/core/file_sys/partition_filesystem.h b/src/core/file_sys/partition_filesystem.h index 9656b40bf..9c5810cf1 100644 --- a/src/core/file_sys/partition_filesystem.h +++ b/src/core/file_sys/partition_filesystem.h @@ -10,7 +10,6 @@ #include "common/common_funcs.h" #include "common/common_types.h" #include "common/swap.h" -#include "core/file_sys/vfs.h" namespace Loader { enum class ResultStatus; @@ -22,19 +21,19 @@ namespace FileSys { * Helper which implements an interface to parse PFS/HFS filesystems. * Data can either be loaded from a file path or data with an offset into it. */ -class PartitionFilesystem : public ReadOnlyVfsDirectory { +class PartitionFilesystem { public: - explicit PartitionFilesystem(std::shared_ptr file); - Loader::ResultStatus GetStatus() const; + Loader::ResultStatus Load(const std::string& file_path, size_t offset = 0); + Loader::ResultStatus Load(const std::vector& file_data, size_t offset = 0); - std::vector> GetFiles() const override; - std::vector> GetSubdirectories() const override; - std::string GetName() const override; - std::shared_ptr GetParentDirectory() const override; - void PrintDebugInfo() const; + u32 GetNumEntries() const; + u64 GetEntryOffset(u32 index) const; + u64 GetEntrySize(u32 index) const; + std::string GetEntryName(u32 index) const; + u64 GetFileOffset(const std::string& name) const; + u64 GetFileSize(const std::string& name) const; -protected: - bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override; + void Print() const; private: struct Header { @@ -73,14 +72,16 @@ private: #pragma pack(pop) - Loader::ResultStatus status; + struct FileEntry { + FSEntry fs_entry; + std::string name; + }; Header pfs_header; bool is_hfs; size_t content_offset; - std::vector pfs_files; - std::vector pfs_dirs; + std::vector pfs_entries; }; } // namespace FileSys -- cgit v1.2.3