directory_sdmc.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright 2014 Citra Emulator Project
  2. // Licensed under GPLv2
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "common/common_types.h"
  6. #include "common/file_util.h"
  7. #include "core/file_sys/directory.h"
  8. #include "core/file_sys/archive_sdmc.h"
  9. #include "core/loader/loader.h"
  10. ////////////////////////////////////////////////////////////////////////////////////////////////////
  11. // FileSys namespace
  12. namespace FileSys {
  13. class Directory_SDMC final : public Directory {
  14. public:
  15. Directory_SDMC();
  16. Directory_SDMC(const Archive_SDMC* archive, const std::string& path);
  17. ~Directory_SDMC() override;
  18. /**
  19. * List files contained in the directory
  20. * @param count Number of entries to return at once in entries
  21. * @param entries Buffer to read data into
  22. * @return Number of entries listed
  23. */
  24. u32 Read(const u32 count, Entry* entries) override;
  25. /**
  26. * Close the directory
  27. * @return true if the directory closed correctly
  28. */
  29. bool Close() const override;
  30. private:
  31. u32 entry_count;
  32. u32 current_entry;
  33. FileUtil::FSTEntry entry;
  34. };
  35. } // namespace FileSys