mitm/cfg: pass around override status for decision-making
This commit is contained in:
@@ -23,10 +23,13 @@ namespace ams::ldr {
|
||||
NON_COPYABLE(ScopedCodeMount);
|
||||
private:
|
||||
Result result;
|
||||
cfg::OverrideStatus override_status;
|
||||
bool has_status;
|
||||
bool is_code_mounted;
|
||||
bool is_hbl_mounted;
|
||||
public:
|
||||
ScopedCodeMount(const ncm::ProgramLocation &loc);
|
||||
ScopedCodeMount(const ncm::ProgramLocation &loc, const cfg::OverrideStatus &override_status);
|
||||
~ScopedCodeMount();
|
||||
|
||||
Result GetResult() const {
|
||||
@@ -41,17 +44,24 @@ namespace ams::ldr {
|
||||
return this->is_hbl_mounted;
|
||||
}
|
||||
|
||||
const cfg::OverrideStatus &GetOverrideStatus() const {
|
||||
AMS_ASSERT(this->has_status);
|
||||
return this->override_status;
|
||||
}
|
||||
|
||||
private:
|
||||
Result Initialize(const ncm::ProgramLocation &loc);
|
||||
|
||||
void InitializeOverrideStatus(const ncm::ProgramLocation &loc);
|
||||
|
||||
Result MountCodeFileSystem(const ncm::ProgramLocation &loc);
|
||||
Result MountSdCardCodeFileSystem(const ncm::ProgramLocation &loc);
|
||||
Result MountHblFileSystem();
|
||||
};
|
||||
|
||||
/* Content Management API. */
|
||||
Result OpenCodeFile(FILE *&out, ncm::ProgramId program_id, const char *relative_path);
|
||||
Result OpenCodeFileFromBaseExefs(FILE *&out, ncm::ProgramId program_id, const char *relative_path);
|
||||
Result OpenCodeFile(FILE *&out, ncm::ProgramId program_id, const cfg::OverrideStatus &status, const char *relative_path);
|
||||
Result OpenCodeFileFromBaseExefs(FILE *&out, ncm::ProgramId program_id, const cfg::OverrideStatus &status, const char *relative_path);
|
||||
|
||||
/* Redirection API. */
|
||||
Result ResolveContentPath(char *out_path, const ncm::ProgramLocation &loc);
|
||||
|
||||
Reference in New Issue
Block a user