From 9951f6d0543980e29e6107e0bd4ea35977f1cf29 Mon Sep 17 00:00:00 2001 From: Zach Hilman Date: Sat, 25 Aug 2018 19:00:36 -0400 Subject: registration: Add RegisteredCacheUnion Aggregates multiple caches into one interface --- src/core/hle/service/filesystem/filesystem.cpp | 7 +++++++ src/core/hle/service/filesystem/filesystem.h | 3 +++ 2 files changed, 10 insertions(+) (limited to 'src/core/hle') 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 @@ #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 OpenSDMC() { return sdmc_factory->Open(); } +std::shared_ptr GetUnionContents() { + return std::make_shared( + std::vector>{ + GetSystemNANDContents(), GetUserNANDContents(), GetSDMCContents()}); +} + std::shared_ptr GetSystemNANDContents() { LOG_TRACE(Service_FS, "Opening System NAND Contents"); 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 @@ namespace FileSys { class BISFactory; class RegisteredCache; +class RegisteredCacheUnion; class RomFSFactory; class SaveDataFactory; class SDMCFactory; @@ -45,6 +46,8 @@ ResultVal OpenSaveData(FileSys::SaveDataSpaceId space, FileSys::SaveDataDescriptor save_struct); ResultVal OpenSDMC(); +std::shared_ptr GetUnionContents(); + std::shared_ptr GetSystemNANDContents(); std::shared_ptr GetUserNANDContents(); std::shared_ptr GetSDMCContents(); -- cgit v1.2.3