Browse Source

filesystem: Add getter for BCAT temporary directory

nce_cpp
Zach Hilman 7 years ago
parent
commit
010cc6e4f4
  1. 5
      src/core/file_sys/bis_factory.cpp
  2. 2
      src/core/file_sys/bis_factory.h
  3. 9
      src/core/hle/service/filesystem/filesystem.cpp

5
src/core/file_sys/bis_factory.cpp

@ -136,4 +136,9 @@ u64 BISFactory::GetFullNANDTotalSpace() const {
return static_cast<u64>(Settings::values.nand_total_size);
}
VirtualDir BISFactory::GetBCATDirectory(u64 title_id) const {
return GetOrCreateDirectoryRelative(nand_root,
fmt::format("/system/save/bcat/{:016X}", title_id));
}
} // namespace FileSys

2
src/core/file_sys/bis_factory.h

@ -61,6 +61,8 @@ public:
u64 GetUserNANDTotalSpace() const;
u64 GetFullNANDTotalSpace() const;
VirtualDir GetBCATDirectory(u64 title_id) const;
private:
VirtualDir nand_root;
VirtualDir load_root;

9
src/core/hle/service/filesystem/filesystem.cpp

@ -674,6 +674,15 @@ FileSys::VirtualDir FileSystemController::GetModificationDumpRoot(u64 title_id)
return bis_factory->GetModificationDumpRoot(title_id);
}
FileSys::VirtualDir GetBCATDirectory(u64 title_id) {
LOG_TRACE(Service_FS, "Opening BCAT root for tid={:016X}", title_id);
if (bis_factory == nullptr)
return nullptr;
return bis_factory->GetBCATDirectory(title_id);
}
void FileSystemController::CreateFactories(FileSys::VfsFilesystem& vfs, bool overwrite) {
if (overwrite) {
bis_factory = nullptr;

Loading…
Cancel
Save