summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/patch_manager.h
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-09-04 00:57:52 +0200
committerZach Hilman <zachhilman@gmail.com>2018-09-04 22:25:10 +0200
commit23a16c1720ee522f6ac7d1f426a2d4a918ce41c9 (patch)
tree43a69cb7046a768760e5ae20eddfe3b53d3ca7f8 /src/core/file_sys/patch_manager.h
parentnsp: Fix error masking issue with XCI files (diff)
downloadyuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar.gz
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar.bz2
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar.lz
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar.xz
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.tar.zst
yuzu-23a16c1720ee522f6ac7d1f426a2d4a918ce41c9.zip
Diffstat (limited to 'src/core/file_sys/patch_manager.h')
-rw-r--r--src/core/file_sys/patch_manager.h13
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;
};