aboutsummaryrefslogtreecommitdiff
path: root/src/core/file_sys/vfs.h
AgeCommit message (Collapse)Author
2023-10-02ci: fix new codespell errorsLiam
2023-03-12general: fix spelling mistakesLiam
2022-04-23general: Convert source file copyright comments over to SPDXMorph
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-02-02general: Replace NonCopyable struct with equivalentsLioncash
2021-11-03core: Remove unused includesameerj
2021-09-14vfs: Partially implement GetFileTimeStampRawMorph
Gets rid of homebrew warnings using this func
2020-12-10vfs: Use existing type aliases consistentlyLioncash
Makes use of the VirtualDir and VirtualFile aliases across the board instead of having a few isolated places that don't use it.
2018-12-27vfs: Add reinterpret_casts to WriteArray and ObjectZach Hilman
Allows these functions to compile when T is not u8.
2018-11-30file_sys: Override missing mutating functions to be stubbed out for ↵Lioncash
ReadOnlyVfsDirectory by default Ensures that read only indeed means read only.
2018-11-30service/fsp_srv: Implement CleanDirectoryRecursivelyLioncash
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 L
* 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-19vfs: Remove InterpretAsDirectory and related functionsZach Hilman
When writing VFS, it initally seemed useful to include a function to in-place convert container files into directories in one homogenous directory structure, but re-evaluating it now there have been plenty of chances to use it and there has always been a better way. Removing as it is unused and likely will not be used.
2018-10-07vfs: Move forward declarations to separate fileZach Hilman
2018-09-25vfs/etc: Append std:: to size_t usagesLioncash
Given we just recently had a patch backport this from citra, let's try and keep the convention uniform.
2018-09-23fsmitm: Cleanup and modernize fsmitm portZach Hilman
2018-09-21vfs: Add and rewite VfsRawCopy functionsZach Hilman
2018-09-21vfs: Add GetEntries methodZach Hilman
Maps name string to directory or file.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi
2018-08-23vfs: Add GetOrCreateDirectoryRelative methodZach Hilman
2018-08-21vfs: Replace mode.h include with forward declarations where applicableLioncash
Avoids the need to rebuild these source files if the mode header changes.
2018-08-12vfs: Make VfsFilesystem constructor explicitLioncash
Makes it consistent with the other VFS interfaces and prevents implicit construction.
2018-08-12vfs: Make type hierarchy objects classes instead of structsLioncash
struct should be used when the data type is very simple or otherwise has no invariants associated with it. Given these are used to form a hierarchy, class should be used instead.
2018-08-08vfs: Fix documentationZach Hilman
2018-08-08vfs: Fix typo in VfsFilesystem docsZach Hilman
2018-08-08vfs: Add VfsFilesystem interface and default implementationZach Hilman
2018-08-01Remove files that are not usedZach Hilman
2018-07-27RomFS ExtractionZach Hilman
2018-07-22vfs: Correct file_p variable usage within InterpretAsDirectory()Lioncash
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but it was being passed a string as one of its arguments. The only reason this never caused issues is because this template isn't instantiated anywhere yet. This corrects an issue before it occurs.
2018-07-22file_util, vfs: Use std::string_view where applicableLioncash
Avoids unnecessary construction of std::string instances where applicable.
2018-07-20vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by ↵Lioncash
const reference 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-20vfs: Use variable template variants of std::is_trivially_copyableLioncash
Provides the same behavior, but with less writing
2018-07-20vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member ↵Lioncash
functions to be const qualified These functions don't modify the data being pointed to, so these can be pointers to const data
2018-07-18Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-07Revert "Virtual Filesystem (#597)"bunnei
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman
* 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