diff options
| author | 2019-04-16 14:27:34 -0400 | |
|---|---|---|
| committer | 2019-09-21 16:43:10 -0400 | |
| commit | e47b57a90fb2123a2c4d98f4f990b61976c0ea1f (patch) | |
| tree | 248e411b62e6172107b9299130445957bccc82cc /src | |
| parent | filesystem: Add FileSystemController to deglobalize FS services (diff) | |
| download | yuzu-e47b57a90fb2123a2c4d98f4f990b61976c0ea1f.tar.gz yuzu-e47b57a90fb2123a2c4d98f4f990b61976c0ea1f.tar.xz yuzu-e47b57a90fb2123a2c4d98f4f990b61976c0ea1f.zip | |
bis_factory: Add getters for NAND partition sizes
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/file_sys/bis_factory.cpp | 32 | ||||
| -rw-r--r-- | src/core/file_sys/bis_factory.h | 6 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/core/file_sys/bis_factory.cpp b/src/core/file_sys/bis_factory.cpp index 6cd0a98eb..8f758d6d9 100644 --- a/src/core/file_sys/bis_factory.cpp +++ b/src/core/file_sys/bis_factory.cpp | |||
| @@ -3,8 +3,12 @@ | |||
| 3 | // Refer to the license.txt file included. | 3 | // Refer to the license.txt file included. |
| 4 | 4 | ||
| 5 | #include <fmt/format.h> | 5 | #include <fmt/format.h> |
| 6 | #include "common/file_util.h" | ||
| 7 | #include "core/core.h" | ||
| 6 | #include "core/file_sys/bis_factory.h" | 8 | #include "core/file_sys/bis_factory.h" |
| 9 | #include "core/file_sys/mode.h" | ||
| 7 | #include "core/file_sys/registered_cache.h" | 10 | #include "core/file_sys/registered_cache.h" |
| 11 | #include "core/settings.h" | ||
| 8 | 12 | ||
| 9 | namespace FileSys { | 13 | namespace FileSys { |
| 10 | 14 | ||
| @@ -104,4 +108,32 @@ VirtualDir BISFactory::GetImageDirectory() const { | |||
| 104 | return GetOrCreateDirectoryRelative(nand_root, "/user/Album"); | 108 | return GetOrCreateDirectoryRelative(nand_root, "/user/Album"); |
| 105 | } | 109 | } |
| 106 | 110 | ||
| 111 | u64 BISFactory::GetSystemNANDFreeSpace() const { | ||
| 112 | const auto sys_dir = GetOrCreateDirectoryRelative(nand_root, "/system"); | ||
| 113 | if (sys_dir == nullptr) | ||
| 114 | return 0; | ||
| 115 | |||
| 116 | return GetSystemNANDTotalSpace() - sys_dir->GetSize(); | ||
| 117 | } | ||
| 118 | |||
| 119 | u64 BISFactory::GetSystemNANDTotalSpace() const { | ||
| 120 | return static_cast<u64>(Settings::values.nand_system_size); | ||
| 121 | } | ||
| 122 | |||
| 123 | u64 BISFactory::GetUserNANDFreeSpace() const { | ||
| 124 | const auto usr_dir = GetOrCreateDirectoryRelative(nand_root, "/user"); | ||
| 125 | if (usr_dir == nullptr) | ||
| 126 | return 0; | ||
| 127 | |||
| 128 | return GetUserNANDTotalSpace() - usr_dir->GetSize(); | ||
| 129 | } | ||
| 130 | |||
| 131 | u64 BISFactory::GetUserNANDTotalSpace() const { | ||
| 132 | return static_cast<u64>(Settings::values.nand_user_size); | ||
| 133 | } | ||
| 134 | |||
| 135 | u64 BISFactory::GetFullNANDTotalSpace() const { | ||
| 136 | return static_cast<u64>(Settings::values.nand_total_size); | ||
| 137 | } | ||
| 138 | |||
| 107 | } // namespace FileSys | 139 | } // namespace FileSys |
diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h index 6229cd5a9..bdfe728c9 100644 --- a/src/core/file_sys/bis_factory.h +++ b/src/core/file_sys/bis_factory.h | |||
| @@ -55,6 +55,12 @@ public: | |||
| 55 | 55 | ||
| 56 | VirtualDir GetImageDirectory() const; | 56 | VirtualDir GetImageDirectory() const; |
| 57 | 57 | ||
| 58 | u64 GetSystemNANDFreeSpace() const; | ||
| 59 | u64 GetSystemNANDTotalSpace() const; | ||
| 60 | u64 GetUserNANDFreeSpace() const; | ||
| 61 | u64 GetUserNANDTotalSpace() const; | ||
| 62 | u64 GetFullNANDTotalSpace() const; | ||
| 63 | |||
| 58 | private: | 64 | private: |
| 59 | VirtualDir nand_root; | 65 | VirtualDir nand_root; |
| 60 | VirtualDir load_root; | 66 | VirtualDir load_root; |