summaryrefslogtreecommitdiffstats
path: root/src/core/loader/loader.h
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-09-06 07:06:03 +0200
committerLiam <byteslice@airmail.cc>2023-09-06 22:49:27 +0200
commit716e0a126a22cfdeeaad6204f236324429345d2e (patch)
tree52765c887393b85518ab99f27a07e6da12ad1e3d /src/core/loader/loader.h
parentcore: Add support for loading NSPs with personalized tickets. (#10048) (diff)
downloadyuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar.gz
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar.bz2
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar.lz
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar.xz
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.tar.zst
yuzu-716e0a126a22cfdeeaad6204f236324429345d2e.zip
Diffstat (limited to '')
-rw-r--r--src/core/loader/loader.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h
index 721eb8e8c..b4828f7cd 100644
--- a/src/core/loader/loader.h
+++ b/src/core/loader/loader.h
@@ -3,6 +3,7 @@
#pragma once
+#include <functional>
#include <iosfwd>
#include <memory>
#include <optional>
@@ -132,6 +133,8 @@ enum class ResultStatus : u16 {
ErrorBLZDecompressionFailed,
ErrorBadINIHeader,
ErrorINITooManyKIPs,
+ ErrorIntegrityVerificationNotImplemented,
+ ErrorIntegrityVerificationFailed,
};
std::string GetResultStatusString(ResultStatus status);
@@ -170,6 +173,13 @@ public:
virtual LoadResult Load(Kernel::KProcess& process, Core::System& system) = 0;
/**
+ * Try to verify the integrity of the file.
+ */
+ virtual ResultStatus VerifyIntegrity(std::function<bool(size_t, size_t)> progress_callback) {
+ return ResultStatus::ErrorIntegrityVerificationNotImplemented;
+ }
+
+ /**
* Get the code (typically .code section) of the application
*
* @param[out] buffer Reference to buffer to store data