From c715c9e35c031ece656808b20ad0f95ac9e70e7b Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 17 Dec 2025 18:26:27 +0100 Subject: Allow VerifyDCPJob to take a vector of DecryptedKDMs. --- src/lib/verify_dcp_job.cc | 28 +++++++++++++++++++--------- src/lib/verify_dcp_job.h | 9 ++++++++- 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 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 directories, + vector kdms, + dcp::VerificationOptions options + ) + : Job({}) + , _directories(directories) , _kdms(kdms) , _options(options) { @@ -83,17 +101,9 @@ VerifyDCPJob::update_stage(string s, optional path) void VerifyDCPJob::run() { - vector 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 kdms, dcp::VerificationOptions options ); + + VerifyDCPJob( + std::vector directories, + std::vector kdms, + dcp::VerificationOptions options + ); + ~VerifyDCPJob(); std::string name() const override; @@ -52,7 +59,7 @@ private: void update_stage(std::string s, boost::optional path); std::vector _directories; - std::vector _kdms; + std::vector _kdms; dcp::VerificationOptions _options; dcp::VerificationResult _result; }; -- cgit v1.2.3