Преглед изворни кода

file_sys: Replace includes with forward declarations where applicable

Cuts down on include dependencies, resulting in less files that need to
be rebuilt when certain things are changed.
Lioncash пре 7 година
родитељ
комит
a813c10e1c

+ 3 - 0
src/core/crypto/key_manager.cpp

@@ -8,12 +8,15 @@
 #include <locale>
 #include <sstream>
 #include <string_view>
+#include <tuple>
+#include <vector>
 #include "common/common_paths.h"
 #include "common/file_util.h"
 #include "common/hex_util.h"
 #include "common/logging/log.h"
 #include "core/crypto/aes_util.h"
 #include "core/crypto/key_manager.h"
+#include "core/loader/loader.h"
 #include "core/settings.h"
 
 namespace Core::Crypto {

+ 5 - 4
src/core/crypto/key_manager.h

@@ -6,13 +6,14 @@
 
 #include <array>
 #include <string>
-#include <string_view>
-#include <type_traits>
-#include <vector>
 #include <boost/container/flat_map.hpp>
+#include <boost/optional.hpp>
 #include <fmt/format.h>
 #include "common/common_types.h"
-#include "core/loader/loader.h"
+
+namespace Loader {
+enum class ResultStatus : u16;
+}
 
 namespace Core::Crypto {
 

+ 3 - 0
src/core/file_sys/bis_factory.cpp

@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include "core/file_sys/bis_factory.h"
+#include "core/file_sys/registered_cache.h"
 
 namespace FileSys {
 
@@ -13,6 +14,8 @@ BISFactory::BISFactory(VirtualDir nand_root_)
       usrnand_cache(std::make_shared<RegisteredCache>(
           GetOrCreateDirectoryRelative(nand_root, "/user/Contents/registered"))) {}
 
+BISFactory::~BISFactory() = default;
+
 std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const {
     return sysnand_cache;
 }

+ 5 - 2
src/core/file_sys/bis_factory.h

@@ -5,17 +5,20 @@
 #pragma once
 
 #include <memory>
-#include "core/loader/loader.h"
-#include "registered_cache.h"
+
+#include "core/file_sys/vfs.h"
 
 namespace FileSys {
 
+class RegisteredCache;
+
 /// File system interface to the Built-In Storage
 /// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND
 /// registered caches.
 class BISFactory {
 public:
     explicit BISFactory(VirtualDir nand_root);
+    ~BISFactory();
 
     std::shared_ptr<RegisteredCache> GetSystemNANDContents() const;
     std::shared_ptr<RegisteredCache> GetUserNANDContents() const;

+ 3 - 0
src/core/file_sys/card_image.cpp

@@ -9,6 +9,7 @@
 
 #include "common/logging/log.h"
 #include "core/file_sys/card_image.h"
+#include "core/file_sys/content_archive.h"
 #include "core/file_sys/partition_filesystem.h"
 #include "core/file_sys/vfs_offset.h"
 #include "core/loader/loader.h"
@@ -74,6 +75,8 @@ XCI::XCI(VirtualFile file_) : file(std::move(file_)), partitions(0x4) {
     status = Loader::ResultStatus::Success;
 }
 
+XCI::~XCI() = default;
+
 Loader::ResultStatus XCI::GetStatus() const {
     return status;
 }

+ 9 - 2
src/core/file_sys/card_image.h

@@ -5,15 +5,21 @@
 #pragma once
 
 #include <array>
+#include <memory>
 #include <vector>
 #include "common/common_types.h"
 #include "common/swap.h"
-#include "core/file_sys/content_archive.h"
 #include "core/file_sys/vfs.h"
-#include "core/loader/loader.h"
+
+namespace Loader {
+enum class ResultStatus : u16;
+}
 
 namespace FileSys {
 
+class NCA;
+enum class NCAContentType : u8;
+
 enum class GamecardSize : u8 {
     S_1GB = 0xFA,
     S_2GB = 0xF8,
@@ -57,6 +63,7 @@ enum class XCIPartition : u8 { Update, Normal, Secure, Logo };
 class XCI : public ReadOnlyVfsDirectory {
 public:
     explicit XCI(VirtualFile file);
+    ~XCI() override;
 
     Loader::ResultStatus GetStatus() const;
     Loader::ResultStatus GetProgramNCAStatus() const;

+ 4 - 0
src/core/file_sys/content_archive.cpp

@@ -3,12 +3,16 @@
 // Refer to the license.txt file included.
 
 #include <algorithm>
+#include <cstring>
 #include <utility>
+
 #include <boost/optional.hpp>
+
 #include "common/logging/log.h"
 #include "core/crypto/aes_util.h"
 #include "core/crypto/ctr_encryption_layer.h"
 #include "core/file_sys/content_archive.h"
+#include "core/file_sys/partition_filesystem.h"
 #include "core/file_sys/romfs.h"
 #include "core/file_sys/vfs_offset.h"
 #include "core/loader/loader.h"

+ 5 - 3
src/core/file_sys/content_archive.h

@@ -12,10 +12,12 @@
 #include "common/common_funcs.h"
 #include "common/common_types.h"
 #include "common/swap.h"
-#include "control_metadata.h"
 #include "core/crypto/key_manager.h"
-#include "core/file_sys/partition_filesystem.h"
-#include "core/loader/loader.h"
+#include "core/file_sys/vfs.h"
+
+namespace Loader {
+enum class ResultStatus : u16;
+}
 
 namespace FileSys {
 

+ 1 - 0
src/core/file_sys/control_metadata.h

@@ -8,6 +8,7 @@
 #include <memory>
 #include <string>
 #include "common/common_funcs.h"
+#include "common/common_types.h"
 #include "core/file_sys/vfs.h"
 
 namespace FileSys {

+ 1 - 2
src/core/file_sys/nca_metadata.cpp

@@ -3,10 +3,9 @@
 // Refer to the license.txt file included.
 
 #include <cstring>
-#include "common/common_funcs.h"
+#include "common/common_types.h"
 #include "common/logging/log.h"
 #include "common/swap.h"
-#include "content_archive.h"
 #include "core/file_sys/nca_metadata.h"
 
 namespace FileSys {

+ 0 - 1
src/core/file_sys/nca_metadata.h

@@ -4,7 +4,6 @@
 
 #pragma once
 
-#include <cstring>
 #include <memory>
 #include <vector>
 #include "common/common_funcs.h"

+ 4 - 1
src/core/file_sys/program_metadata.cpp

@@ -2,7 +2,10 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include "common/file_util.h"
+#include <cstddef>
+#include <cstring>
+#include <vector>
+
 #include "common/logging/log.h"
 #include "core/file_sys/program_metadata.h"
 #include "core/loader/loader.h"

+ 1 - 3
src/core/file_sys/program_metadata.h

@@ -5,12 +5,10 @@
 #pragma once
 
 #include <array>
-#include <string>
-#include <vector>
 #include "common/bit_field.h"
 #include "common/common_types.h"
 #include "common/swap.h"
-#include "partition_filesystem.h"
+#include "core/file_sys/vfs.h"
 
 namespace Loader {
 enum class ResultStatus : u16;

+ 3 - 0
src/core/file_sys/registered_cache.cpp

@@ -8,10 +8,13 @@
 #include "common/file_util.h"
 #include "common/hex_util.h"
 #include "common/logging/log.h"
+#include "core/crypto/key_manager.h"
 #include "core/file_sys/card_image.h"
+#include "core/file_sys/content_archive.h"
 #include "core/file_sys/nca_metadata.h"
 #include "core/file_sys/registered_cache.h"
 #include "core/file_sys/vfs_concat.h"
+#include "core/loader/loader.h"
 
 namespace FileSys {
 std::string RegisteredCacheEntry::DebugInfo() const {

+ 7 - 4
src/core/file_sys/registered_cache.h

@@ -11,15 +11,18 @@
 #include <string>
 #include <vector>
 #include <boost/container/flat_map.hpp>
-#include "common/common_funcs.h"
 #include "common/common_types.h"
-#include "content_archive.h"
-#include "core/file_sys/nca_metadata.h"
 #include "core/file_sys/vfs.h"
 
 namespace FileSys {
-class XCI;
 class CNMT;
+class NCA;
+class XCI;
+
+enum class ContentRecordType : u8;
+enum class TitleType : u8;
+
+struct ContentRecord;
 
 using NcaID = std::array<u8, 0x10>;
 using RegisteredCacheParsingFunction = std::function<VirtualFile(const VirtualFile&, const NcaID&)>;

+ 1 - 0
src/core/file_sys/romfs.h

@@ -6,6 +6,7 @@
 
 #include <array>
 #include "common/common_funcs.h"
+#include "common/common_types.h"
 #include "common/swap.h"
 #include "core/file_sys/vfs.h"
 

+ 2 - 3
src/core/file_sys/romfs_factory.cpp

@@ -2,14 +2,13 @@
 // Licensed under GPLv2 or any later version
 // Refer to the license.txt file included.
 
-#include <algorithm>
 #include <memory>
+#include "common/assert.h"
 #include "common/common_types.h"
 #include "common/logging/log.h"
-#include "core/file_sys/nca_metadata.h"
+#include "core/file_sys/content_archive.h"
 #include "core/file_sys/registered_cache.h"
 #include "core/file_sys/romfs_factory.h"
-#include "core/hle/kernel/process.h"
 #include "core/hle/service/filesystem/filesystem.h"
 #include "core/loader/loader.h"
 

+ 1 - 0
src/core/file_sys/savedata_factory.cpp

@@ -3,6 +3,7 @@
 // Refer to the license.txt file included.
 
 #include <memory>
+#include "common/assert.h"
 #include "common/common_types.h"
 #include "common/logging/log.h"
 #include "core/core.h"

+ 1 - 0
src/core/file_sys/savedata_factory.h

@@ -6,6 +6,7 @@
 
 #include <memory>
 #include <string>
+#include "common/common_funcs.h"
 #include "common/common_types.h"
 #include "common/swap.h"
 #include "core/file_sys/vfs.h"

+ 3 - 1
src/core/hle/service/ns/pl_u.cpp

@@ -5,7 +5,9 @@
 #include "common/common_paths.h"
 #include "common/file_util.h"
 #include "core/core.h"
-#include "core/file_sys/bis_factory.h"
+#include "core/file_sys/content_archive.h"
+#include "core/file_sys/nca_metadata.h"
+#include "core/file_sys/registered_cache.h"
 #include "core/file_sys/romfs.h"
 #include "core/hle/ipc_helpers.h"
 #include "core/hle/service/filesystem/filesystem.h"

+ 1 - 1
src/yuzu/game_list.cpp

@@ -13,7 +13,6 @@
 #include <QKeyEvent>
 #include <QMenu>
 #include <QThreadPool>
-#include <boost/container/flat_map.hpp>
 #include <fmt/format.h>
 #include "common/common_paths.h"
 #include "common/common_types.h"
@@ -21,6 +20,7 @@
 #include "common/logging/log.h"
 #include "core/file_sys/content_archive.h"
 #include "core/file_sys/control_metadata.h"
+#include "core/file_sys/nca_metadata.h"
 #include "core/file_sys/registered_cache.h"
 #include "core/file_sys/romfs.h"
 #include "core/file_sys/vfs_real.h"

+ 1 - 0
src/yuzu/main.cpp

@@ -30,6 +30,7 @@
 #include "core/core.h"
 #include "core/crypto/key_manager.h"
 #include "core/file_sys/card_image.h"
+#include "core/file_sys/content_archive.h"
 #include "core/file_sys/registered_cache.h"
 #include "core/file_sys/savedata_factory.h"
 #include "core/file_sys/vfs_real.h"