mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +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