bis_factory.h 915 B

123456789101112131415161718192021222324252627282930313233343536
  1. // Copyright 2018 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <memory>
  6. #include "core/file_sys/vfs.h"
  7. namespace FileSys {
  8. class RegisteredCache;
  9. /// File system interface to the Built-In Storage
  10. /// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND
  11. /// registered caches.
  12. class BISFactory {
  13. public:
  14. explicit BISFactory(VirtualDir nand_root, VirtualDir load_root);
  15. ~BISFactory();
  16. std::shared_ptr<RegisteredCache> GetSystemNANDContents() const;
  17. std::shared_ptr<RegisteredCache> GetUserNANDContents() const;
  18. VirtualDir GetModificationLoadRoot(u64 title_id) const;
  19. private:
  20. VirtualDir nand_root;
  21. VirtualDir load_root;
  22. std::shared_ptr<RegisteredCache> sysnand_cache;
  23. std::shared_ptr<RegisteredCache> usrnand_cache;
  24. };
  25. } // namespace FileSys