223 virtual void Clear() = 0;
240 #endif // #ifndef INCLUDED_VFS
virtual Status GetRealPath(const VfsPath &pathname, OsPath &realPathname)=0
retrieve the real (POSIX) pathname underlying a VFS file.
const Status VFS_ALREADY_MOUNTED
virtual Status GetFilePriority(const VfsPath &pathname, size_t *ppriority) const =0
Retrieve mount priority for a file.
const Status VFS_DIR_NOT_FOUND
virtual Status RepopulateDirectory(const VfsPath &path)=0
request the directory be re-populated when it is next accessed.
virtual Status GetDirectoryRealPath(const VfsPath &pathname, OsPath &realPathname)=0
retrieve the real (POSIX) pathname underlying a VFS directory.
return ERR::VFS_DIR_NOT_FOUND if the given real path doesn't exist.
virtual Status GetFileInfo(const VfsPath &pathname, CFileInfo *pfileInfo) const =0
Retrieve information about a file (similar to POSIX stat).
PIVFS CreateVfs(size_t cacheSize)
create an instance of a Virtual File System.
virtual Status GetDirectoryEntries(const VfsPath &path, CFileInfos *fileInfos, DirectoryNames *subdirectoryNames) const =0
Retrieve lists of all files and subdirectories in a directory.
keep the files named "*.DELETED" visible in the VFS directories.
const Status VFS_FILE_NOT_FOUND
virtual Status LoadFile(const VfsPath &pathname, shared_ptr< u8 > &fileContents, size_t &size)=0
Read an entire file into memory.
virtual Status CreateFile(const VfsPath &pathname, const shared_ptr< u8 > &fileContents, size_t size)=0
Create a file with the given contents.
anything mounted from here should be included when building archives.
all real directories mounted during this operation will be watched for changes.
i64 Status
Error handling system.
virtual void Clear()=0
empty the contents of the filesystem.
virtual std::wstring TextRepresentation() const =0
std::vector< OsPath > DirectoryNames
virtual Status GetVirtualPath(const OsPath &realPathname, VfsPath &pathname)=0
retrieve the VFS pathname that corresponds to a real file.
virtual Status Mount(const VfsPath &mountPoint, const OsPath &path, size_t flags=0, size_t priority=0)=0
mount a directory into the VFS.
std::vector< CFileInfo > CFileInfos
virtual Status ReplaceFile(const VfsPath &pathname, const shared_ptr< u8 > &fileContents, size_t size)=0
Replace a file with the given contents.
virtual Status RemoveFile(const VfsPath &pathname)=0
remove file from the virtual directory listing and evict its data from the cache. ...
mark a directory replaceable, so that when writing a file to this path new real directories will be c...