bis_factory: Create NAND dirs if they don't exist
This commit is contained in:
parent
f78a6e752f
commit
62e859c6c7
1 changed files with 9 additions and 2 deletions
|
@ -6,12 +6,19 @@
|
||||||
|
|
||||||
namespace FileSys {
|
namespace FileSys {
|
||||||
|
|
||||||
|
static VirtualDir GetOrCreateDirectory(const VirtualDir& dir, std::string_view path) {
|
||||||
|
const auto res = dir->GetDirectoryRelative(path);
|
||||||
|
if (res == nullptr)
|
||||||
|
return dir->CreateDirectoryRelative(path);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
BISFactory::BISFactory(VirtualDir nand_root_)
|
BISFactory::BISFactory(VirtualDir nand_root_)
|
||||||
: nand_root(std::move(nand_root_)),
|
: nand_root(std::move(nand_root_)),
|
||||||
sysnand_cache(std::make_shared<RegisteredCache>(
|
sysnand_cache(std::make_shared<RegisteredCache>(
|
||||||
nand_root->GetDirectoryRelative("/system/Contents/registered"))),
|
GetOrCreateDirectory(nand_root, "/system/Contents/registered"))),
|
||||||
usrnand_cache(std::make_shared<RegisteredCache>(
|
usrnand_cache(std::make_shared<RegisteredCache>(
|
||||||
nand_root->GetDirectoryRelative("/user/Contents/registered"))) {}
|
GetOrCreateDirectory(nand_root, "/user/Contents/registered"))) {}
|
||||||
|
|
||||||
std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const {
|
std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const {
|
||||||
return sysnand_cache;
|
return sysnand_cache;
|
||||||
|
|
Loading…
Reference in a new issue