diff options
author | Lioncash <mathew1800@gmail.com> | 2018-08-12 22:37:38 +0200 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-08-12 22:55:40 +0200 |
commit | cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a (patch) | |
tree | c217767ae3450b79127a6768b582a08211b2d3a9 | |
parent | Merge pull request #1025 from ogniK5377/bad-cast (diff) | |
download | yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar.gz yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar.bz2 yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar.lz yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar.xz yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.tar.zst yuzu-cf0a7cd1c16b91fc295edc90a7a1d92d5e056f8a.zip |
-rw-r--r-- | src/core/file_sys/vfs.h | 18 | ||||
-rw-r--r-- | src/core/file_sys/vfs_offset.h | 3 | ||||
-rw-r--r-- | src/core/file_sys/vfs_vector.h | 3 | ||||
-rw-r--r-- | src/core/hle/service/service.h | 2 |
4 files changed, 16 insertions, 10 deletions
diff --git a/src/core/file_sys/vfs.h b/src/core/file_sys/vfs.h index 141a053ce..3bbc361ba 100644 --- a/src/core/file_sys/vfs.h +++ b/src/core/file_sys/vfs.h @@ -15,9 +15,9 @@ namespace FileSys { -struct VfsFilesystem; -struct VfsFile; -struct VfsDirectory; +class VfsDirectory; +class VfsFile; +class VfsFilesystem; // Convenience typedefs to use Vfs* interfaces using VirtualFilesystem = std::shared_ptr<VfsFilesystem>; @@ -34,7 +34,8 @@ enum class VfsEntryType { // A class representing an abstract filesystem. A default implementation given the root VirtualDir // is provided for convenience, but if the Vfs implementation has any additional state or // functionality, they will need to override. -struct VfsFilesystem : NonCopyable { +class VfsFilesystem : NonCopyable { +public: VfsFilesystem(VirtualDir root); virtual ~VfsFilesystem(); @@ -81,7 +82,8 @@ protected: }; // A class representing a file in an abstract filesystem. -struct VfsFile : NonCopyable { +class VfsFile : NonCopyable { +public: virtual ~VfsFile(); // Retrieves the file name. @@ -179,7 +181,8 @@ struct VfsFile : NonCopyable { }; // A class representing a directory in an abstract filesystem. -struct VfsDirectory : NonCopyable { +class VfsDirectory : NonCopyable { +public: virtual ~VfsDirectory(); // Retrives the file located at path as if the current directory was root. Returns nullptr if @@ -295,7 +298,8 @@ protected: // A convenience partial-implementation of VfsDirectory that stubs out methods that should only work // if writable. This is to avoid redundant empty methods everywhere. -struct ReadOnlyVfsDirectory : public VfsDirectory { +class ReadOnlyVfsDirectory : public VfsDirectory { +public: bool IsWritable() const override; bool IsReadable() const override; std::shared_ptr<VfsDirectory> CreateSubdirectory(std::string_view name) override; diff --git a/src/core/file_sys/vfs_offset.h b/src/core/file_sys/vfs_offset.h index 235970dc5..cb92d1570 100644 --- a/src/core/file_sys/vfs_offset.h +++ b/src/core/file_sys/vfs_offset.h @@ -15,7 +15,8 @@ namespace FileSys { // Similar to seeking to an offset. // If the file is writable, operations that would write past the end of the offset file will expand // the size of this wrapper. -struct OffsetVfsFile : public VfsFile { +class OffsetVfsFile : public VfsFile { +public: OffsetVfsFile(std::shared_ptr<VfsFile> file, size_t size, size_t offset = 0, std::string new_name = "", VirtualDir new_parent = nullptr); diff --git a/src/core/file_sys/vfs_vector.h b/src/core/file_sys/vfs_vector.h index ba469647b..b3b468233 100644 --- a/src/core/file_sys/vfs_vector.h +++ b/src/core/file_sys/vfs_vector.h @@ -10,7 +10,8 @@ namespace FileSys { // An implementation of VfsDirectory that maintains two vectors for subdirectories and files. // Vector data is supplied upon construction. -struct VectorVfsDirectory : public VfsDirectory { +class VectorVfsDirectory : public VfsDirectory { +public: explicit VectorVfsDirectory(std::vector<VirtualFile> files = {}, std::vector<VirtualDir> dirs = {}, VirtualDir parent = nullptr, std::string name = ""); diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 8a294c0f2..cd9c74f3d 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -23,7 +23,7 @@ class HLERequestContext; } // namespace Kernel namespace FileSys { -struct VfsFilesystem; +class VfsFilesystem; } namespace Service { |