|
|
|
@ -91,7 +91,7 @@ public: |
|
|
|
// Resizes the file to new_size. Returns whether or not the operation was successful. |
|
|
|
virtual bool Resize(std::size_t new_size) = 0; |
|
|
|
// Gets a pointer to the directory containing this file, returning nullptr if there is none. |
|
|
|
virtual std::shared_ptr<VfsDirectory> GetContainingDirectory() const = 0; |
|
|
|
virtual VirtualDir GetContainingDirectory() const = 0; |
|
|
|
|
|
|
|
// Returns whether or not the file can be written to. |
|
|
|
virtual bool IsWritable() const = 0; |
|
|
|
@ -183,27 +183,27 @@ public: |
|
|
|
|
|
|
|
// Retrives the file located at path as if the current directory was root. Returns nullptr if |
|
|
|
// not found. |
|
|
|
virtual std::shared_ptr<VfsFile> GetFileRelative(std::string_view path) const; |
|
|
|
virtual VirtualFile GetFileRelative(std::string_view path) const; |
|
|
|
// Calls GetFileRelative(path) on the root of the current directory. |
|
|
|
virtual std::shared_ptr<VfsFile> GetFileAbsolute(std::string_view path) const; |
|
|
|
virtual VirtualFile GetFileAbsolute(std::string_view path) const; |
|
|
|
|
|
|
|
// Retrives the directory located at path as if the current directory was root. Returns nullptr |
|
|
|
// if not found. |
|
|
|
virtual std::shared_ptr<VfsDirectory> GetDirectoryRelative(std::string_view path) const; |
|
|
|
virtual VirtualDir GetDirectoryRelative(std::string_view path) const; |
|
|
|
// Calls GetDirectoryRelative(path) on the root of the current directory. |
|
|
|
virtual std::shared_ptr<VfsDirectory> GetDirectoryAbsolute(std::string_view path) const; |
|
|
|
virtual VirtualDir GetDirectoryAbsolute(std::string_view path) const; |
|
|
|
|
|
|
|
// Returns a vector containing all of the files in this directory. |
|
|
|
virtual std::vector<std::shared_ptr<VfsFile>> GetFiles() const = 0; |
|
|
|
virtual std::vector<VirtualFile> GetFiles() const = 0; |
|
|
|
// Returns the file with filename matching name. Returns nullptr if directory dosen't have a |
|
|
|
// file with name. |
|
|
|
virtual std::shared_ptr<VfsFile> GetFile(std::string_view name) const; |
|
|
|
virtual VirtualFile GetFile(std::string_view name) const; |
|
|
|
|
|
|
|
// Returns a vector containing all of the subdirectories in this directory. |
|
|
|
virtual std::vector<std::shared_ptr<VfsDirectory>> GetSubdirectories() const = 0; |
|
|
|
virtual std::vector<VirtualDir> GetSubdirectories() const = 0; |
|
|
|
// Returns the directory with name matching name. Returns nullptr if directory dosen't have a |
|
|
|
// directory with name. |
|
|
|
virtual std::shared_ptr<VfsDirectory> GetSubdirectory(std::string_view name) const; |
|
|
|
virtual VirtualDir GetSubdirectory(std::string_view name) const; |
|
|
|
|
|
|
|
// Returns whether or not the directory can be written to. |
|
|
|
virtual bool IsWritable() const = 0; |
|
|
|
@ -219,31 +219,31 @@ public: |
|
|
|
virtual std::size_t GetSize() const; |
|
|
|
// Returns the parent directory of this directory. Returns nullptr if this directory is root or |
|
|
|
// has no parent. |
|
|
|
virtual std::shared_ptr<VfsDirectory> GetParentDirectory() const = 0; |
|
|
|
virtual VirtualDir GetParentDirectory() const = 0; |
|
|
|
|
|
|
|
// Creates a new subdirectory with name name. Returns a pointer to the new directory or nullptr |
|
|
|
// if the operation failed. |
|
|
|
virtual std::shared_ptr<VfsDirectory> CreateSubdirectory(std::string_view name) = 0; |
|
|
|
virtual VirtualDir CreateSubdirectory(std::string_view name) = 0; |
|
|
|
// Creates a new file with name name. Returns a pointer to the new file or nullptr if the |
|
|
|
// operation failed. |
|
|
|
virtual std::shared_ptr<VfsFile> CreateFile(std::string_view name) = 0; |
|
|
|
virtual VirtualFile CreateFile(std::string_view name) = 0; |
|
|
|
|
|
|
|
// Creates a new file at the path relative to this directory. Also creates directories if |
|
|
|
// they do not exist and is supported by this implementation. Returns nullptr on any failure. |
|
|
|
virtual std::shared_ptr<VfsFile> CreateFileRelative(std::string_view path); |
|
|
|
virtual VirtualFile CreateFileRelative(std::string_view path); |
|
|
|
|
|
|
|
// Creates a new file at the path relative to root of this directory. Also creates directories |
|
|
|
// if they do not exist and is supported by this implementation. Returns nullptr on any failure. |
|
|
|
virtual std::shared_ptr<VfsFile> CreateFileAbsolute(std::string_view path); |
|
|
|
virtual VirtualFile CreateFileAbsolute(std::string_view path); |
|
|
|
|
|
|
|
// Creates a new directory at the path relative to this directory. Also creates directories if |
|
|
|
// they do not exist and is supported by this implementation. Returns nullptr on any failure. |
|
|
|
virtual std::shared_ptr<VfsDirectory> CreateDirectoryRelative(std::string_view path); |
|
|
|
virtual VirtualDir CreateDirectoryRelative(std::string_view path); |
|
|
|
|
|
|
|
// Creates a new directory at the path relative to root of this directory. Also creates |
|
|
|
// directories if they do not exist and is supported by this implementation. Returns nullptr on |
|
|
|
// any failure. |
|
|
|
virtual std::shared_ptr<VfsDirectory> CreateDirectoryAbsolute(std::string_view path); |
|
|
|
virtual VirtualDir CreateDirectoryAbsolute(std::string_view path); |
|
|
|
|
|
|
|
// Deletes the subdirectory with the given name and returns true on success. |
|
|
|
virtual bool DeleteSubdirectory(std::string_view name) = 0; |
|
|
|
@ -280,12 +280,12 @@ class ReadOnlyVfsDirectory : public VfsDirectory { |
|
|
|
public: |
|
|
|
bool IsWritable() const override; |
|
|
|
bool IsReadable() const override; |
|
|
|
std::shared_ptr<VfsDirectory> CreateSubdirectory(std::string_view name) override; |
|
|
|
std::shared_ptr<VfsFile> CreateFile(std::string_view name) override; |
|
|
|
std::shared_ptr<VfsFile> CreateFileAbsolute(std::string_view path) override; |
|
|
|
std::shared_ptr<VfsFile> CreateFileRelative(std::string_view path) override; |
|
|
|
std::shared_ptr<VfsDirectory> CreateDirectoryAbsolute(std::string_view path) override; |
|
|
|
std::shared_ptr<VfsDirectory> CreateDirectoryRelative(std::string_view path) override; |
|
|
|
VirtualDir CreateSubdirectory(std::string_view name) override; |
|
|
|
VirtualFile CreateFile(std::string_view name) override; |
|
|
|
VirtualFile CreateFileAbsolute(std::string_view path) override; |
|
|
|
VirtualFile CreateFileRelative(std::string_view path) override; |
|
|
|
VirtualDir CreateDirectoryAbsolute(std::string_view path) override; |
|
|
|
VirtualDir CreateDirectoryRelative(std::string_view path) override; |
|
|
|
bool DeleteSubdirectory(std::string_view name) override; |
|
|
|
bool DeleteSubdirectoryRecursive(std::string_view name) override; |
|
|
|
bool CleanSubdirectoryRecursive(std::string_view name) override; |
|
|
|
|