2018-08-10 02:49:45 +02:00
|
|
|
// Copyright 2018 yuzu emulator team
|
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include "core/file_sys/bis_factory.h"
|
|
|
|
|
|
|
|
namespace FileSys {
|
|
|
|
|
2018-08-11 02:47:25 +02:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
|
2018-08-10 02:49:45 +02:00
|
|
|
BISFactory::BISFactory(VirtualDir nand_root_)
|
|
|
|
: nand_root(std::move(nand_root_)),
|
|
|
|
sysnand_cache(std::make_shared<RegisteredCache>(
|
2018-08-11 02:47:25 +02:00
|
|
|
GetOrCreateDirectory(nand_root, "/system/Contents/registered"))),
|
2018-08-10 02:49:45 +02:00
|
|
|
usrnand_cache(std::make_shared<RegisteredCache>(
|
2018-08-11 02:47:25 +02:00
|
|
|
GetOrCreateDirectory(nand_root, "/user/Contents/registered"))) {}
|
2018-08-10 02:49:45 +02:00
|
|
|
|
|
|
|
std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const {
|
|
|
|
return sysnand_cache;
|
|
|
|
}
|
|
|
|
|
|
|
|
std::shared_ptr<RegisteredCache> BISFactory::GetUserNANDContents() const {
|
|
|
|
return usrnand_cache;
|
|
|
|
}
|
|
|
|
|
|
|
|
} // namespace FileSys
|