summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-12-17 18:26:27 +0100
committerCarl Hetherington <cth@carlh.net>2025-12-18 02:07:55 +0100
commitc715c9e35c031ece656808b20ad0f95ac9e70e7b (patch)
tree188a15fde2aa5c0f87e2449eb519197e9390c143
parent566a07ab73dd2d0dfc592771a4bff9ef2357e1b6 (diff)
Allow VerifyDCPJob to take a vector of DecryptedKDMs.
-rw-r--r--src/lib/verify_dcp_job.cc28
-rw-r--r--src/lib/verify_dcp_job.h9
2 files changed, 27 insertions, 10 deletions
diff --git a/src/lib/verify_dcp_job.cc b/src/lib/verify_dcp_job.cc
index 6b928a146..60ef714d6 100644
--- a/src/lib/verify_dcp_job.cc
+++ b/src/lib/verify_dcp_job.cc
@@ -43,6 +43,24 @@ VerifyDCPJob::VerifyDCPJob(
)
: Job({})
, _directories(directories)
+ , _options(options)
+{
+ vector<dcp::DecryptedKDM> decrypted_kdms;
+ if (auto key = Config::instance()->decryption_chain()->key()) {
+ for (auto const& kdm: kdms) {
+ _kdms.push_back(dcp::DecryptedKDM{dcp::EncryptedKDM(dcp::file_to_string(kdm)), *key});
+ }
+ }
+}
+
+
+VerifyDCPJob::VerifyDCPJob(
+ vector<boost::filesystem::path> directories,
+ vector<dcp::DecryptedKDM> kdms,
+ dcp::VerificationOptions options
+ )
+ : Job({})
+ , _directories(directories)
, _kdms(kdms)
, _options(options)
{
@@ -83,17 +101,9 @@ VerifyDCPJob::update_stage(string s, optional<boost::filesystem::path> path)
void
VerifyDCPJob::run()
{
- vector<dcp::DecryptedKDM> decrypted_kdms;
- auto key = Config::instance()->decryption_chain()->key();
- if (key) {
- for (auto kdm: _kdms) {
- decrypted_kdms.push_back(dcp::DecryptedKDM{dcp::EncryptedKDM(dcp::file_to_string(kdm)), *key});
- }
- }
-
_result = dcp::verify(
_directories,
- decrypted_kdms,
+ _kdms,
bind(&VerifyDCPJob::update_stage, this, _1, _2),
bind(&VerifyDCPJob::set_progress, this, _1, false),
_options,
diff --git a/src/lib/verify_dcp_job.h b/src/lib/verify_dcp_job.h
index c7b21b484..96a8c8969 100644
--- a/src/lib/verify_dcp_job.h
+++ b/src/lib/verify_dcp_job.h
@@ -34,6 +34,13 @@ public:
std::vector<boost::filesystem::path> kdms,
dcp::VerificationOptions options
);
+
+ VerifyDCPJob(
+ std::vector<boost::filesystem::path> directories,
+ std::vector<dcp::DecryptedKDM> kdms,
+ dcp::VerificationOptions options
+ );
+
~VerifyDCPJob();
std::string name() const override;
@@ -52,7 +59,7 @@ private:
void update_stage(std::string s, boost::optional<boost::filesystem::path> path);
std::vector<boost::filesystem::path> _directories;
- std::vector<boost::filesystem::path> _kdms;
+ std::vector<dcp::DecryptedKDM> _kdms;
dcp::VerificationOptions _options;
dcp::VerificationResult _result;
};