diff options
| author | 2019-04-23 14:38:18 -0400 | |
|---|---|---|
| committer | 2019-09-21 16:50:39 -0400 | |
| commit | a49169e81906d230fd6bfc7546acc6f763f4c321 (patch) | |
| tree | eceaf472b9e52755b333f0945d14c4bddc1b741c /src/core | |
| parent | yuzu: Add UI to manage filesystem paths and sizes (diff) | |
| download | yuzu-a49169e81906d230fd6bfc7546acc6f763f4c321.tar.gz yuzu-a49169e81906d230fd6bfc7546acc6f763f4c321.tar.xz yuzu-a49169e81906d230fd6bfc7546acc6f763f4c321.zip | |
filesystem: Add const qualification to various accessors
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/file_sys/romfs_factory.cpp | 5 | ||||
| -rw-r--r-- | src/core/file_sys/romfs_factory.h | 4 | ||||
| -rw-r--r-- | src/core/file_sys/savedata_factory.cpp | 7 | ||||
| -rw-r--r-- | src/core/file_sys/savedata_factory.h | 7 | ||||
| -rw-r--r-- | src/core/file_sys/sdmc_factory.cpp | 2 | ||||
| -rw-r--r-- | src/core/file_sys/sdmc_factory.h | 2 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.cpp | 68 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/filesystem.h | 68 | ||||
| -rw-r--r-- | src/core/hle/service/filesystem/fsp_srv.cpp | 8 |
9 files changed, 91 insertions, 80 deletions
diff --git a/src/core/file_sys/romfs_factory.cpp b/src/core/file_sys/romfs_factory.cpp index c3ee4a158..84cd4684c 100644 --- a/src/core/file_sys/romfs_factory.cpp +++ b/src/core/file_sys/romfs_factory.cpp | |||
| @@ -35,7 +35,7 @@ void RomFSFactory::SetPackedUpdate(VirtualFile update_raw) { | |||
| 35 | this->update_raw = std::move(update_raw); | 35 | this->update_raw = std::move(update_raw); |
| 36 | } | 36 | } |
| 37 | 37 | ||
| 38 | ResultVal<VirtualFile> RomFSFactory::OpenCurrentProcess() { | 38 | ResultVal<VirtualFile> RomFSFactory::OpenCurrentProcess() const { |
| 39 | if (!updatable) | 39 | if (!updatable) |
| 40 | return MakeResult<VirtualFile>(file); | 40 | return MakeResult<VirtualFile>(file); |
| 41 | 41 | ||
| @@ -44,7 +44,8 @@ ResultVal<VirtualFile> RomFSFactory::OpenCurrentProcess() { | |||
| 44 | patch_manager.PatchRomFS(file, ivfc_offset, ContentRecordType::Program, update_raw)); | 44 | patch_manager.PatchRomFS(file, ivfc_offset, ContentRecordType::Program, update_raw)); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | ResultVal<VirtualFile> RomFSFactory::Open(u64 title_id, StorageId storage, ContentRecordType type) { | 47 | ResultVal<VirtualFile> RomFSFactory::Open(u64 title_id, StorageId storage, |
| 48 | ContentRecordType type) const { | ||
| 48 | std::shared_ptr<NCA> res; | 49 | std::shared_ptr<NCA> res; |
| 49 | 50 | ||
| 50 | switch (storage) { | 51 | switch (storage) { |
diff --git a/src/core/file_sys/romfs_factory.h b/src/core/file_sys/romfs_factory.h index 7724c0b23..da63a313a 100644 --- a/src/core/file_sys/romfs_factory.h +++ b/src/core/file_sys/romfs_factory.h | |||
| @@ -33,8 +33,8 @@ public: | |||
| 33 | ~RomFSFactory(); | 33 | ~RomFSFactory(); |
| 34 | 34 | ||
| 35 | void SetPackedUpdate(VirtualFile update_raw); | 35 | void SetPackedUpdate(VirtualFile update_raw); |
| 36 | ResultVal<VirtualFile> OpenCurrentProcess(); | 36 | ResultVal<VirtualFile> OpenCurrentProcess() const; |
| 37 | ResultVal<VirtualFile> Open(u64 title_id, StorageId storage, ContentRecordType type); | 37 | ResultVal<VirtualFile> Open(u64 title_id, StorageId storage, ContentRecordType type) const; |
| 38 | 38 | ||
| 39 | private: | 39 | private: |
| 40 | VirtualFile file; | 40 | VirtualFile file; |
diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp index c63815332..f77cc02ac 100644 --- a/src/core/file_sys/savedata_factory.cpp +++ b/src/core/file_sys/savedata_factory.cpp | |||
| @@ -71,7 +71,7 @@ SaveDataFactory::SaveDataFactory(VirtualDir save_directory) : dir(std::move(save | |||
| 71 | SaveDataFactory::~SaveDataFactory() = default; | 71 | SaveDataFactory::~SaveDataFactory() = default; |
| 72 | 72 | ||
| 73 | ResultVal<VirtualDir> SaveDataFactory::Create(SaveDataSpaceId space, | 73 | ResultVal<VirtualDir> SaveDataFactory::Create(SaveDataSpaceId space, |
| 74 | const SaveDataDescriptor& meta) { | 74 | const SaveDataDescriptor& meta) const { |
| 75 | PrintSaveDataDescriptorWarnings(meta); | 75 | PrintSaveDataDescriptorWarnings(meta); |
| 76 | 76 | ||
| 77 | const auto save_directory = | 77 | const auto save_directory = |
| @@ -88,7 +88,8 @@ ResultVal<VirtualDir> SaveDataFactory::Create(SaveDataSpaceId space, | |||
| 88 | return MakeResult<VirtualDir>(std::move(out)); | 88 | return MakeResult<VirtualDir>(std::move(out)); |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | ResultVal<VirtualDir> SaveDataFactory::Open(SaveDataSpaceId space, const SaveDataDescriptor& meta) { | 91 | ResultVal<VirtualDir> SaveDataFactory::Open(SaveDataSpaceId space, |
| 92 | const SaveDataDescriptor& meta) const { | ||
| 92 | 93 | ||
| 93 | const auto save_directory = | 94 | const auto save_directory = |
| 94 | GetFullPath(space, meta.type, meta.title_id, meta.user_id, meta.save_id); | 95 | GetFullPath(space, meta.type, meta.title_id, meta.user_id, meta.save_id); |
| @@ -165,7 +166,7 @@ SaveDataSize SaveDataFactory::ReadSaveDataSize(SaveDataType type, u64 title_id, | |||
| 165 | } | 166 | } |
| 166 | 167 | ||
| 167 | void SaveDataFactory::WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id, | 168 | void SaveDataFactory::WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id, |
| 168 | SaveDataSize new_value) { | 169 | SaveDataSize new_value) const { |
| 169 | const auto path = GetFullPath(SaveDataSpaceId::NandUser, type, title_id, user_id, 0); | 170 | const auto path = GetFullPath(SaveDataSpaceId::NandUser, type, title_id, user_id, 0); |
| 170 | const auto dir = GetOrCreateDirectoryRelative(this->dir, path); | 171 | const auto dir = GetOrCreateDirectoryRelative(this->dir, path); |
| 171 | 172 | ||
diff --git a/src/core/file_sys/savedata_factory.h b/src/core/file_sys/savedata_factory.h index 738038ee0..991e57aa1 100644 --- a/src/core/file_sys/savedata_factory.h +++ b/src/core/file_sys/savedata_factory.h | |||
| @@ -64,8 +64,8 @@ public: | |||
| 64 | explicit SaveDataFactory(VirtualDir dir); | 64 | explicit SaveDataFactory(VirtualDir dir); |
| 65 | ~SaveDataFactory(); | 65 | ~SaveDataFactory(); |
| 66 | 66 | ||
| 67 | ResultVal<VirtualDir> Create(SaveDataSpaceId space, const SaveDataDescriptor& meta); | 67 | ResultVal<VirtualDir> Create(SaveDataSpaceId space, const SaveDataDescriptor& meta) const; |
| 68 | ResultVal<VirtualDir> Open(SaveDataSpaceId space, const SaveDataDescriptor& meta); | 68 | ResultVal<VirtualDir> Open(SaveDataSpaceId space, const SaveDataDescriptor& meta) const; |
| 69 | 69 | ||
| 70 | VirtualDir GetSaveDataSpaceDirectory(SaveDataSpaceId space) const; | 70 | VirtualDir GetSaveDataSpaceDirectory(SaveDataSpaceId space) const; |
| 71 | 71 | ||
| @@ -74,7 +74,8 @@ public: | |||
| 74 | u128 user_id, u64 save_id); | 74 | u128 user_id, u64 save_id); |
| 75 | 75 | ||
| 76 | SaveDataSize ReadSaveDataSize(SaveDataType type, u64 title_id, u128 user_id) const; | 76 | SaveDataSize ReadSaveDataSize(SaveDataType type, u64 title_id, u128 user_id) const; |
| 77 | void WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id, SaveDataSize new_value); | 77 | void WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id, |
| 78 | SaveDataSize new_value) const; | ||
| 78 | 79 | ||
| 79 | private: | 80 | private: |
| 80 | VirtualDir dir; | 81 | VirtualDir dir; |
diff --git a/src/core/file_sys/sdmc_factory.cpp b/src/core/file_sys/sdmc_factory.cpp index 743e2e63a..5113a1ca6 100644 --- a/src/core/file_sys/sdmc_factory.cpp +++ b/src/core/file_sys/sdmc_factory.cpp | |||
| @@ -21,7 +21,7 @@ SDMCFactory::SDMCFactory(VirtualDir dir_) | |||
| 21 | 21 | ||
| 22 | SDMCFactory::~SDMCFactory() = default; | 22 | SDMCFactory::~SDMCFactory() = default; |
| 23 | 23 | ||
| 24 | ResultVal<VirtualDir> SDMCFactory::Open() { | 24 | ResultVal<VirtualDir> SDMCFactory::Open() const { |
| 25 | return MakeResult<VirtualDir>(dir); | 25 | return MakeResult<VirtualDir>(dir); |
| 26 | } | 26 | } |
| 27 | 27 | ||
diff --git a/src/core/file_sys/sdmc_factory.h b/src/core/file_sys/sdmc_factory.h index 164fd9435..42dc4e08a 100644 --- a/src/core/file_sys/sdmc_factory.h +++ b/src/core/file_sys/sdmc_factory.h | |||
| @@ -19,7 +19,7 @@ public: | |||
| 19 | explicit SDMCFactory(VirtualDir dir); | 19 | explicit SDMCFactory(VirtualDir dir); |
| 20 | ~SDMCFactory(); | 20 | ~SDMCFactory(); |
| 21 | 21 | ||
| 22 | ResultVal<VirtualDir> Open(); | 22 | ResultVal<VirtualDir> Open() const; |
| 23 | 23 | ||
| 24 | VirtualDir GetSDMCContentDirectory() const; | 24 | VirtualDir GetSDMCContentDirectory() const; |
| 25 | 25 | ||
diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index 76a860c6d..31d5fd79b 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp | |||
| @@ -241,6 +241,10 @@ ResultVal<FileSys::EntryType> VfsDirectoryServiceWrapper::GetEntryType( | |||
| 241 | return FileSys::ERROR_PATH_NOT_FOUND; | 241 | return FileSys::ERROR_PATH_NOT_FOUND; |
| 242 | } | 242 | } |
| 243 | 243 | ||
| 244 | FileSystemController::FileSystemController() = default; | ||
| 245 | |||
| 246 | FileSystemController::~FileSystemController() = default; | ||
| 247 | |||
| 244 | ResultCode FileSystemController::RegisterRomFS(std::unique_ptr<FileSys::RomFSFactory>&& factory) { | 248 | ResultCode FileSystemController::RegisterRomFS(std::unique_ptr<FileSys::RomFSFactory>&& factory) { |
| 245 | romfs_factory = std::move(factory); | 249 | romfs_factory = std::move(factory); |
| 246 | LOG_DEBUG(Service_FS, "Registered RomFS"); | 250 | LOG_DEBUG(Service_FS, "Registered RomFS"); |
| @@ -278,7 +282,7 @@ void FileSystemController::SetPackedUpdate(FileSys::VirtualFile update_raw) { | |||
| 278 | romfs_factory->SetPackedUpdate(std::move(update_raw)); | 282 | romfs_factory->SetPackedUpdate(std::move(update_raw)); |
| 279 | } | 283 | } |
| 280 | 284 | ||
| 281 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFSCurrentProcess() { | 285 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFSCurrentProcess() const { |
| 282 | LOG_TRACE(Service_FS, "Opening RomFS for current process"); | 286 | LOG_TRACE(Service_FS, "Opening RomFS for current process"); |
| 283 | 287 | ||
| 284 | if (romfs_factory == nullptr) { | 288 | if (romfs_factory == nullptr) { |
| @@ -289,9 +293,8 @@ ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFSCurrentProcess() | |||
| 289 | return romfs_factory->OpenCurrentProcess(); | 293 | return romfs_factory->OpenCurrentProcess(); |
| 290 | } | 294 | } |
| 291 | 295 | ||
| 292 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFS(u64 title_id, | 296 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFS( |
| 293 | FileSys::StorageId storage_id, | 297 | u64 title_id, FileSys::StorageId storage_id, FileSys::ContentRecordType type) const { |
| 294 | FileSys::ContentRecordType type) { | ||
| 295 | LOG_TRACE(Service_FS, "Opening RomFS for title_id={:016X}, storage_id={:02X}, type={:02X}", | 298 | LOG_TRACE(Service_FS, "Opening RomFS for title_id={:016X}, storage_id={:02X}, type={:02X}", |
| 296 | title_id, static_cast<u8>(storage_id), static_cast<u8>(type)); | 299 | title_id, static_cast<u8>(storage_id), static_cast<u8>(type)); |
| 297 | 300 | ||
| @@ -304,7 +307,7 @@ ResultVal<FileSys::VirtualFile> FileSystemController::OpenRomFS(u64 title_id, | |||
| 304 | } | 307 | } |
| 305 | 308 | ||
| 306 | ResultVal<FileSys::VirtualDir> FileSystemController::CreateSaveData( | 309 | ResultVal<FileSys::VirtualDir> FileSystemController::CreateSaveData( |
| 307 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& save_struct) { | 310 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& save_struct) const { |
| 308 | LOG_TRACE(Service_FS, "Creating Save Data for space_id={:01X}, save_struct={}", | 311 | LOG_TRACE(Service_FS, "Creating Save Data for space_id={:01X}, save_struct={}", |
| 309 | static_cast<u8>(space), save_struct.DebugInfo()); | 312 | static_cast<u8>(space), save_struct.DebugInfo()); |
| 310 | 313 | ||
| @@ -316,7 +319,7 @@ ResultVal<FileSys::VirtualDir> FileSystemController::CreateSaveData( | |||
| 316 | } | 319 | } |
| 317 | 320 | ||
| 318 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveData( | 321 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveData( |
| 319 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& descriptor) { | 322 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& descriptor) const { |
| 320 | LOG_TRACE(Service_FS, "Opening Save Data for space_id={:01X}, save_struct={}", | 323 | LOG_TRACE(Service_FS, "Opening Save Data for space_id={:01X}, save_struct={}", |
| 321 | static_cast<u8>(space), descriptor.DebugInfo()); | 324 | static_cast<u8>(space), descriptor.DebugInfo()); |
| 322 | 325 | ||
| @@ -328,7 +331,7 @@ ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveData( | |||
| 328 | } | 331 | } |
| 329 | 332 | ||
| 330 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveDataSpace( | 333 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveDataSpace( |
| 331 | FileSys::SaveDataSpaceId space) { | 334 | FileSys::SaveDataSpaceId space) const { |
| 332 | LOG_TRACE(Service_FS, "Opening Save Data Space for space_id={:01X}", static_cast<u8>(space)); | 335 | LOG_TRACE(Service_FS, "Opening Save Data Space for space_id={:01X}", static_cast<u8>(space)); |
| 333 | 336 | ||
| 334 | if (save_data_factory == nullptr) { | 337 | if (save_data_factory == nullptr) { |
| @@ -338,7 +341,7 @@ ResultVal<FileSys::VirtualDir> FileSystemController::OpenSaveDataSpace( | |||
| 338 | return MakeResult(save_data_factory->GetSaveDataSpaceDirectory(space)); | 341 | return MakeResult(save_data_factory->GetSaveDataSpaceDirectory(space)); |
| 339 | } | 342 | } |
| 340 | 343 | ||
| 341 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSDMC() { | 344 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenSDMC() const { |
| 342 | LOG_TRACE(Service_FS, "Opening SDMC"); | 345 | LOG_TRACE(Service_FS, "Opening SDMC"); |
| 343 | 346 | ||
| 344 | if (sdmc_factory == nullptr) { | 347 | if (sdmc_factory == nullptr) { |
| @@ -348,7 +351,8 @@ ResultVal<FileSys::VirtualDir> FileSystemController::OpenSDMC() { | |||
| 348 | return sdmc_factory->Open(); | 351 | return sdmc_factory->Open(); |
| 349 | } | 352 | } |
| 350 | 353 | ||
| 351 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenBISPartition(FileSys::BisPartitionId id) { | 354 | ResultVal<FileSys::VirtualDir> FileSystemController::OpenBISPartition( |
| 355 | FileSys::BisPartitionId id) const { | ||
| 352 | LOG_TRACE(Service_FS, "Opening BIS Partition with id={:08X}", static_cast<u32>(id)); | 356 | LOG_TRACE(Service_FS, "Opening BIS Partition with id={:08X}", static_cast<u32>(id)); |
| 353 | 357 | ||
| 354 | if (bis_factory == nullptr) { | 358 | if (bis_factory == nullptr) { |
| @@ -364,7 +368,7 @@ ResultVal<FileSys::VirtualDir> FileSystemController::OpenBISPartition(FileSys::B | |||
| 364 | } | 368 | } |
| 365 | 369 | ||
| 366 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenBISPartitionStorage( | 370 | ResultVal<FileSys::VirtualFile> FileSystemController::OpenBISPartitionStorage( |
| 367 | FileSys::BisPartitionId id) { | 371 | FileSys::BisPartitionId id) const { |
| 368 | LOG_TRACE(Service_FS, "Opening BIS Partition Storage with id={:08X}", static_cast<u32>(id)); | 372 | LOG_TRACE(Service_FS, "Opening BIS Partition Storage with id={:08X}", static_cast<u32>(id)); |
| 369 | 373 | ||
| 370 | if (bis_factory == nullptr) { | 374 | if (bis_factory == nullptr) { |
| @@ -432,7 +436,7 @@ u64 FileSystemController::GetTotalSpaceSize(FileSys::StorageId id) const { | |||
| 432 | } | 436 | } |
| 433 | 437 | ||
| 434 | FileSys::SaveDataSize FileSystemController::ReadSaveDataSize(FileSys::SaveDataType type, | 438 | FileSys::SaveDataSize FileSystemController::ReadSaveDataSize(FileSys::SaveDataType type, |
| 435 | u64 title_id, u128 user_id) { | 439 | u64 title_id, u128 user_id) const { |
| 436 | if (save_data_factory == nullptr) { | 440 | if (save_data_factory == nullptr) { |
| 437 | return {0, 0}; | 441 | return {0, 0}; |
| 438 | } | 442 | } |
| @@ -465,7 +469,7 @@ FileSys::SaveDataSize FileSystemController::ReadSaveDataSize(FileSys::SaveDataTy | |||
| 465 | } | 469 | } |
| 466 | 470 | ||
| 467 | void FileSystemController::WriteSaveDataSize(FileSys::SaveDataType type, u64 title_id, u128 user_id, | 471 | void FileSystemController::WriteSaveDataSize(FileSys::SaveDataType type, u64 title_id, u128 user_id, |
| 468 | FileSys::SaveDataSize new_value) { | 472 | FileSys::SaveDataSize new_value) const { |
| 469 | if (save_data_factory != nullptr) | 473 | if (save_data_factory != nullptr) |
| 470 | save_data_factory->WriteSaveDataSize(type, title_id, user_id, new_value); | 474 | save_data_factory->WriteSaveDataSize(type, title_id, user_id, new_value); |
| 471 | } | 475 | } |
| @@ -477,19 +481,19 @@ void FileSystemController::SetGameCard(FileSys::VirtualFile file) { | |||
| 477 | gamecard_placeholder = std::make_unique<FileSys::PlaceholderCache>(dir); | 481 | gamecard_placeholder = std::make_unique<FileSys::PlaceholderCache>(dir); |
| 478 | } | 482 | } |
| 479 | 483 | ||
| 480 | FileSys::XCI* FileSystemController::GetGameCard() { | 484 | FileSys::XCI* FileSystemController::GetGameCard() const { |
| 481 | return gamecard.get(); | 485 | return gamecard.get(); |
| 482 | } | 486 | } |
| 483 | 487 | ||
| 484 | FileSys::RegisteredCache* FileSystemController::GetGameCardContents() { | 488 | FileSys::RegisteredCache* FileSystemController::GetGameCardContents() const { |
| 485 | return gamecard_registered.get(); | 489 | return gamecard_registered.get(); |
| 486 | } | 490 | } |
| 487 | 491 | ||
| 488 | FileSys::PlaceholderCache* FileSystemController::GetGameCardPlaceholder() { | 492 | FileSys::PlaceholderCache* FileSystemController::GetGameCardPlaceholder() const { |
| 489 | return gamecard_placeholder.get(); | 493 | return gamecard_placeholder.get(); |
| 490 | } | 494 | } |
| 491 | 495 | ||
| 492 | FileSys::RegisteredCache* FileSystemController::GetSystemNANDContents() { | 496 | FileSys::RegisteredCache* FileSystemController::GetSystemNANDContents() const { |
| 493 | LOG_TRACE(Service_FS, "Opening System NAND Contents"); | 497 | LOG_TRACE(Service_FS, "Opening System NAND Contents"); |
| 494 | 498 | ||
| 495 | if (bis_factory == nullptr) | 499 | if (bis_factory == nullptr) |
| @@ -498,7 +502,7 @@ FileSys::RegisteredCache* FileSystemController::GetSystemNANDContents() { | |||
| 498 | return bis_factory->GetSystemNANDContents(); | 502 | return bis_factory->GetSystemNANDContents(); |
| 499 | } | 503 | } |
| 500 | 504 | ||
| 501 | FileSys::RegisteredCache* FileSystemController::GetUserNANDContents() { | 505 | FileSys::RegisteredCache* FileSystemController::GetUserNANDContents() const { |
| 502 | LOG_TRACE(Service_FS, "Opening User NAND Contents"); | 506 | LOG_TRACE(Service_FS, "Opening User NAND Contents"); |
| 503 | 507 | ||
| 504 | if (bis_factory == nullptr) | 508 | if (bis_factory == nullptr) |
| @@ -507,7 +511,7 @@ FileSys::RegisteredCache* FileSystemController::GetUserNANDContents() { | |||
| 507 | return bis_factory->GetUserNANDContents(); | 511 | return bis_factory->GetUserNANDContents(); |
| 508 | } | 512 | } |
| 509 | 513 | ||
| 510 | FileSys::RegisteredCache* FileSystemController::GetSDMCContents() { | 514 | FileSys::RegisteredCache* FileSystemController::GetSDMCContents() const { |
| 511 | LOG_TRACE(Service_FS, "Opening SDMC Contents"); | 515 | LOG_TRACE(Service_FS, "Opening SDMC Contents"); |
| 512 | 516 | ||
| 513 | if (sdmc_factory == nullptr) | 517 | if (sdmc_factory == nullptr) |
| @@ -516,7 +520,7 @@ FileSys::RegisteredCache* FileSystemController::GetSDMCContents() { | |||
| 516 | return sdmc_factory->GetSDMCContents(); | 520 | return sdmc_factory->GetSDMCContents(); |
| 517 | } | 521 | } |
| 518 | 522 | ||
| 519 | FileSys::PlaceholderCache* FileSystemController::GetSystemNANDPlaceholder() { | 523 | FileSys::PlaceholderCache* FileSystemController::GetSystemNANDPlaceholder() const { |
| 520 | LOG_TRACE(Service_FS, "Opening System NAND Placeholder"); | 524 | LOG_TRACE(Service_FS, "Opening System NAND Placeholder"); |
| 521 | 525 | ||
| 522 | if (bis_factory == nullptr) | 526 | if (bis_factory == nullptr) |
| @@ -525,7 +529,7 @@ FileSys::PlaceholderCache* FileSystemController::GetSystemNANDPlaceholder() { | |||
| 525 | return bis_factory->GetSystemNANDPlaceholder(); | 529 | return bis_factory->GetSystemNANDPlaceholder(); |
| 526 | } | 530 | } |
| 527 | 531 | ||
| 528 | FileSys::PlaceholderCache* FileSystemController::GetUserNANDPlaceholder() { | 532 | FileSys::PlaceholderCache* FileSystemController::GetUserNANDPlaceholder() const { |
| 529 | LOG_TRACE(Service_FS, "Opening User NAND Placeholder"); | 533 | LOG_TRACE(Service_FS, "Opening User NAND Placeholder"); |
| 530 | 534 | ||
| 531 | if (bis_factory == nullptr) | 535 | if (bis_factory == nullptr) |
| @@ -534,7 +538,7 @@ FileSys::PlaceholderCache* FileSystemController::GetUserNANDPlaceholder() { | |||
| 534 | return bis_factory->GetUserNANDPlaceholder(); | 538 | return bis_factory->GetUserNANDPlaceholder(); |
| 535 | } | 539 | } |
| 536 | 540 | ||
| 537 | FileSys::PlaceholderCache* FileSystemController::GetSDMCPlaceholder() { | 541 | FileSys::PlaceholderCache* FileSystemController::GetSDMCPlaceholder() const { |
| 538 | LOG_TRACE(Service_FS, "Opening SDMC Placeholder"); | 542 | LOG_TRACE(Service_FS, "Opening SDMC Placeholder"); |
| 539 | 543 | ||
| 540 | if (sdmc_factory == nullptr) | 544 | if (sdmc_factory == nullptr) |
| @@ -544,7 +548,7 @@ FileSys::PlaceholderCache* FileSystemController::GetSDMCPlaceholder() { | |||
| 544 | } | 548 | } |
| 545 | 549 | ||
| 546 | FileSys::RegisteredCache* FileSystemController::GetRegisteredCacheForStorage( | 550 | FileSys::RegisteredCache* FileSystemController::GetRegisteredCacheForStorage( |
| 547 | FileSys::StorageId id) { | 551 | FileSys::StorageId id) const { |
| 548 | switch (id) { | 552 | switch (id) { |
| 549 | case FileSys::StorageId::None: | 553 | case FileSys::StorageId::None: |
| 550 | case FileSys::StorageId::Host: | 554 | case FileSys::StorageId::Host: |
| @@ -564,7 +568,7 @@ FileSys::RegisteredCache* FileSystemController::GetRegisteredCacheForStorage( | |||
| 564 | } | 568 | } |
| 565 | 569 | ||
| 566 | FileSys::PlaceholderCache* FileSystemController::GetPlaceholderCacheForStorage( | 570 | FileSys::PlaceholderCache* FileSystemController::GetPlaceholderCacheForStorage( |
| 567 | FileSys::StorageId id) { | 571 | FileSys::StorageId id) const { |
| 568 | switch (id) { | 572 | switch (id) { |
| 569 | case FileSys::StorageId::None: | 573 | case FileSys::StorageId::None: |
| 570 | case FileSys::StorageId::Host: | 574 | case FileSys::StorageId::Host: |
| @@ -583,7 +587,7 @@ FileSys::PlaceholderCache* FileSystemController::GetPlaceholderCacheForStorage( | |||
| 583 | return nullptr; | 587 | return nullptr; |
| 584 | } | 588 | } |
| 585 | 589 | ||
| 586 | FileSys::VirtualDir FileSystemController::GetSystemNANDContentDirectory() { | 590 | FileSys::VirtualDir FileSystemController::GetSystemNANDContentDirectory() const { |
| 587 | LOG_TRACE(Service_FS, "Opening system NAND content directory"); | 591 | LOG_TRACE(Service_FS, "Opening system NAND content directory"); |
| 588 | 592 | ||
| 589 | if (bis_factory == nullptr) | 593 | if (bis_factory == nullptr) |
| @@ -592,7 +596,7 @@ FileSys::VirtualDir FileSystemController::GetSystemNANDContentDirectory() { | |||
| 592 | return bis_factory->GetSystemNANDContentDirectory(); | 596 | return bis_factory->GetSystemNANDContentDirectory(); |
| 593 | } | 597 | } |
| 594 | 598 | ||
| 595 | FileSys::VirtualDir FileSystemController::GetUserNANDContentDirectory() { | 599 | FileSys::VirtualDir FileSystemController::GetUserNANDContentDirectory() const { |
| 596 | LOG_TRACE(Service_FS, "Opening user NAND content directory"); | 600 | LOG_TRACE(Service_FS, "Opening user NAND content directory"); |
| 597 | 601 | ||
| 598 | if (bis_factory == nullptr) | 602 | if (bis_factory == nullptr) |
| @@ -601,7 +605,7 @@ FileSys::VirtualDir FileSystemController::GetUserNANDContentDirectory() { | |||
| 601 | return bis_factory->GetUserNANDContentDirectory(); | 605 | return bis_factory->GetUserNANDContentDirectory(); |
| 602 | } | 606 | } |
| 603 | 607 | ||
| 604 | FileSys::VirtualDir FileSystemController::GetSDMCContentDirectory() { | 608 | FileSys::VirtualDir FileSystemController::GetSDMCContentDirectory() const { |
| 605 | LOG_TRACE(Service_FS, "Opening SDMC content directory"); | 609 | LOG_TRACE(Service_FS, "Opening SDMC content directory"); |
| 606 | 610 | ||
| 607 | if (sdmc_factory == nullptr) | 611 | if (sdmc_factory == nullptr) |
| @@ -610,7 +614,7 @@ FileSys::VirtualDir FileSystemController::GetSDMCContentDirectory() { | |||
| 610 | return sdmc_factory->GetSDMCContentDirectory(); | 614 | return sdmc_factory->GetSDMCContentDirectory(); |
| 611 | } | 615 | } |
| 612 | 616 | ||
| 613 | FileSys::VirtualDir FileSystemController::GetNANDImageDirectory() { | 617 | FileSys::VirtualDir FileSystemController::GetNANDImageDirectory() const { |
| 614 | LOG_TRACE(Service_FS, "Opening NAND image directory"); | 618 | LOG_TRACE(Service_FS, "Opening NAND image directory"); |
| 615 | 619 | ||
| 616 | if (bis_factory == nullptr) | 620 | if (bis_factory == nullptr) |
| @@ -619,7 +623,7 @@ FileSys::VirtualDir FileSystemController::GetNANDImageDirectory() { | |||
| 619 | return bis_factory->GetImageDirectory(); | 623 | return bis_factory->GetImageDirectory(); |
| 620 | } | 624 | } |
| 621 | 625 | ||
| 622 | FileSys::VirtualDir FileSystemController::GetSDMCImageDirectory() { | 626 | FileSys::VirtualDir FileSystemController::GetSDMCImageDirectory() const { |
| 623 | LOG_TRACE(Service_FS, "Opening SDMC image directory"); | 627 | LOG_TRACE(Service_FS, "Opening SDMC image directory"); |
| 624 | 628 | ||
| 625 | if (sdmc_factory == nullptr) | 629 | if (sdmc_factory == nullptr) |
| @@ -628,7 +632,7 @@ FileSys::VirtualDir FileSystemController::GetSDMCImageDirectory() { | |||
| 628 | return sdmc_factory->GetImageDirectory(); | 632 | return sdmc_factory->GetImageDirectory(); |
| 629 | } | 633 | } |
| 630 | 634 | ||
| 631 | FileSys::VirtualDir FileSystemController::GetContentDirectory(ContentStorageId id) { | 635 | FileSys::VirtualDir FileSystemController::GetContentDirectory(ContentStorageId id) const { |
| 632 | switch (id) { | 636 | switch (id) { |
| 633 | case ContentStorageId::System: | 637 | case ContentStorageId::System: |
| 634 | return GetSystemNANDContentDirectory(); | 638 | return GetSystemNANDContentDirectory(); |
| @@ -641,7 +645,7 @@ FileSys::VirtualDir FileSystemController::GetContentDirectory(ContentStorageId i | |||
| 641 | return nullptr; | 645 | return nullptr; |
| 642 | } | 646 | } |
| 643 | 647 | ||
| 644 | FileSys::VirtualDir FileSystemController::GetImageDirectory(ImageDirectoryId id) { | 648 | FileSys::VirtualDir FileSystemController::GetImageDirectory(ImageDirectoryId id) const { |
| 645 | switch (id) { | 649 | switch (id) { |
| 646 | case ImageDirectoryId::NAND: | 650 | case ImageDirectoryId::NAND: |
| 647 | return GetNANDImageDirectory(); | 651 | return GetNANDImageDirectory(); |
| @@ -652,7 +656,7 @@ FileSys::VirtualDir FileSystemController::GetImageDirectory(ImageDirectoryId id) | |||
| 652 | return nullptr; | 656 | return nullptr; |
| 653 | } | 657 | } |
| 654 | 658 | ||
| 655 | FileSys::VirtualDir FileSystemController::GetModificationLoadRoot(u64 title_id) { | 659 | FileSys::VirtualDir FileSystemController::GetModificationLoadRoot(u64 title_id) const { |
| 656 | LOG_TRACE(Service_FS, "Opening mod load root for tid={:016X}", title_id); | 660 | LOG_TRACE(Service_FS, "Opening mod load root for tid={:016X}", title_id); |
| 657 | 661 | ||
| 658 | if (bis_factory == nullptr) | 662 | if (bis_factory == nullptr) |
| @@ -661,7 +665,7 @@ FileSys::VirtualDir FileSystemController::GetModificationLoadRoot(u64 title_id) | |||
| 661 | return bis_factory->GetModificationLoadRoot(title_id); | 665 | return bis_factory->GetModificationLoadRoot(title_id); |
| 662 | } | 666 | } |
| 663 | 667 | ||
| 664 | FileSys::VirtualDir FileSystemController::GetModificationDumpRoot(u64 title_id) { | 668 | FileSys::VirtualDir FileSystemController::GetModificationDumpRoot(u64 title_id) const { |
| 665 | LOG_TRACE(Service_FS, "Opening mod dump root for tid={:016X}", title_id); | 669 | LOG_TRACE(Service_FS, "Opening mod dump root for tid={:016X}", title_id); |
| 666 | 670 | ||
| 667 | if (bis_factory == nullptr) | 671 | if (bis_factory == nullptr) |
diff --git a/src/core/hle/service/filesystem/filesystem.h b/src/core/hle/service/filesystem/filesystem.h index 2eb3a641d..4d7da3b6f 100644 --- a/src/core/hle/service/filesystem/filesystem.h +++ b/src/core/hle/service/filesystem/filesystem.h | |||
| @@ -52,59 +52,63 @@ enum class ImageDirectoryId : u32 { | |||
| 52 | 52 | ||
| 53 | class FileSystemController { | 53 | class FileSystemController { |
| 54 | public: | 54 | public: |
| 55 | FileSystemController(); | ||
| 56 | ~FileSystemController(); | ||
| 57 | |||
| 55 | ResultCode RegisterRomFS(std::unique_ptr<FileSys::RomFSFactory>&& factory); | 58 | ResultCode RegisterRomFS(std::unique_ptr<FileSys::RomFSFactory>&& factory); |
| 56 | ResultCode RegisterSaveData(std::unique_ptr<FileSys::SaveDataFactory>&& factory); | 59 | ResultCode RegisterSaveData(std::unique_ptr<FileSys::SaveDataFactory>&& factory); |
| 57 | ResultCode RegisterSDMC(std::unique_ptr<FileSys::SDMCFactory>&& factory); | 60 | ResultCode RegisterSDMC(std::unique_ptr<FileSys::SDMCFactory>&& factory); |
| 58 | ResultCode RegisterBIS(std::unique_ptr<FileSys::BISFactory>&& factory); | 61 | ResultCode RegisterBIS(std::unique_ptr<FileSys::BISFactory>&& factory); |
| 59 | 62 | ||
| 60 | void SetPackedUpdate(FileSys::VirtualFile update_raw); | 63 | void SetPackedUpdate(FileSys::VirtualFile update_raw); |
| 61 | ResultVal<FileSys::VirtualFile> OpenRomFSCurrentProcess(); | 64 | ResultVal<FileSys::VirtualFile> OpenRomFSCurrentProcess() const; |
| 62 | ResultVal<FileSys::VirtualFile> OpenRomFS(u64 title_id, FileSys::StorageId storage_id, | 65 | ResultVal<FileSys::VirtualFile> OpenRomFS(u64 title_id, FileSys::StorageId storage_id, |
| 63 | FileSys::ContentRecordType type); | 66 | FileSys::ContentRecordType type) const; |
| 64 | ResultVal<FileSys::VirtualDir> CreateSaveData(FileSys::SaveDataSpaceId space, | 67 | ResultVal<FileSys::VirtualDir> CreateSaveData( |
| 65 | const FileSys::SaveDataDescriptor& save_struct); | 68 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& save_struct) const; |
| 66 | ResultVal<FileSys::VirtualDir> OpenSaveData(FileSys::SaveDataSpaceId space, | 69 | ResultVal<FileSys::VirtualDir> OpenSaveData( |
| 67 | const FileSys::SaveDataDescriptor& save_struct); | 70 | FileSys::SaveDataSpaceId space, const FileSys::SaveDataDescriptor& save_struct) const; |
| 68 | ResultVal<FileSys::VirtualDir> OpenSaveDataSpace(FileSys::SaveDataSpaceId space); | 71 | ResultVal<FileSys::VirtualDir> OpenSaveDataSpace(FileSys::SaveDataSpaceId space) const; |
| 69 | ResultVal<FileSys::VirtualDir> OpenSDMC(); | 72 | ResultVal<FileSys::VirtualDir> OpenSDMC() const; |
| 70 | ResultVal<FileSys::VirtualDir> OpenBISPartition(FileSys::BisPartitionId id); | 73 | ResultVal<FileSys::VirtualDir> OpenBISPartition(FileSys::BisPartitionId id) const; |
| 71 | ResultVal<FileSys::VirtualFile> OpenBISPartitionStorage(FileSys::BisPartitionId id); | 74 | ResultVal<FileSys::VirtualFile> OpenBISPartitionStorage(FileSys::BisPartitionId id) const; |
| 72 | 75 | ||
| 73 | u64 GetFreeSpaceSize(FileSys::StorageId id) const; | 76 | u64 GetFreeSpaceSize(FileSys::StorageId id) const; |
| 74 | u64 GetTotalSpaceSize(FileSys::StorageId id) const; | 77 | u64 GetTotalSpaceSize(FileSys::StorageId id) const; |
| 75 | 78 | ||
| 76 | FileSys::SaveDataSize ReadSaveDataSize(FileSys::SaveDataType type, u64 title_id, u128 user_id); | 79 | FileSys::SaveDataSize ReadSaveDataSize(FileSys::SaveDataType type, u64 title_id, |
| 80 | u128 user_id) const; | ||
| 77 | void WriteSaveDataSize(FileSys::SaveDataType type, u64 title_id, u128 user_id, | 81 | void WriteSaveDataSize(FileSys::SaveDataType type, u64 title_id, u128 user_id, |
| 78 | FileSys::SaveDataSize new_value); | 82 | FileSys::SaveDataSize new_value) const; |
| 79 | 83 | ||
| 80 | void SetGameCard(FileSys::VirtualFile file); | 84 | void SetGameCard(FileSys::VirtualFile file); |
| 81 | FileSys::XCI* GetGameCard(); | 85 | FileSys::XCI* GetGameCard() const; |
| 82 | 86 | ||
| 83 | FileSys::RegisteredCache* GetSystemNANDContents(); | 87 | FileSys::RegisteredCache* GetSystemNANDContents() const; |
| 84 | FileSys::RegisteredCache* GetUserNANDContents(); | 88 | FileSys::RegisteredCache* GetUserNANDContents() const; |
| 85 | FileSys::RegisteredCache* GetSDMCContents(); | 89 | FileSys::RegisteredCache* GetSDMCContents() const; |
| 86 | FileSys::RegisteredCache* GetGameCardContents(); | 90 | FileSys::RegisteredCache* GetGameCardContents() const; |
| 87 | 91 | ||
| 88 | FileSys::PlaceholderCache* GetSystemNANDPlaceholder(); | 92 | FileSys::PlaceholderCache* GetSystemNANDPlaceholder() const; |
| 89 | FileSys::PlaceholderCache* GetUserNANDPlaceholder(); | 93 | FileSys::PlaceholderCache* GetUserNANDPlaceholder() const; |
| 90 | FileSys::PlaceholderCache* GetSDMCPlaceholder(); | 94 | FileSys::PlaceholderCache* GetSDMCPlaceholder() const; |
| 91 | FileSys::PlaceholderCache* GetGameCardPlaceholder(); | 95 | FileSys::PlaceholderCache* GetGameCardPlaceholder() const; |
| 92 | 96 | ||
| 93 | FileSys::RegisteredCache* GetRegisteredCacheForStorage(FileSys::StorageId id); | 97 | FileSys::RegisteredCache* GetRegisteredCacheForStorage(FileSys::StorageId id) const; |
| 94 | FileSys::PlaceholderCache* GetPlaceholderCacheForStorage(FileSys::StorageId id); | 98 | FileSys::PlaceholderCache* GetPlaceholderCacheForStorage(FileSys::StorageId id) const; |
| 95 | 99 | ||
| 96 | FileSys::VirtualDir GetSystemNANDContentDirectory(); | 100 | FileSys::VirtualDir GetSystemNANDContentDirectory() const; |
| 97 | FileSys::VirtualDir GetUserNANDContentDirectory(); | 101 | FileSys::VirtualDir GetUserNANDContentDirectory() const; |
| 98 | FileSys::VirtualDir GetSDMCContentDirectory(); | 102 | FileSys::VirtualDir GetSDMCContentDirectory() const; |
| 99 | 103 | ||
| 100 | FileSys::VirtualDir GetNANDImageDirectory(); | 104 | FileSys::VirtualDir GetNANDImageDirectory() const; |
| 101 | FileSys::VirtualDir GetSDMCImageDirectory(); | 105 | FileSys::VirtualDir GetSDMCImageDirectory() const; |
| 102 | 106 | ||
| 103 | FileSys::VirtualDir GetContentDirectory(ContentStorageId id); | 107 | FileSys::VirtualDir GetContentDirectory(ContentStorageId id) const; |
| 104 | FileSys::VirtualDir GetImageDirectory(ImageDirectoryId id); | 108 | FileSys::VirtualDir GetImageDirectory(ImageDirectoryId id) const; |
| 105 | 109 | ||
| 106 | FileSys::VirtualDir GetModificationLoadRoot(u64 title_id); | 110 | FileSys::VirtualDir GetModificationLoadRoot(u64 title_id) const; |
| 107 | FileSys::VirtualDir GetModificationDumpRoot(u64 title_id); | 111 | FileSys::VirtualDir GetModificationDumpRoot(u64 title_id) const; |
| 108 | 112 | ||
| 109 | // Creates the SaveData, SDMC, and BIS Factories. Should be called once and before any function | 113 | // Creates the SaveData, SDMC, and BIS Factories. Should be called once and before any function |
| 110 | // above is called. | 114 | // above is called. |
diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 525fda19f..305d9e176 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp | |||
| @@ -32,8 +32,8 @@ | |||
| 32 | namespace Service::FileSystem { | 32 | namespace Service::FileSystem { |
| 33 | 33 | ||
| 34 | struct SizeGetter { | 34 | struct SizeGetter { |
| 35 | std::function<u64()> free; | 35 | std::function<u64()> get_free_size; |
| 36 | std::function<u64()> total; | 36 | std::function<u64()> get_total_size; |
| 37 | 37 | ||
| 38 | static SizeGetter FromStorageId(const FileSystemController& fsc, FileSys::StorageId id) { | 38 | static SizeGetter FromStorageId(const FileSystemController& fsc, FileSys::StorageId id) { |
| 39 | return { | 39 | return { |
| @@ -485,7 +485,7 @@ public: | |||
| 485 | 485 | ||
| 486 | IPC::ResponseBuilder rb{ctx, 4}; | 486 | IPC::ResponseBuilder rb{ctx, 4}; |
| 487 | rb.Push(RESULT_SUCCESS); | 487 | rb.Push(RESULT_SUCCESS); |
| 488 | rb.Push(size.free()); | 488 | rb.Push(size.get_free_size()); |
| 489 | } | 489 | } |
| 490 | 490 | ||
| 491 | void GetTotalSpaceSize(Kernel::HLERequestContext& ctx) { | 491 | void GetTotalSpaceSize(Kernel::HLERequestContext& ctx) { |
| @@ -493,7 +493,7 @@ public: | |||
| 493 | 493 | ||
| 494 | IPC::ResponseBuilder rb{ctx, 4}; | 494 | IPC::ResponseBuilder rb{ctx, 4}; |
| 495 | rb.Push(RESULT_SUCCESS); | 495 | rb.Push(RESULT_SUCCESS); |
| 496 | rb.Push(size.total()); | 496 | rb.Push(size.get_total_size()); |
| 497 | } | 497 | } |
| 498 | 498 | ||
| 499 | private: | 499 | private: |