summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/submission_package.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/file_sys/submission_package.h')
-rw-r--r--src/core/file_sys/submission_package.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/core/file_sys/submission_package.h b/src/core/file_sys/submission_package.h
index ecb3b6f15..030f36c09 100644
--- a/src/core/file_sys/submission_package.h
+++ b/src/core/file_sys/submission_package.h
@@ -6,6 +6,7 @@
#include <map>
#include <memory>
+#include <set>
#include <vector>
#include "common/common_types.h"
#include "core/file_sys/vfs.h"
@@ -27,15 +28,15 @@ enum class ContentRecordType : u8;
class NSP : public ReadOnlyVfsDirectory {
public:
- explicit NSP(VirtualFile file_, std::size_t program_index_ = 0);
+ explicit NSP(VirtualFile file_, u64 title_id = 0, std::size_t program_index_ = 0);
~NSP() override;
Loader::ResultStatus GetStatus() const;
- Loader::ResultStatus GetProgramStatus(u64 title_id) const;
+ Loader::ResultStatus GetProgramStatus() const;
// Should only be used when one title id can be assured.
- u64 GetFirstTitleID() const;
u64 GetProgramTitleID() const;
- std::vector<u64> GetTitleIDs() const;
+ u64 GetExtractedTitleID() const;
+ std::vector<u64> GetProgramTitleIDs() const;
bool IsExtractedType() const;
@@ -69,6 +70,7 @@ private:
VirtualFile file;
+ const u64 expected_program_id;
const std::size_t program_index;
bool extracted = false;
@@ -78,6 +80,7 @@ private:
std::shared_ptr<PartitionFilesystem> pfs;
// Map title id -> {map type -> NCA}
std::map<u64, std::map<std::pair<TitleType, ContentRecordType>, std::shared_ptr<NCA>>> ncas;
+ std::set<u64> program_ids;
std::vector<VirtualFile> ticket_files;
Core::Crypto::KeyManager& keys;