sdmc_factory.cpp 931 B

1234567891011121314151617181920212223242526272829
  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/registered_cache.h"
  6. #include "core/file_sys/sdmc_factory.h"
  7. #include "core/file_sys/xts_archive.h"
  8. namespace FileSys {
  9. SDMCFactory::SDMCFactory(VirtualDir dir_)
  10. : dir(std::move(dir_)), contents(std::make_unique<RegisteredCache>(
  11. GetOrCreateDirectoryRelative(dir, "/Nintendo/Contents/registered"),
  12. [](const VirtualFile& file, const NcaID& id) {
  13. return NAX{file, id}.GetDecrypted();
  14. })) {}
  15. SDMCFactory::~SDMCFactory() = default;
  16. ResultVal<VirtualDir> SDMCFactory::Open() {
  17. return MakeResult<VirtualDir>(dir);
  18. }
  19. RegisteredCache* SDMCFactory::GetSDMCContents() const {
  20. return contents.get();
  21. }
  22. } // namespace FileSys