diff options
| author | 2018-08-25 19:00:36 -0400 | |
|---|---|---|
| committer | 2018-09-04 16:21:40 -0400 | |
| commit | 9951f6d0543980e29e6107e0bd4ea35977f1cf29 (patch) | |
| tree | 2ee34991b03ab10607d41c90588a52a0476ddfc6 /src/core/hle | |
| parent | game_list: Use RegisteredCacheUnion for installed (diff) | |
| download | yuzu-9951f6d0543980e29e6107e0bd4ea35977f1cf29.tar.gz yuzu-9951f6d0543980e29e6107e0bd4ea35977f1cf29.tar.xz yuzu-9951f6d0543980e29e6107e0bd4ea35977f1cf29.zip | |
registration: Add RegisteredCacheUnion
Aggregates multiple caches into one interface
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index a4426af96..e9d5bd774 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp | |||
| @@ -19,6 +19,7 @@ | |||
| 19 | #include "core/hle/service/filesystem/fsp_ldr.h" | 19 | #include "core/hle/service/filesystem/fsp_ldr.h" |
| 20 | #include "core/hle/service/filesystem/fsp_pr.h" | 20 | #include "core/hle/service/filesystem/fsp_pr.h" |
| 21 | #include "core/hle/service/filesystem/fsp_srv.h" | 21 | #include "core/hle/service/filesystem/fsp_srv.h" |
| 22 | #include "filesystem.h" | ||
| 22 | 23 | ||
| 23 | namespace Service::FileSystem { | 24 | namespace Service::FileSystem { |
| 24 | 25 | ||
| @@ -307,6 +308,12 @@ ResultVal<FileSys::VirtualDir> OpenSDMC() { | |||
| 307 | return sdmc_factory->Open(); | 308 | return sdmc_factory->Open(); |
| 308 | } | 309 | } |
| 309 | 310 | ||
| 311 | std::shared_ptr<FileSys::RegisteredCacheUnion> GetUnionContents() { | ||
| 312 | return std::make_shared<FileSys::RegisteredCacheUnion>( | ||
| 313 | std::vector<std::shared_ptr<FileSys::RegisteredCache>>{ | ||
| 314 | GetSystemNANDContents(), GetUserNANDContents(), GetSDMCContents()}); | ||
| 315 | } | ||
| 316 | |||
| 310 | std::shared_ptr<FileSys::RegisteredCache> GetSystemNANDContents() { | 317 | std::shared_ptr<FileSys::RegisteredCache> GetSystemNANDContents() { |
| 311 | LOG_TRACE(Service_FS, "Opening System NAND Contents"); | 318 | LOG_TRACE(Service_FS, "Opening System NAND Contents"); |
| 312 | 319 | ||
diff --git a/src/core/hle/service/filesystem/filesystem.h b/src/core/hle/service/filesystem/filesystem.h index 9ba0e2eab..793a7b06f 100644 --- a/src/core/hle/service/filesystem/filesystem.h +++ b/src/core/hle/service/filesystem/filesystem.h | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | namespace FileSys { | 13 | namespace FileSys { |
| 14 | class BISFactory; | 14 | class BISFactory; |
| 15 | class RegisteredCache; | 15 | class RegisteredCache; |
| 16 | class RegisteredCacheUnion; | ||
| 16 | class RomFSFactory; | 17 | class RomFSFactory; |
| 17 | class SaveDataFactory; | 18 | class SaveDataFactory; |
| 18 | class SDMCFactory; | 19 | class SDMCFactory; |
| @@ -45,6 +46,8 @@ ResultVal<FileSys::VirtualDir> OpenSaveData(FileSys::SaveDataSpaceId space, | |||
| 45 | FileSys::SaveDataDescriptor save_struct); | 46 | FileSys::SaveDataDescriptor save_struct); |
| 46 | ResultVal<FileSys::VirtualDir> OpenSDMC(); | 47 | ResultVal<FileSys::VirtualDir> OpenSDMC(); |
| 47 | 48 | ||
| 49 | std::shared_ptr<FileSys::RegisteredCacheUnion> GetUnionContents(); | ||
| 50 | |||
| 48 | std::shared_ptr<FileSys::RegisteredCache> GetSystemNANDContents(); | 51 | std::shared_ptr<FileSys::RegisteredCache> GetSystemNANDContents(); |
| 49 | std::shared_ptr<FileSys::RegisteredCache> GetUserNANDContents(); | 52 | std::shared_ptr<FileSys::RegisteredCache> GetUserNANDContents(); |
| 50 | std::shared_ptr<FileSys::RegisteredCache> GetSDMCContents(); | 53 | std::shared_ptr<FileSys::RegisteredCache> GetSDMCContents(); |