summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/vfs.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2022-02-02general: Replace NonCopyable struct with equivalentsLioncash1-3/+15
2021-11-04core: Remove unused includesameerj1-1/+0
2021-09-14vfs: Partially implement GetFileTimeStampRawMorph1-0/+3
Gets rid of homebrew warnings using this func
2020-12-10vfs: Use existing type aliases consistentlyLioncash1-22/+22
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 Hilman1-2/+2
Allows these functions to compile when T is not u8.
2018-12-01file_sys: Override missing mutating functions to be stubbed out for ReadOnlyVfsDirectory by defaultLioncash1-0/+5
Ensures that read only indeed means read only.
2018-12-01service/fsp_srv: Implement CleanDirectoryRecursivelyLioncash1-4/+11
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-3/+5
* 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 Hilman1-28/+0
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 Hilman1-9/+1
2018-09-26vfs/etc: Append std:: to size_t usagesLioncash1-4/+5
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-1/+4
2018-09-22vfs: Add and rewite VfsRawCopy functionsZach Hilman1-2/+4
2018-09-22vfs: Add GetEntries methodZach Hilman1-0/+5
Maps name string to directory or file.
2018-09-15Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi1-16/+16
2018-08-23vfs: Add GetOrCreateDirectoryRelative methodZach Hilman1-0/+4
2018-08-21vfs: Replace mode.h include with forward declarations where applicableLioncash1-2/+3
Avoids the need to rebuild these source files if the mode header changes.
2018-08-12vfs: Make VfsFilesystem constructor explicitLioncash1-1/+1
Makes it consistent with the other VFS interfaces and prevents implicit construction.
2018-08-12vfs: Make type hierarchy objects classes instead of structsLioncash1-7/+11
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-09vfs: Fix documentationZach Hilman1-2/+2
2018-08-09vfs: Fix typo in VfsFilesystem docsZach Hilman1-1/+1
2018-08-09vfs: Add VfsFilesystem interface and default implementationZach Hilman1-3/+63
2018-08-01Remove files that are not usedZach Hilman1-0/+3
2018-07-28RomFS ExtractionZach Hilman1-0/+20
2018-07-22vfs: Correct file_p variable usage within InterpretAsDirectory()Lioncash1-2/+5
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 applicableLioncash1-25/+25
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-21vfs: Use variable template variants of std::is_trivially_copyableLioncash1-13/+6
Provides the same behavior, but with less writing
2018-07-21vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member functions to be const qualifiedLioncash1-3/+3
These functions don't modify the data being pointed to, so these can be pointers to const data
2018-07-19Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman1-0/+237
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-08Revert "Virtual Filesystem (#597)"bunnei1-220/+0
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman1-0/+220
* 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