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 {
|
||||
|
||||
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_)
|
||||
: nand_root(std::move(nand_root_)),
|
||||
sysnand_cache(std::make_shared<RegisteredCache>(
|
||||
nand_root->GetDirectoryRelative("/system/Contents/registered"))),
|
||||
GetOrCreateDirectory(nand_root, "/system/Contents/registered"))),
|
||||
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 {
|
||||
return sysnand_cache;
|
||||
|
|
Loading…
Reference in a new issue