mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #1229 from lioncash/forward-decl
vfs_real: Forward declare IOFile
This commit is contained in:
		
						commit
						2afe8ac4a7
					
				| @ -14,6 +14,9 @@ | ||||
| #include "core/core.h" | ||||
| #include "core/core_cpu.h" | ||||
| #include "core/core_timing.h" | ||||
| #include "core/file_sys/mode.h" | ||||
| #include "core/file_sys/vfs_concat.h" | ||||
| #include "core/file_sys/vfs_real.h" | ||||
| #include "core/gdbstub/gdbstub.h" | ||||
| #include "core/hle/kernel/client_port.h" | ||||
| #include "core/hle/kernel/kernel.h" | ||||
| @ -27,8 +30,6 @@ | ||||
| #include "core/perf_stats.h" | ||||
| #include "core/settings.h" | ||||
| #include "core/telemetry_session.h" | ||||
| #include "file_sys/vfs_concat.h" | ||||
| #include "file_sys/vfs_real.h" | ||||
| #include "video_core/debug_utils/debug_utils.h" | ||||
| #include "video_core/gpu.h" | ||||
| #include "video_core/renderer_base.h" | ||||
|  | ||||
| @ -5,9 +5,9 @@ | ||||
| #include <regex> | ||||
| #include <mbedtls/sha256.h> | ||||
| #include "common/assert.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/hex_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "core/crypto/encryption_layer.h" | ||||
| #include "core/file_sys/card_image.h" | ||||
| #include "core/file_sys/nca_metadata.h" | ||||
| #include "core/file_sys/registered_cache.h" | ||||
|  | ||||
| @ -8,6 +8,7 @@ | ||||
| #include <utility> | ||||
| #include "common/assert.h" | ||||
| #include "common/common_paths.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "core/file_sys/vfs_real.h" | ||||
| 
 | ||||
| @ -39,6 +40,7 @@ static std::string ModeFlagsToString(Mode mode) { | ||||
| } | ||||
| 
 | ||||
| RealVfsFilesystem::RealVfsFilesystem() : VfsFilesystem(nullptr) {} | ||||
| RealVfsFilesystem::~RealVfsFilesystem() = default; | ||||
| 
 | ||||
