From 477eee3993fe366bcc4cf937de30259ec359adf0 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 20 Aug 2018 20:36:36 -0400 Subject: [PATCH] service/filesystem: Use forward declarations where applicable Avoids the need to rebuild multiple source files if the filesystem code headers change. This also gets rid of a few instances of indirect inclusions being relied upon --- src/core/file_sys/romfs_factory.cpp | 1 + src/core/hle/service/filesystem/filesystem.cpp | 2 ++ src/core/hle/service/filesystem/filesystem.h | 18 ++++++++++++++---- src/core/hle/service/filesystem/fsp_srv.cpp | 4 +++- .../loader/deconstructed_rom_directory.cpp | 1 + src/core/loader/nca.cpp | 1 + src/yuzu/game_list.cpp | 1 + src/yuzu/game_list_p.h | 3 +++ src/yuzu/main.cpp | 2 ++ 9 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/core/file_sys/romfs_factory.cpp b/src/core/file_sys/romfs_factory.cpp index ab67bc749..eb4e6c865 100644 --- a/src/core/file_sys/romfs_factory.cpp +++ b/src/core/file_sys/romfs_factory.cpp @@ -7,6 +7,7 @@ #include "common/common_types.h" #include "common/logging/log.h" #include "core/file_sys/nca_metadata.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" diff --git a/src/core/hle/service/filesystem/filesystem.cpp b/src/core/hle/service/filesystem/filesystem.cpp index f374111c1..0d2b1544f 100644 --- a/src/core/hle/service/filesystem/filesystem.cpp +++ b/src/core/hle/service/filesystem/filesystem.cpp @@ -7,7 +7,9 @@ #include "common/assert.h" #include "common/file_util.h" #include "core/core.h" +#include "core/file_sys/bis_factory.h" #include "core/file_sys/errors.h" +#include "core/file_sys/romfs_factory.h" #include "core/file_sys/savedata_factory.h" #include "core/file_sys/sdmc_factory.h" #include "core/file_sys/vfs.h" diff --git a/src/core/hle/service/filesystem/filesystem.h b/src/core/hle/service/filesystem/filesystem.h index 37a2878b0..572c16f4d 100644 --- a/src/core/hle/service/filesystem/filesystem.h +++ b/src/core/hle/service/filesystem/filesystem.h @@ -6,14 +6,24 @@ #include #include "common/common_types.h" -#include "core/file_sys/bis_factory.h" #include "core/file_sys/directory.h" #include "core/file_sys/mode.h" -#include "core/file_sys/romfs_factory.h" -#include "core/file_sys/savedata_factory.h" -#include "core/file_sys/sdmc_factory.h" #include "core/hle/result.h" +namespace FileSys { +class BISFactory; +class RegisteredCache; +class RomFSFactory; +class SaveDataFactory; +class SDMCFactory; + +enum class ContentRecordType : u8; +enum class SaveDataSpaceId : u8; +enum class StorageId : u8; + +struct SaveDataDescriptor; +} // namespace FileSys + namespace Service { namespace SM { diff --git a/src/core/hle/service/filesystem/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp_srv.cpp index 2f8a7a3c1..8ece74d7e 100644 --- a/src/core/hle/service/filesystem/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp_srv.cpp @@ -13,9 +13,11 @@ #include "common/common_types.h" #include "common/logging/log.h" #include "common/string_util.h" -#include "core/core.h" #include "core/file_sys/directory.h" #include "core/file_sys/errors.h" +#include "core/file_sys/nca_metadata.h" +#include "core/file_sys/savedata_factory.h" +#include "core/file_sys/vfs.h" #include "core/hle/ipc_helpers.h" #include "core/hle/kernel/process.h" #include "core/hle/service/filesystem/filesystem.h" diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index d575a9bea..4c79d7902 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp @@ -8,6 +8,7 @@ #include "common/logging/log.h" #include "core/file_sys/content_archive.h" #include "core/file_sys/control_metadata.h" +#include "core/file_sys/romfs_factory.h" #include "core/gdbstub/gdbstub.h" #include "core/hle/kernel/process.h" #include "core/hle/kernel/resource_limit.h" diff --git a/src/core/loader/nca.cpp b/src/core/loader/nca.cpp index 9d50c7d42..c036a8a1c 100644 --- a/src/core/loader/nca.cpp +++ b/src/core/loader/nca.cpp @@ -7,6 +7,7 @@ #include "common/file_util.h" #include "common/logging/log.h" #include "core/file_sys/content_archive.h" +#include "core/file_sys/romfs_factory.h" #include "core/hle/kernel/process.h" #include "core/hle/service/filesystem/filesystem.h" #include "core/loader/deconstructed_rom_directory.h" diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp index bc4b93033..a974fb933 100644 --- a/src/yuzu/game_list.cpp +++ b/src/yuzu/game_list.cpp @@ -16,6 +16,7 @@ #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" #include "core/file_sys/romfs.h" #include "core/file_sys/vfs_real.h" #include "core/loader/loader.h" diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h index 10c2ef075..c59613769 100644 --- a/src/yuzu/game_list_p.h +++ b/src/yuzu/game_list_p.h @@ -6,12 +6,15 @@ #include #include +#include +#include #include #include #include #include #include #include "common/string_util.h" +#include "core/file_sys/content_archive.h" #include "ui_settings.h" #include "yuzu/util/util.h" diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 11d2331df..3db3f9d98 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -27,7 +27,9 @@ #include "common/string_util.h" #include "core/core.h" #include "core/crypto/key_manager.h" +#include "core/file_sys/bis_factory.h" #include "core/file_sys/card_image.h" +#include "core/file_sys/registered_cache.h" #include "core/file_sys/vfs_real.h" #include "core/gdbstub/gdbstub.h" #include "core/loader/loader.h"