diff options
| author | bunnei <bunneidev@gmail.com> | 2018-03-23 20:48:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-03-23 20:48:26 -0400 |
| commit | a397a9e9a4bad1ed03229082408b7fa424295530 (patch) | |
| tree | 3f4766c0bc490d10cf89377475c23fa237e2bba2 /src/core/file_sys/disk_filesystem.h | |
| parent | 68658ce4b095e41b50bdd5c91620407845c08779 (diff) | |
| parent | 4c06d55a81304d0e658adf441d8bdb90a32ba228 (diff) | |
Merge pull request #255 from Subv/sd_card
FS: Implemented access to the SD card
Diffstat (limited to 'src/core/file_sys/disk_filesystem.h')
| -rw-r--r-- | src/core/file_sys/disk_filesystem.h | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/core/file_sys/disk_filesystem.h b/src/core/file_sys/disk_filesystem.h index 53767b949..742d7db1a 100644 --- a/src/core/file_sys/disk_filesystem.h +++ b/src/core/file_sys/disk_filesystem.h @@ -30,9 +30,10 @@ public: ResultCode DeleteDirectory(const Path& path) const override; ResultCode DeleteDirectoryRecursively(const Path& path) const override; ResultCode CreateFile(const std::string& path, u64 size) const override; - ResultCode CreateDirectory(const Path& path) const override; + ResultCode CreateDirectory(const std::string& path) const override; ResultCode RenameDirectory(const Path& src_path, const Path& dest_path) const override; - ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory(const Path& path) const override; + ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory( + const std::string& path) const override; u64 GetFreeSpaceSize() const override; ResultVal<EntryType> GetEntryType(const std::string& path) const override; @@ -59,8 +60,26 @@ private: class Disk_Directory : public DirectoryBackend { public: - u32 Read(const u32 count, Entry* entries) override; - bool Close() const override; + Disk_Directory(const std::string& path); + + ~Disk_Directory() override { + Close(); + } + + u64 Read(const u64 count, Entry* entries) override; + u64 GetEntryCount() const override; + + bool Close() const override { + return true; + } + +protected: + u32 total_entries_in_directory; + FileUtil::FSTEntry directory; + + // We need to remember the last entry we returned, so a subsequent call to Read will continue + // from the next one. This iterator will always point to the next unread entry. + std::vector<FileUtil::FSTEntry>::iterator children_iterator; }; } // namespace FileSys |
