summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/vfs.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-09-14vfs: Partially implement GetFileTimeStampRawMorph1-0/+4
Gets rid of homebrew warnings using this func
2021-06-13general: Remove extraneous includesMorph1-1/+0
2021-05-26common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph1-5/+3
* common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
2020-12-10vfs: Use existing type aliases consistentlyLioncash1-16/+16
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2020-09-22General: Make use of std::nullopt where applicableLioncash1-3/+4
Allows some implementations to avoid completely zeroing out the internal buffer of the optional, and instead only set the validity byte within the structure. This also makes it consistent how we return empty optionals.
2020-08-16common/fileutil: Convert namespace to Common::FSLioncash1-28/+28
Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
2018-12-01file_sys: Override missing mutating functions to be stubbed out for ReadOnlyVfsDirectory by defaultLioncash1-0/+20
Ensures that read only indeed means read only.
2018-12-01service/fsp_srv: Implement CleanDirectoryRecursivelyLioncash1-0/+26
This is the same behavior-wise as DeleteDirectoryRecursively, with the only difference being that it doesn't delete the top level directory in the hierarchy, so given: root_dir/ - some_dir/ - File.txt - OtherFile.txt The end result is just: root_dir/
2018-10-30global: Use std::optional instead of boost::optional (#1578)Frederic L1-2/+2
* get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
2018-10-24vfs: Handle failure of file reading within VfsRawCopy()Lioncash1-2/+6
Also gets rid of an unused variable.
2018-09-26vfs/etc: Append std:: to size_t usagesLioncash1-3/+3
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
2018-09-24fsmitm: Cleanup and modernize fsmitm portZach Hilman1-2/+2
2018-09-22vfs: Add and rewite VfsRawCopy functionsZach Hilman1-4/+32
2018-09-22vfs: Add GetEntries methodZach Hilman1-0/+9
Maps name string to directory or file.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-11/+11
2018-08-23vfs: Add GetOrCreateDirectoryRelative methodZach Hilman1-0/+7
2018-08-21vfs: Replace mode.h include with forward declarations where applicableLioncash1-0/+1
Avoids the need to rebuild these source files if the mode header changes.
2018-08-12vfs: Use sanitized paths within MoveFile() and MoveDirectory()Lioncash1-10/+10
Previously these were being unused (or partially unused). While we're at it, use better naming to make it visibly obvious which variant of the path is being used.
2018-08-09vfs: Add VfsFilesystem interface and default implementationZach Hilman1-0/+148
2018-08-01Make XCI comply to review and style guidelinesZach Hilman1-4/+3
2018-08-01Remove files that are not usedZach Hilman1-0/+21
2018-07-28RomFS ExtractionZach Hilman1-0/+23
2018-07-22file_util, vfs: Use std::string_view where applicableLioncash1-38/+73
Avoids unnecessary construction of std::string instances where applicable.
2018-07-21vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const referenceLioncash1-1/+1
Given the data is intended to be directly written, there's no need to take the std::vector by value and copy the data.
2018-07-19vfs: Deduplicate accumulation code in VfsDirectory's GetSize()Lioncash1-6/+6
We can just use a generic lambda to avoid writing the same thing twice.
2018-07-19Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman1-0/+238
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-08Revert "Virtual Filesystem (#597)"bunnei1-187/+0
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman1-0/+187
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename