summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/patch_manager.h
diff options
context:
space:
mode:
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;
};