mirror of
https://gitlab.com/suyu-emu/suyu.git
synced 2024-03-15 23:15:44 +00:00
bis_factory: Add accessors for BIS placeholder caches
This commit is contained in:
parent
9bee885282
commit
b71bda45ae
|
@ -14,7 +14,11 @@ BISFactory::BISFactory(VirtualDir nand_root_, VirtualDir load_root_, VirtualDir
|
||||||
sysnand_cache(std::make_unique<RegisteredCache>(
|
sysnand_cache(std::make_unique<RegisteredCache>(
|
||||||
GetOrCreateDirectoryRelative(nand_root, "/system/Contents/registered"))),
|
GetOrCreateDirectoryRelative(nand_root, "/system/Contents/registered"))),
|
||||||
usrnand_cache(std::make_unique<RegisteredCache>(
|
usrnand_cache(std::make_unique<RegisteredCache>(
|
||||||
GetOrCreateDirectoryRelative(nand_root, "/user/Contents/registered"))) {}
|
GetOrCreateDirectoryRelative(nand_root, "/user/Contents/registered"))),
|
||||||
|
sysnand_placeholder(std::make_unique<PlaceholderCache>(
|
||||||
|
GetOrCreateDirectoryRelative(nand_root, "/system/Contents/placehld"))),
|
||||||
|
usrnand_placeholder(std::make_unique<PlaceholderCache>(
|
||||||
|
GetOrCreateDirectoryRelative(nand_root, "/user/Contents/placehld"))) {}
|
||||||
|
|
||||||
BISFactory::~BISFactory() = default;
|
BISFactory::~BISFactory() = default;
|
||||||
|
|
||||||
|
@ -34,6 +38,14 @@ RegisteredCache* BISFactory::GetUserNANDContents() const {
|
||||||
return usrnand_cache.get();
|
return usrnand_cache.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PlaceholderCache* BISFactory::GetSystemNANDPlaceholder() const {
|
||||||
|
return sysnand_placeholder.get();
|
||||||
|
}
|
||||||
|
|
||||||
|
PlaceholderCache* BISFactory::GetUserNANDPlaceholder() const {
|
||||||
|
return usrnand_placeholder.get();
|
||||||
|
}
|
||||||
|
|
||||||
VirtualDir BISFactory::GetModificationLoadRoot(u64 title_id) const {
|
VirtualDir BISFactory::GetModificationLoadRoot(u64 title_id) const {
|
||||||
// LayeredFS doesn't work on updates and title id-less homebrew
|
// LayeredFS doesn't work on updates and title id-less homebrew
|
||||||
if (title_id == 0 || (title_id & 0x800) > 0)
|
if (title_id == 0 || (title_id & 0x800) > 0)
|
||||||
|
|
|
@ -28,6 +28,7 @@ enum class BisPartitionId : u32 {
|
||||||
};
|
};
|
||||||
|
|
||||||
class RegisteredCache;
|
class RegisteredCache;
|
||||||
|
class PlaceholderCache;
|
||||||
|
|
||||||
/// File system interface to the Built-In Storage
|
/// File system interface to the Built-In Storage
|
||||||
/// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND
|
/// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND
|
||||||
|
@ -43,6 +44,9 @@ public:
|
||||||
RegisteredCache* GetSystemNANDContents() const;
|
RegisteredCache* GetSystemNANDContents() const;
|
||||||
RegisteredCache* GetUserNANDContents() const;
|
RegisteredCache* GetUserNANDContents() const;
|
||||||
|
|
||||||
|
PlaceholderCache* GetSystemNANDPlaceholder() const;
|
||||||
|
PlaceholderCache* GetUserNANDPlaceholder() const;
|
||||||
|
|
||||||
VirtualDir GetModificationLoadRoot(u64 title_id) const;
|
VirtualDir GetModificationLoadRoot(u64 title_id) const;
|
||||||
VirtualDir GetModificationDumpRoot(u64 title_id) const;
|
VirtualDir GetModificationDumpRoot(u64 title_id) const;
|
||||||
|
|
||||||
|
@ -58,6 +62,9 @@ private:
|
||||||
|
|
||||||
std::unique_ptr<RegisteredCache> sysnand_cache;
|
std::unique_ptr<RegisteredCache> sysnand_cache;
|
||||||
std::unique_ptr<RegisteredCache> usrnand_cache;
|
std::unique_ptr<RegisteredCache> usrnand_cache;
|
||||||
|
|
||||||
|
std::unique_ptr<PlaceholderCache> sysnand_placeholder;
|
||||||
|
std::unique_ptr<PlaceholderCache> usrnand_placeholder;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace FileSys
|
} // namespace FileSys
|
||||||
|
|
Loading…
Reference in a new issue