Skip to content
Snippets Groups Projects
Commit 13524578 authored by Zach Hilman's avatar Zach Hilman
Browse files

sdmc_factory: Add SDMC RegisteredCache getter

parent 4112dd6b
No related branches found
No related tags found
No related merge requests found
...@@ -4,13 +4,23 @@ ...@@ -4,13 +4,23 @@
#include <memory> #include <memory>
#include "core/file_sys/sdmc_factory.h" #include "core/file_sys/sdmc_factory.h"
#include "core/file_sys/xts_archive.h"
namespace FileSys { namespace FileSys {
SDMCFactory::SDMCFactory(VirtualDir dir) : dir(std::move(dir)) {} SDMCFactory::SDMCFactory(VirtualDir dir_)
: dir(std::move(dir_)), contents(std::make_shared<RegisteredCache>(
GetOrCreateDirectoryRelative(dir, "/Nintendo/Contents/registered"),
[](const VirtualFile& file, const NcaID& id) {
return std::make_shared<NAX>(file, id)->GetDecrypted();
})) {}
ResultVal<VirtualDir> SDMCFactory::Open() { ResultVal<VirtualDir> SDMCFactory::Open() {
return MakeResult<VirtualDir>(dir); return MakeResult<VirtualDir>(dir);
} }
std::shared_ptr<RegisteredCache> SDMCFactory::GetSDMCContents() const {
return contents;
}
} // namespace FileSys } // namespace FileSys
...@@ -15,9 +15,12 @@ public: ...@@ -15,9 +15,12 @@ public:
explicit SDMCFactory(VirtualDir dir); explicit SDMCFactory(VirtualDir dir);
ResultVal<VirtualDir> Open(); ResultVal<VirtualDir> Open();
std::shared_ptr<RegisteredCache> GetSDMCContents() const;
private: private:
VirtualDir dir; VirtualDir dir;
std::shared_ptr<RegisteredCache> contents;
}; };
} // namespace FileSys } // namespace FileSys
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment