diff options
| author | Zach Hilman <zachhilman@gmail.com> | 2018-09-03 18:57:52 -0400 |
|---|---|---|
| committer | Zach Hilman <zachhilman@gmail.com> | 2018-09-04 16:25:10 -0400 |
| commit | 23a16c1720ee522f6ac7d1f426a2d4a918ce41c9 (patch) | |
| tree | 43a69cb7046a768760e5ae20eddfe3b53d3ca7f8 /src/core/file_sys/patch_manager.h | |
| parent | 92e26df00f12de2e084ceb84d17ca79c5323a315 (diff) | |
patch_manager: Centralize Control-type NCA parsing
Diffstat (limited to 'src/core/file_sys/patch_manager.h')
| -rw-r--r-- | src/core/file_sys/patch_manager.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/core/file_sys/patch_manager.h b/src/core/file_sys/patch_manager.h index b6bf86222..c2626bc6c 100644 --- a/src/core/file_sys/patch_manager.h +++ b/src/core/file_sys/patch_manager.h @@ -7,13 +7,14 @@ #include <map> #include <string> #include "common/common_types.h" +#include "core/file_sys/nca_metadata.h" +#include "core/file_sys/romfs_factory.h" #include "core/file_sys/vfs.h" -#include "nca_metadata.h" -#include "romfs_factory.h" namespace FileSys { class NCA; +class NACP; enum class TitleVersionFormat : u8 { ThreeElements, ///< vX.Y.Z @@ -47,6 +48,14 @@ public: // i.e. Update v80 will return {Update, 80} std::map<PatchType, std::string> GetPatchVersionNames() const; + // Given title_id of the program, attempts to get the control data of the update and parse it, + // falling back to the base control data. + std::pair<std::shared_ptr<NACP>, VirtualFile> GetControlMetadata() const; + + // Version of GetControlMetadata that takes an arbitrary NCA + std::pair<std::shared_ptr<NACP>, VirtualFile> ParseControlNCA( + const std::shared_ptr<NCA>& nca) const; + private: u64 title_id; }; |
