sdmc_factory.cpp 876 B

1234567891011121314151617181920212223242526
  1. // Copyright 2018 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include <memory>
  5. #include "core/file_sys/sdmc_factory.h"
  6. #include "core/file_sys/xts_archive.h"
  7. namespace FileSys {
  8. SDMCFactory::SDMCFactory(VirtualDir dir_)
  9. : dir(std::move(dir_)), contents(std::make_shared<RegisteredCache>(
  10. GetOrCreateDirectoryRelative(dir, "/Nintendo/Contents/registered"),
  11. [](const VirtualFile& file, const NcaID& id) {
  12. return std::make_shared<NAX>(file, id)->GetDecrypted();
  13. })) {}
  14. ResultVal<VirtualDir> SDMCFactory::Open() {
  15. return MakeResult<VirtualDir>(dir);
  16. }
  17. std::shared_ptr<RegisteredCache> SDMCFactory::GetSDMCContents() const {
  18. return contents;
  19. }
  20. } // namespace FileSys