bis_factory.h 991 B

1234567891011121314151617181920212223242526272829303132333435363738
  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, VirtualDir dump_root);
  15. ~BISFactory();
  16. RegisteredCache* GetSystemNANDContents() const;
  17. RegisteredCache* GetUserNANDContents() const;
  18. VirtualDir GetModificationLoadRoot(u64 title_id) const;
  19. VirtualDir GetModificationDumpRoot(u64 title_id) const;
  20. private:
  21. VirtualDir nand_root;
  22. VirtualDir load_root;
  23. VirtualDir dump_root;
  24. std::unique_ptr<RegisteredCache> sysnand_cache;
  25. std::unique_ptr<RegisteredCache> usrnand_cache;
  26. };
  27. } // namespace FileSys