diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-07-29 19:00:09 -0400 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-08-01 00:16:54 -0400 |
commit | 03149d3e4a7f8038d9c88cbeb19dee25a39e0042 (patch) | |
tree | cae04a5eefd883d1a665d9502370ec5ff9faa3fd /src/core/file_sys | |
parent | 150527ec194107f0ba5ea9bdef487782e64090ef (diff) |
Add missing includes and use const where applicable
Diffstat (limited to 'src/core/file_sys')
-rw-r--r-- | src/core/file_sys/card_image.cpp | 5 | ||||
-rw-r--r-- | src/core/file_sys/card_image.h | 3 | ||||
-rw-r--r-- | src/core/file_sys/content_archive.cpp | 4 | ||||
-rw-r--r-- | src/core/file_sys/content_archive.h | 11 |
4 files changed, 14 insertions, 9 deletions
diff --git a/src/core/file_sys/card_image.cpp b/src/core/file_sys/card_image.cpp index 3c1dbf46c..c69812455 100644 --- a/src/core/file_sys/card_image.cpp +++ b/src/core/file_sys/card_image.cpp @@ -93,8 +93,9 @@ VirtualDir XCI::GetLogoPartition() const { } std::shared_ptr<NCA> XCI::GetNCAByType(NCAContentType type) const { - auto iter = std::find_if(ncas.begin(), ncas.end(), - [type](std::shared_ptr<NCA> nca) { return nca->GetType() == type; }); + const auto iter = + std::find_if(ncas.begin(), ncas.end(), + [type](const std::shared_ptr<NCA>& nca) { return nca->GetType() == type; }); return iter == ncas.end() ? nullptr : *iter; } diff --git a/src/core/file_sys/card_image.h b/src/core/file_sys/card_image.h index b765c8bc1..e089d737c 100644 --- a/src/core/file_sys/card_image.h +++ b/src/core/file_sys/card_image.h @@ -4,10 +4,13 @@ #pragma once +#include <array> #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 FileSys { diff --git a/src/core/file_sys/content_archive.cpp b/src/core/file_sys/content_archive.cpp index 952dc7068..9eceaa4c4 100644 --- a/src/core/file_sys/content_archive.cpp +++ b/src/core/file_sys/content_archive.cpp @@ -76,7 +76,7 @@ bool IsValidNCA(const NCAHeader& header) { return header.magic == Common::MakeMagic('N', 'C', 'A', '3'); } -Core::Crypto::Key128 NCA::GetKeyAreaKey(NCASectionCryptoType type) { +Core::Crypto::Key128 NCA::GetKeyAreaKey(NCASectionCryptoType type) const { u8 master_key_id = header.crypto_type; if (header.crypto_type_2 > master_key_id) master_key_id = header.crypto_type_2; @@ -105,7 +105,7 @@ Core::Crypto::Key128 NCA::GetKeyAreaKey(NCASectionCryptoType type) { return out; } -VirtualFile NCA::Decrypt(NCASectionHeader header, VirtualFile in, u64 starting_offset) { +VirtualFile NCA::Decrypt(NCASectionHeader header, VirtualFile in, u64 starting_offset) const { if (!encrypted) return in; diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h index 153142b06..e68ab0235 100644 --- a/src/core/file_sys/content_archive.h +++ b/src/core/file_sys/content_archive.h @@ -17,6 +17,9 @@ #include "core/loader/loader.h" namespace FileSys { + +union NCASectionHeader; + enum class NCAContentType : u8 { Program = 0, Meta = 1, @@ -61,8 +64,6 @@ struct NCAHeader { }; static_assert(sizeof(NCAHeader) == 0x400, "NCAHeader has incorrect size."); -union NCASectionHeader; - inline bool IsDirectoryExeFS(const std::shared_ptr<VfsDirectory>& pfs) { // According to switchbrew, an exefs must only contain these two files: return pfs->GetFile("main") != nullptr && pfs->GetFile("main.npdm") != nullptr; @@ -94,6 +95,9 @@ protected: bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override; private: + Core::Crypto::Key128 GetKeyAreaKey(NCASectionCryptoType type) const; + VirtualFile Decrypt(NCASectionHeader header, VirtualFile in, u64 starting_offset) const; + std::vector<VirtualDir> dirs; std::vector<VirtualFile> files; @@ -108,9 +112,6 @@ private: bool encrypted; Core::Crypto::KeyManager keys; - Core::Crypto::Key128 GetKeyAreaKey(NCASectionCryptoType type); - - VirtualFile Decrypt(NCASectionHeader header, VirtualFile in, u64 starting_offset); }; } // namespace FileSys |