summaryrefslogtreecommitdiff
path: root/src/core/file_sys
diff options
context:
space:
mode:
authorGravatar Lioncash2018-09-03 21:58:19 -0400
committerGravatar Lioncash2018-09-03 22:52:24 -0400
commita813c10e1c71318925f2e65f2b0926099485bbc4 (patch)
treefc7894ea6e04e565ff4eb29c94b95f8d72a61521 /src/core/file_sys
parentMerge pull request #1231 from lioncash/global (diff)
downloadyuzu-a813c10e1c71318925f2e65f2b0926099485bbc4.tar.gz
yuzu-a813c10e1c71318925f2e65f2b0926099485bbc4.tar.xz
yuzu-a813c10e1c71318925f2e65f2b0926099485bbc4.zip
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.
Diffstat (limited to 'src/core/file_sys')
-rw-r--r--src/core/file_sys/bis_factory.cpp3
-rw-r--r--src/core/file_sys/bis_factory.h7
-rw-r--r--src/core/file_sys/card_image.cpp3
-rw-r--r--src/core/file_sys/card_image.h11
-rw-r--r--src/core/file_sys/content_archive.cpp4
-rw-r--r--src/core/file_sys/content_archive.h8
-rw-r--r--src/core/file_sys/control_metadata.h1
-rw-r--r--src/core/file_sys/nca_metadata.cpp3
-rw-r--r--src/core/file_sys/nca_metadata.h1
-rw-r--r--src/core/file_sys/program_metadata.cpp5
-rw-r--r--src/core/file_sys/program_metadata.h4
-rw-r--r--src/core/file_sys/registered_cache.cpp3
-rw-r--r--src/core/file_sys/registered_cache.h11
-rw-r--r--src/core/file_sys/romfs.h1
-rw-r--r--src/core/file_sys/romfs_factory.cpp5
-rw-r--r--src/core/file_sys/savedata_factory.cpp1
-rw-r--r--src/core/file_sys/savedata_factory.h1
17 files changed, 51 insertions, 21 deletions
diff --git a/src/core/file_sys/bis_factory.cpp b/src/core/file_sys/bis_factory.cpp
index 08a7cea5a..205492897 100644
--- a/src/core/file_sys/bis_factory.cpp
+++ b/src/core/file_sys/bis_factory.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/file_sys/bis_factory.h" 5#include "core/file_sys/bis_factory.h"
6#include "core/file_sys/registered_cache.h"
6 7
7namespace FileSys { 8namespace FileSys {
8 9
@@ -13,6 +14,8 @@ BISFactory::BISFactory(VirtualDir nand_root_)
13 usrnand_cache(std::make_shared<RegisteredCache>( 14 usrnand_cache(std::make_shared<RegisteredCache>(
14 GetOrCreateDirectoryRelative(nand_root, "/user/Contents/registered"))) {} 15 GetOrCreateDirectoryRelative(nand_root, "/user/Contents/registered"))) {}
15 16
17BISFactory::~BISFactory() = default;
18
16std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const { 19std::shared_ptr<RegisteredCache> BISFactory::GetSystemNANDContents() const {
17 return sysnand_cache; 20 return sysnand_cache;
18} 21}
diff --git a/src/core/file_sys/bis_factory.h b/src/core/file_sys/bis_factory.h
index a970a5e2e..9523dd864 100644
--- a/src/core/file_sys/bis_factory.h
+++ b/src/core/file_sys/bis_factory.h
@@ -5,17 +5,20 @@
5#pragma once 5#pragma once
6 6
7#include <memory> 7#include <memory>
8#include "core/loader/loader.h" 8
9#include "registered_cache.h" 9#include "core/file_sys/vfs.h"
10 10
11namespace FileSys { 11namespace FileSys {
12 12
13class RegisteredCache;
14
13/// File system interface to the Built-In Storage 15/// File system interface to the Built-In Storage
14/// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND 16/// This is currently missing accessors to BIS partitions, but seemed like a good place for the NAND
15/// registered caches. 17/// registered caches.
16class BISFactory { 18class BISFactory {
17public: 19public:
18 explicit BISFactory(VirtualDir nand_root); 20 explicit BISFactory(VirtualDir nand_root);
21 ~BISFactory();
19 22
20 std::shared_ptr<RegisteredCache> GetSystemNANDContents() const; 23 std::shared_ptr<RegisteredCache> GetSystemNANDContents() const;
21 std::shared_ptr<RegisteredCache> GetUserNANDContents() const; 24 std::shared_ptr<RegisteredCache> GetUserNANDContents() const;
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp
index d61a2ebe1..ce4423fa6 100644
--- a/src/core/file_sys/card_image.cpp
+++ b/src/core/file_sys/card_image.cpp
@@ -9,6 +9,7 @@
9 9
10#include "common/logging/log.h" 10#include "common/logging/log.h"
11#include "core/file_sys/card_image.h" 11#include "core/file_sys/card_image.h"
12#include "core/file_sys/content_archive.h"
12#include "core/file_sys/partition_filesystem.h" 13#include "core/file_sys/partition_filesystem.h"
13#include "core/file_sys/vfs_offset.h" 14#include "core/file_sys/vfs_offset.h"
14#include "core/loader/loader.h" 15#include "core/loader/loader.h"
@@ -74,6 +75,8 @@ XCI::XCI(VirtualFile file_) : file(std::move(file_)), partitions(0x4) {
74 status = Loader::ResultStatus::Success; 75 status = Loader::ResultStatus::Success;
75} 76}
76 77
78XCI::~XCI() = default;
79
77Loader::ResultStatus XCI::GetStatus() const { 80Loader::ResultStatus XCI::GetStatus() const {
78 return status; 81 return status;
79} 82}
diff --git a/src/core/file_sys/card_image.h b/src/core/file_sys/card_image.h
index 54ab828d1..4f104d18a 100644
--- a/src/core/file_sys/card_image.h
+++ b/src/core/file_sys/card_image.h
@@ -5,15 +5,21 @@
5#pragma once 5#pragma once
6 6
7#include <array> 7#include <array>
8#include <memory>
8#include <vector> 9#include <vector>
9#include "common/common_types.h" 10#include "common/common_types.h"
10#include "common/swap.h" 11#include "common/swap.h"
11#include "core/file_sys/content_archive.h"
12#include "core/file_sys/vfs.h" 12#include "core/file_sys/vfs.h"
13#include "core/loader/loader.h" 13
14namespace Loader {
15enum class ResultStatus : u16;
16}
14 17
15namespace FileSys { 18namespace FileSys {
16 19
20class NCA;
21enum class NCAContentType : u8;
22
17enum class GamecardSize : u8 { 23enum class GamecardSize : u8 {
18 S_1GB = 0xFA, 24 S_1GB = 0xFA,
19 S_2GB = 0xF8, 25 S_2GB = 0xF8,
@@ -57,6 +63,7 @@ enum class XCIPartition : u8 { Update, Normal, Secure, Logo };
57class XCI : public ReadOnlyVfsDirectory { 63class XCI : public ReadOnlyVfsDirectory {
58public: 64public:
59 explicit XCI(VirtualFile file); 65 explicit XCI(VirtualFile file);
66 ~XCI() override;
60 67
61 Loader::ResultStatus GetStatus() const; 68 Loader::ResultStatus GetStatus() const;
62 Loader::ResultStatus GetProgramNCAStatus() const; 69 Loader::ResultStatus GetProgramNCAStatus() const;
diff --git a/src/core/file_sys/content_archive.cpp b/src/core/file_sys/content_archive.cpp
index e8b5d6ece..7cfb6f36b 100644
--- a/src/core/file_sys/content_archive.cpp
+++ b/src/core/file_sys/content_archive.cpp
@@ -3,12 +3,16 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <algorithm> 5#include <algorithm>
6#include <cstring>
6#include <utility> 7#include <utility>
8
7#include <boost/optional.hpp> 9#include <boost/optional.hpp>
10
8#include "common/logging/log.h" 11#include "common/logging/log.h"
9#include "core/crypto/aes_util.h" 12#include "core/crypto/aes_util.h"
10#include "core/crypto/ctr_encryption_layer.h" 13#include "core/crypto/ctr_encryption_layer.h"
11#include "core/file_sys/content_archive.h" 14#include "core/file_sys/content_archive.h"
15#include "core/file_sys/partition_filesystem.h"
12#include "core/file_sys/romfs.h" 16#include "core/file_sys/romfs.h"
13#include "core/file_sys/vfs_offset.h" 17#include "core/file_sys/vfs_offset.h"
14#include "core/loader/loader.h" 18#include "core/loader/loader.h"
diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h
index b961cfde7..0ea666cac 100644
--- a/src/core/file_sys/content_archive.h
+++ b/src/core/file_sys/content_archive.h
@@ -12,10 +12,12 @@
12#include "common/common_funcs.h" 12#include "common/common_funcs.h"
13#include "common/common_types.h" 13#include "common/common_types.h"
14#include "common/swap.h" 14#include "common/swap.h"
15#include "control_metadata.h"
16#include "core/crypto/key_manager.h" 15#include "core/crypto/key_manager.h"
17#include "core/file_sys/partition_filesystem.h" 16#include "core/file_sys/vfs.h"
18#include "core/loader/loader.h" 17
18namespace Loader {
19enum class ResultStatus : u16;
20}
19 21
20namespace FileSys { 22namespace FileSys {
21 23
diff --git a/src/core/file_sys/control_metadata.h b/src/core/file_sys/control_metadata.h
index 8c2cc1a2a..1568046f1 100644
--- a/src/core/file_sys/control_metadata.h
+++ b/src/core/file_sys/control_metadata.h
@@ -8,6 +8,7 @@
8#include <memory> 8#include <memory>
9#include <string> 9#include <string>
10#include "common/common_funcs.h" 10#include "common/common_funcs.h"
11#include "common/common_types.h"
11#include "core/file_sys/vfs.h" 12#include "core/file_sys/vfs.h"
12 13
13namespace FileSys { 14namespace FileSys {
diff --git a/src/core/file_sys/nca_metadata.cpp b/src/core/file_sys/nca_metadata.cpp
index 449244444..cdfbc5aaf 100644
--- a/src/core/file_sys/nca_metadata.cpp
+++ b/src/core/file_sys/nca_metadata.cpp
@@ -3,10 +3,9 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <cstring> 5#include <cstring>
6#include "common/common_funcs.h" 6#include "common/common_types.h"
7#include "common/logging/log.h" 7#include "common/logging/log.h"
8#include "common/swap.h" 8#include "common/swap.h"
9#include "content_archive.h"
10#include "core/file_sys/nca_metadata.h" 9#include "core/file_sys/nca_metadata.h"
11 10
12namespace FileSys { 11namespace FileSys {
diff --git a/src/core/file_sys/nca_metadata.h b/src/core/file_sys/nca_metadata.h
index ce05b4c1d..da5a8dbe8 100644
--- a/src/core/file_sys/nca_metadata.h
+++ b/src/core/file_sys/nca_metadata.h
@@ -4,7 +4,6 @@
4 4
5#pragma once 5#pragma once
6 6
7#include <cstring>
8#include <memory> 7#include <memory>
9#include <vector> 8#include <vector>
10#include "common/common_funcs.h" 9#include "common/common_funcs.h"
diff --git a/src/core/file_sys/program_metadata.cpp b/src/core/file_sys/program_metadata.cpp
index 279f987d4..ccb685526 100644
--- a/src/core/file_sys/program_metadata.cpp
+++ b/src/core/file_sys/program_metadata.cpp
@@ -2,7 +2,10 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "common/file_util.h" 5#include <cstddef>
6#include <cstring>
7#include <vector>
8
6#include "common/logging/log.h" 9#include "common/logging/log.h"
7#include "core/file_sys/program_metadata.h" 10#include "core/file_sys/program_metadata.h"
8#include "core/loader/loader.h" 11#include "core/loader/loader.h"
diff --git a/src/core/file_sys/program_metadata.h b/src/core/file_sys/program_metadata.h
index 74a91052b..3c0a49f16 100644
--- a/src/core/file_sys/program_metadata.h
+++ b/src/core/file_sys/program_metadata.h
@@ -5,12 +5,10 @@
5#pragma once 5#pragma once
6 6
7#include <array> 7#include <array>
8#include <string>
9#include <vector>
10#include "common/bit_field.h" 8#include "common/bit_field.h"
11#include "common/common_types.h" 9#include "common/common_types.h"
12#include "common/swap.h" 10#include "common/swap.h"
13#include "partition_filesystem.h" 11#include "core/file_sys/vfs.h"
14 12
15namespace Loader { 13namespace Loader {
16enum class ResultStatus : u16; 14enum class ResultStatus : u16;
diff --git a/src/core/file_sys/registered_cache.cpp b/src/core/file_sys/registered_cache.cpp
index fe5d36930..d9decc104 100644
--- a/src/core/file_sys/registered_cache.cpp
+++ b/src/core/file_sys/registered_cache.cpp
@@ -8,10 +8,13 @@
8#include "common/file_util.h" 8#include "common/file_util.h"
9#include "common/hex_util.h" 9#include "common/hex_util.h"
10#include "common/logging/log.h" 10#include "common/logging/log.h"
11#include "core/crypto/key_manager.h"
11#include "core/file_sys/card_image.h" 12#include "core/file_sys/card_image.h"
13#include "core/file_sys/content_archive.h"
12#include "core/file_sys/nca_metadata.h" 14#include "core/file_sys/nca_metadata.h"
13#include "core/file_sys/registered_cache.h" 15#include "core/file_sys/registered_cache.h"
14#include "core/file_sys/vfs_concat.h" 16#include "core/file_sys/vfs_concat.h"
17#include "core/loader/loader.h"
15 18
16namespace FileSys { 19namespace FileSys {
17std::string RegisteredCacheEntry::DebugInfo() const { 20std::string RegisteredCacheEntry::DebugInfo() const {
diff --git a/src/core/file_sys/registered_cache.h b/src/core/file_sys/registered_cache.h
index 7b8955dfa..fe2cdc3d9 100644
--- a/src/core/file_sys/registered_cache.h
+++ b/src/core/file_sys/registered_cache.h
@@ -11,15 +11,18 @@
11#include <string> 11#include <string>
12#include <vector> 12#include <vector>
13#include <boost/container/flat_map.hpp> 13#include <boost/container/flat_map.hpp>
14#include "common/common_funcs.h"
15#include "common/common_types.h" 14#include "common/common_types.h"
16#include "content_archive.h"
17#include "core/file_sys/nca_metadata.h"
18#include "core/file_sys/vfs.h" 15#include "core/file_sys/vfs.h"
19 16
20namespace FileSys { 17namespace FileSys {
21class XCI;
22class CNMT; 18class CNMT;
19class NCA;
20class XCI;
21
22enum class ContentRecordType : u8;
23enum class TitleType : u8;
24
25struct ContentRecord;
23 26
24using NcaID = std::array<u8, 0x10>; 27using NcaID = std::array<u8, 0x10>;
25using RegisteredCacheParsingFunction = std::function<VirtualFile(const VirtualFile&, const NcaID&)>; 28using RegisteredCacheParsingFunction = std::function<VirtualFile(const VirtualFile&, const NcaID&)>;
diff --git a/src/core/file_sys/romfs.h b/src/core/file_sys/romfs.h
index 03a876d22..e54a7d7a9 100644
--- a/src/core/file_sys/romfs.h
+++ b/src/core/file_sys/romfs.h
@@ -6,6 +6,7 @@
6 6
7#include <array> 7#include <array>
8#include "common/common_funcs.h" 8#include "common/common_funcs.h"
9#include "common/common_types.h"
9#include "common/swap.h" 10#include "common/swap.h"
10#include "core/file_sys/vfs.h" 11#include "core/file_sys/vfs.h"
11 12
diff --git a/src/core/file_sys/romfs_factory.cpp b/src/core/file_sys/romfs_factory.cpp
index eb4e6c865..66f9786e0 100644
--- a/src/core/file_sys/romfs_factory.cpp
+++ b/src/core/file_sys/romfs_factory.cpp
@@ -2,14 +2,13 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <algorithm>
6#include <memory> 5#include <memory>
6#include "common/assert.h"
7#include "common/common_types.h" 7#include "common/common_types.h"
8#include "common/logging/log.h" 8#include "common/logging/log.h"
9#include "core/file_sys/nca_metadata.h" 9#include "core/file_sys/content_archive.h"
10#include "core/file_sys/registered_cache.h" 10#include "core/file_sys/registered_cache.h"
11#include "core/file_sys/romfs_factory.h" 11#include "core/file_sys/romfs_factory.h"
12#include "core/hle/kernel/process.h"
13#include "core/hle/service/filesystem/filesystem.h" 12#include "core/hle/service/filesystem/filesystem.h"
14#include "core/loader/loader.h" 13#include "core/loader/loader.h"
15 14
diff --git a/src/core/file_sys/savedata_factory.cpp b/src/core/file_sys/savedata_factory.cpp
index 952bd74b3..e437d34e5 100644
--- a/src/core/file_sys/savedata_factory.cpp
+++ b/src/core/file_sys/savedata_factory.cpp
@@ -3,6 +3,7 @@
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include <memory> 5#include <memory>
6#include "common/assert.h"
6#include "common/common_types.h" 7#include "common/common_types.h"
7#include "common/logging/log.h" 8#include "common/logging/log.h"
8#include "core/core.h" 9#include "core/core.h"
diff --git a/src/core/file_sys/savedata_factory.h b/src/core/file_sys/savedata_factory.h
index c6f9549f0..ba978695b 100644
--- a/src/core/file_sys/savedata_factory.h
+++ b/src/core/file_sys/savedata_factory.h
@@ -6,6 +6,7 @@
6 6
7#include <memory> 7#include <memory>
8#include <string> 8#include <string>
9#include "common/common_funcs.h"
9#include "common/common_types.h" 10#include "common/common_types.h"
10#include "common/swap.h" 11#include "common/swap.h"
11#include "core/file_sys/vfs.h" 12#include "core/file_sys/vfs.h"