diff options
| author | 2018-08-16 17:06:56 -0400 | |
|---|---|---|
| committer | 2018-08-23 11:53:30 -0400 | |
| commit | 13524578b602a264a3925c5f4a2ce9607541d2fc (patch) | |
| tree | 5d30961c9528446156add23e6804514c50de9ff9 /src/core | |
| parent | qt: Make default row data title name and title id (diff) | |
| download | yuzu-13524578b602a264a3925c5f4a2ce9607541d2fc.tar.gz yuzu-13524578b602a264a3925c5f4a2ce9607541d2fc.tar.xz yuzu-13524578b602a264a3925c5f4a2ce9607541d2fc.zip | |
sdmc_factory: Add SDMC RegisteredCache getter
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/file_sys/sdmc_factory.cpp | 12 | ||||
| -rw-r--r-- | src/core/file_sys/sdmc_factory.h | 3 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/core/file_sys/sdmc_factory.cpp b/src/core/file_sys/sdmc_factory.cpp index d1acf379f..b14a254c5 100644 --- a/src/core/file_sys/sdmc_factory.cpp +++ b/src/core/file_sys/sdmc_factory.cpp | |||
| @@ -4,13 +4,23 @@ | |||
| 4 | 4 | ||
| 5 | #include <memory> | 5 | #include <memory> |
| 6 | #include "core/file_sys/sdmc_factory.h" | 6 | #include "core/file_sys/sdmc_factory.h" |
| 7 | #include "core/file_sys/xts_archive.h" | ||
| 7 | 8 | ||
| 8 | namespace FileSys { | 9 | namespace FileSys { |
| 9 | 10 | ||
| 10 | SDMCFactory::SDMCFactory(VirtualDir dir) : dir(std::move(dir)) {} | 11 | SDMCFactory::SDMCFactory(VirtualDir dir_) |
| 12 | : dir(std::move(dir_)), contents(std::make_shared<RegisteredCache>( | ||
| 13 | GetOrCreateDirectoryRelative(dir, "/Nintendo/Contents/registered"), | ||
| 14 | [](const VirtualFile& file, const NcaID& id) { | ||
| 15 | return std::make_shared<NAX>(file, id)->GetDecrypted(); | ||
| 16 | })) {} | ||
| 11 | 17 | ||
| 12 | ResultVal<VirtualDir> SDMCFactory::Open() { | 18 | ResultVal<VirtualDir> SDMCFactory::Open() { |
| 13 | return MakeResult<VirtualDir>(dir); | 19 | return MakeResult<VirtualDir>(dir); |
| 14 | } | 20 | } |
| 15 | 21 | ||
| 22 | std::shared_ptr<RegisteredCache> SDMCFactory::GetSDMCContents() const { | ||
| 23 | return contents; | ||
| 24 | } | ||
| 25 | |||
| 16 | } // namespace FileSys | 26 | } // namespace FileSys |
diff --git a/src/core/file_sys/sdmc_factory.h b/src/core/file_sys/sdmc_factory.h index 245060690..bb579472c 100644 --- a/src/core/file_sys/sdmc_factory.h +++ b/src/core/file_sys/sdmc_factory.h | |||
| @@ -15,9 +15,12 @@ public: | |||
| 15 | explicit SDMCFactory(VirtualDir dir); | 15 | explicit SDMCFactory(VirtualDir dir); |
| 16 | 16 | ||
| 17 | ResultVal<VirtualDir> Open(); | 17 | ResultVal<VirtualDir> Open(); |
| 18 | std::shared_ptr<RegisteredCache> GetSDMCContents() const; | ||
| 18 | 19 | ||
| 19 | private: | 20 | private: |
| 20 | VirtualDir dir; | 21 | VirtualDir dir; |
| 22 | |||
| 23 | std::shared_ptr<RegisteredCache> contents; | ||
| 21 | }; | 24 | }; |
| 22 | 25 | ||
| 23 | } // namespace FileSys | 26 | } // namespace FileSys |