registration: Add RegisteredCacheUnion

Aggregates multiple caches into one interface
This commit is contained in:
Zach Hilman 2018-08-25 19:00:36 -04:00
parent bf86700873
commit 6e6f8cf474
4 changed files with 164 additions and 0 deletions

View file

@ -19,6 +19,7 @@
#include "core/hle/service/filesystem/fsp_ldr.h"
#include "core/hle/service/filesystem/fsp_pr.h"
#include "core/hle/service/filesystem/fsp_srv.h"
#include "filesystem.h"
namespace Service::FileSystem {
@ -307,6 +308,12 @@ ResultVal<FileSys::VirtualDir> OpenSDMC() {
return sdmc_factory->Open();
}
std::shared_ptr<FileSys::RegisteredCacheUnion> GetUnionContents() {
return std::make_shared<FileSys::RegisteredCacheUnion>(
std::vector<std::shared_ptr<FileSys::RegisteredCache>>{
GetSystemNANDContents(), GetUserNANDContents(), GetSDMCContents()});
}
std::shared_ptr<FileSys::RegisteredCache> GetSystemNANDContents() {
LOG_TRACE(Service_FS, "Opening System NAND Contents");