| std::string RealVfsFilesystem::GetName() const { | ||||
|     return "Real"; | ||||
| @ -219,6 +221,8 @@ RealVfsFile::RealVfsFile(RealVfsFilesystem& base_, std::shared_ptr<FileUtil::IOF | ||||
|       parent_components(FileUtil::SliceVector(path_components, 0, path_components.size() - 1)), | ||||
|       perms(perms_) {} | ||||
| 
 | ||||
| RealVfsFile::~RealVfsFile() = default; | ||||
| 
 | ||||
| std::string RealVfsFile::GetName() const { | ||||
|     return path_components.back(); | ||||
| } | ||||
| @ -312,6 +316,8 @@ RealVfsDirectory::RealVfsDirectory(RealVfsFilesystem& base_, const std::string& | ||||
|         FileUtil::CreateDir(path); | ||||
| } | ||||
| 
 | ||||
| RealVfsDirectory::~RealVfsDirectory() = default; | ||||
| 
 | ||||
| std::shared_ptr<VfsFile> RealVfsDirectory::GetFileRelative(std::string_view path) const { | ||||
|     const auto full_path = FileUtil::SanitizePath(this->path + DIR_SEP + std::string(path)); | ||||
|     if (!FileUtil::Exists(full_path) || FileUtil::IsDirectory(full_path)) | ||||
|  | ||||
| @ -6,15 +6,19 @@ | ||||
| 
 | ||||
| #include <string_view> | ||||
| #include <boost/container/flat_map.hpp> | ||||
| #include "common/file_util.h" | ||||
| #include "core/file_sys/mode.h" | ||||
| #include "core/file_sys/vfs.h" | ||||
| 
 | ||||
| namespace FileUtil { | ||||
| class IOFile; | ||||
| } | ||||
| 
 | ||||
| namespace FileSys { | ||||
| 
 | ||||
| class RealVfsFilesystem : public VfsFilesystem { | ||||
| public: | ||||
|     RealVfsFilesystem(); | ||||
|     ~RealVfsFilesystem() override; | ||||
| 
 | ||||
|     std::string GetName() const override; | ||||
|     bool IsReadable() const override; | ||||
| @ -40,10 +44,9 @@ class RealVfsFile : public VfsFile { | ||||
|     friend class RealVfsDirectory; | ||||
|     friend class RealVfsFilesystem; | ||||
| 
 | ||||
|     RealVfsFile(RealVfsFilesystem& base, std::shared_ptr<FileUtil::IOFile> backing, | ||||
|                 const std::string& path, Mode perms = Mode::Read); | ||||
| 
 | ||||
| public: | ||||
|     ~RealVfsFile() override; | ||||
| 
 | ||||
|     std::string GetName() const override; | ||||
|     size_t GetSize() const override; | ||||
|     bool Resize(size_t new_size) override; | ||||
| @ -55,6 +58,9 @@ public: | ||||
|     bool Rename(std::string_view name) override; | ||||
| 
 | ||||
| private: | ||||
|     RealVfsFile(RealVfsFilesystem& base, std::shared_ptr<FileUtil::IOFile> backing, | ||||
|                 const std::string& path, Mode perms = Mode::Read); | ||||
| 
 | ||||
|     bool Close(); | ||||
| 
 | ||||
|     RealVfsFilesystem& base; | ||||
| @ -70,9 +76,9 @@ private: | ||||
| class RealVfsDirectory : public VfsDirectory { | ||||
|     friend class RealVfsFilesystem; | ||||
| 
 | ||||
|     RealVfsDirectory(RealVfsFilesystem& base, const std::string& path, Mode perms = Mode::Read); | ||||
| 
 | ||||
| public: | ||||
|     ~RealVfsDirectory() override; | ||||
| 
 | ||||
|     std::shared_ptr<VfsFile> GetFileRelative(std::string_view path) const override; | ||||
|     std::shared_ptr<VfsDirectory> GetDirectoryRelative(std::string_view path) const override; | ||||
|     std::shared_ptr<VfsFile> GetFile(std::string_view name) const override; | ||||
| @ -97,6 +103,8 @@ protected: | ||||
|     bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override; | ||||
| 
 | ||||
| private: | ||||
|     RealVfsDirectory(RealVfsFilesystem& base, const std::string& path, Mode perms = Mode::Read); | ||||
| 
 | ||||
|     template <typename T, typename R> | ||||
|     std::vector<std::shared_ptr<R>> IterateEntries() const; | ||||
| 
 | ||||
|  | ||||
| @ -10,6 +10,7 @@ | ||||
| #include <mbedtls/md.h> | ||||
| #include <mbedtls/sha256.h> | ||||
| #include "common/assert.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/hex_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "core/crypto/aes_util.h" | ||||
|  | ||||
| @ -5,9 +5,9 @@ | ||||
| #include <memory> | ||||
| #include <ostream> | ||||
| #include <string> | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "common/string_util.h" | ||||
| #include "core/file_sys/vfs_real.h" | ||||
| #include "core/hle/kernel/process.h" | ||||
| #include "core/loader/deconstructed_rom_directory.h" | ||||
| #include "core/loader/elf.h" | ||||
| @ -144,6 +144,9 @@ std::ostream& operator<<(std::ostream& os, ResultStatus status) { | ||||
|     return os; | ||||
| } | ||||
| 
 | ||||
| AppLoader::AppLoader(FileSys::VirtualFile file) : file(std::move(file)) {} | ||||
| AppLoader::~AppLoader() = default; | ||||
| 
 | ||||
| /**
 | ||||
|  * Get a loader for a file with a specific type | ||||
|  * @param file The file to load | ||||
|  | ||||
| @ -4,7 +4,6 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <algorithm> | ||||
| #include <iosfwd> | ||||
| #include <memory> | ||||
| #include <string> | ||||
| @ -12,7 +11,6 @@ | ||||
| #include <vector> | ||||
| #include <boost/optional.hpp> | ||||
| #include "common/common_types.h" | ||||
| #include "common/file_util.h" | ||||
| #include "core/file_sys/vfs.h" | ||||
| #include "core/hle/kernel/object.h" | ||||
| 
 | ||||
| @ -114,8 +112,8 @@ std::ostream& operator<<(std::ostream& os, ResultStatus status); | ||||
| /// Interface for loading an application
 | ||||
| class AppLoader : NonCopyable { | ||||
| public: | ||||
|     explicit AppLoader(FileSys::VirtualFile file) : file(std::move(file)) {} | ||||
|     virtual ~AppLoader() {} | ||||
|     explicit AppLoader(FileSys::VirtualFile file); | ||||
|     virtual ~AppLoader(); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Returns the type of this file | ||||
|  | ||||
| @ -16,8 +16,9 @@ | ||||
| #include <boost/container/flat_map.hpp> | ||||
| #include <fmt/format.h> | ||||
| #include "common/common_paths.h" | ||||
| #include "common/common_types.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "common/string_util.h" | ||||
| #include "core/file_sys/content_archive.h" | ||||
| #include "core/file_sys/control_metadata.h" | ||||
| #include "core/file_sys/registered_cache.h" | ||||
|  | ||||
| @ -20,6 +20,8 @@ | ||||
| #include <QVBoxLayout> | ||||
| #include <QWidget> | ||||
| 
 | ||||
| #include "common/common_types.h" | ||||
| 
 | ||||
| class GameListWorker; | ||||
| class GMainWindow; | ||||
| 
 | ||||
|  | ||||
| @ -4,18 +4,23 @@ | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include <algorithm> | ||||
| #include <array> | ||||
| #include <atomic> | ||||
| #include <map> | ||||
| #include <memory> | ||||
| #include <string> | ||||
| #include <unordered_map> | ||||
| #include <utility> | ||||
| 
 | ||||
| #include <QCoreApplication> | ||||
| #include <QImage> | ||||
| #include <QObject> | ||||
| #include <QRunnable> | ||||
| #include <QStandardItem> | ||||
| #include <QString> | ||||
| 
 | ||||
| #include "common/common_types.h" | ||||
| #include "common/logging/log.h" | ||||
| #include "common/string_util.h" | ||||
| #include "yuzu/ui_settings.h" | ||||
|  | ||||
| @ -18,6 +18,7 @@ | ||||
| #include <QtWidgets> | ||||
| #include <fmt/format.h> | ||||
| #include "common/common_paths.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/backend.h" | ||||
| #include "common/logging/filter.h" | ||||
| #include "common/logging/log.h" | ||||
|  | ||||
| @ -6,8 +6,11 @@ | ||||
| 
 | ||||
| #include <memory> | ||||
| #include <unordered_map> | ||||
| 
 | ||||
| #include <QMainWindow> | ||||
| #include <QTimer> | ||||
| 
 | ||||
| #include "common/common_types.h" | ||||
| #include "core/core.h" | ||||
| #include "ui_main.h" | ||||
| #include "yuzu/hotkeys.h" | ||||
|  | ||||
| @ -10,6 +10,7 @@ | ||||
| #include <fmt/ostream.h> | ||||
| 
 | ||||
| #include "common/common_paths.h" | ||||
| #include "common/file_util.h" | ||||
| #include "common/logging/backend.h" | ||||
| #include "common/logging/filter.h" | ||||
| #include "common/logging/log.h" | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 bunnei
						bunnei