summaryrefslogtreecommitdiff
path: root/src/core/loader/xci.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/loader/xci.cpp')
-rw-r--r--src/core/loader/xci.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/loader/xci.cpp b/src/core/loader/xci.cpp
index 635d6ae15..269603eef 100644
--- a/src/core/loader/xci.cpp
+++ b/src/core/loader/xci.cpp
@@ -22,9 +22,9 @@ namespace Loader {
22 22
23AppLoader_XCI::AppLoader_XCI(FileSys::VirtualFile file_, 23AppLoader_XCI::AppLoader_XCI(FileSys::VirtualFile file_,
24 const Service::FileSystem::FileSystemController& fsc, 24 const Service::FileSystem::FileSystemController& fsc,
25 const FileSys::ContentProvider& content_provider, 25 const FileSys::ContentProvider& content_provider, u64 program_id,
26 std::size_t program_index) 26 std::size_t program_index)
27 : AppLoader(file_), xci(std::make_unique<FileSys::XCI>(file_, program_index)), 27 : AppLoader(file_), xci(std::make_unique<FileSys::XCI>(file_, program_id, program_index)),
28 nca_loader(std::make_unique<AppLoader_NCA>(xci->GetProgramNCAFile())) { 28 nca_loader(std::make_unique<AppLoader_NCA>(xci->GetProgramNCAFile())) {
29 if (xci->GetStatus() != ResultStatus::Success) { 29 if (xci->GetStatus() != ResultStatus::Success) {
30 return; 30 return;
@@ -121,6 +121,11 @@ ResultStatus AppLoader_XCI::ReadProgramId(u64& out_program_id) {
121 return nca_loader->ReadProgramId(out_program_id); 121 return nca_loader->ReadProgramId(out_program_id);
122} 122}
123 123
124ResultStatus AppLoader_XCI::ReadProgramIds(std::vector<u64>& out_program_ids) {
125 out_program_ids = xci->GetProgramTitleIDs();
126 return ResultStatus::Success;
127}
128
124ResultStatus AppLoader_XCI::ReadIcon(std::vector<u8>& buffer) { 129ResultStatus AppLoader_XCI::ReadIcon(std::vector<u8>& buffer) {
125 if (icon_file == nullptr) { 130 if (icon_file == nullptr) {
126 return ResultStatus::ErrorNoControl; 131 return ResultStatus::ErrorNoControl;
@@ -149,8 +154,9 @@ ResultStatus AppLoader_XCI::ReadControlData(FileSys::NACP& control) {
149} 154}
150 155
151ResultStatus AppLoader_XCI::ReadManualRomFS(FileSys::VirtualFile& out_file) { 156ResultStatus AppLoader_XCI::ReadManualRomFS(FileSys::VirtualFile& out_file) {
152 const auto nca = xci->GetSecurePartitionNSP()->GetNCA(xci->GetProgramTitleID(), 157 const auto nca =
153 FileSys::ContentRecordType::HtmlDocument); 158 xci->GetSecurePartitionNSP()->GetNCA(xci->GetSecurePartitionNSP()->GetProgramTitleID(),
159 FileSys::ContentRecordType::HtmlDocument);
154 if (xci->GetStatus() != ResultStatus::Success || nca == nullptr) { 160 if (xci->GetStatus() != ResultStatus::Success || nca == nullptr) {
155 return ResultStatus::ErrorXCIMissingPartition; 161 return ResultStatus::ErrorXCIMissingPartition;
156 } 162 }