diff options
| author | bunnei <bunneidev@gmail.com> | 2014-09-18 22:27:06 -0400 |
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2014-09-18 22:27:06 -0400 |
| commit | a9630a9d2b432bea7bdfef4aa462035b98b34517 (patch) | |
| tree | 258010943e989fc61a2a439ff15ead7ed3d11a6f /src/core/file_sys/directory_sdmc.h | |
| parent | 1c79a4f10c1eb679b1ab253572a45a7c7df99691 (diff) | |
| parent | 3a570a9fee57d77923eb1e71dbadcd08bb39aa25 (diff) | |
Merge pull request #70 from linkmauve/master
Implement filesystem services, and the required kernel objects.
Diffstat (limited to 'src/core/file_sys/directory_sdmc.h')
| -rw-r--r-- | src/core/file_sys/directory_sdmc.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/core/file_sys/directory_sdmc.h b/src/core/file_sys/directory_sdmc.h new file mode 100644 index 000000000..0bc6c9eff --- /dev/null +++ b/src/core/file_sys/directory_sdmc.h @@ -0,0 +1,45 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 +// Refer to the license.txt file included. + +#pragma once + +#include "common/common_types.h" +#include "common/file_util.h" + +#include "core/file_sys/directory.h" +#include "core/file_sys/archive_sdmc.h" +#include "core/loader/loader.h" + +//////////////////////////////////////////////////////////////////////////////////////////////////// +// FileSys namespace + +namespace FileSys { + +class Directory_SDMC final : public Directory { +public: + Directory_SDMC(); + Directory_SDMC(const Archive_SDMC* archive, const std::string& path); + ~Directory_SDMC() override; + + /** + * List files contained in the directory + * @param count Number of entries to return at once in entries + * @param entries Buffer to read data into + * @return Number of entries listed + */ + u32 Read(const u32 count, Entry* entries) override; + + /** + * Close the directory + * @return true if the directory closed correctly + */ + bool Close() const override; + +private: + u32 entry_count; + u32 current_entry; + FileUtil::FSTEntry entry; +}; + +} // namespace FileSys |
