summaryrefslogtreecommitdiffstats
path: root/src/core/file_sys/archive_selfncch.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/file_sys/archive_selfncch.h')
-rw-r--r--src/core/file_sys/archive_selfncch.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/file_sys/archive_selfncch.h b/src/core/file_sys/archive_selfncch.h
index f1c659948..0d6d6766e 100644
--- a/src/core/file_sys/archive_selfncch.h
+++ b/src/core/file_sys/archive_selfncch.h
@@ -6,6 +6,7 @@
#include <memory>
#include <string>
+#include <unordered_map>
#include <vector>
#include "common/common_types.h"
#include "core/file_sys/archive_backend.h"
@@ -33,7 +34,10 @@ struct NCCHData {
/// File system interface to the SelfNCCH archive
class ArchiveFactory_SelfNCCH final : public ArchiveFactory {
public:
- explicit ArchiveFactory_SelfNCCH(Loader::AppLoader& app_loader);
+ ArchiveFactory_SelfNCCH() = default;
+
+ /// Registers a loaded application so that we can open its SelfNCCH archive when requested.
+ void Register(Loader::AppLoader& app_loader);
std::string GetName() const override {
return "SelfNCCH";
@@ -43,7 +47,8 @@ public:
ResultVal<ArchiveFormatInfo> GetFormatInfo(const Path& path) const override;
private:
- NCCHData ncch_data;
+ /// Mapping of ProgramId -> NCCHData
+ std::unordered_map<u64, NCCHData> ncch_data;
};
} // namespace FileSys