X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fverify_dcp_job.cc;h=b59f5bfabb34eb43964295fd35cad2865500465c;hb=7274622a833c05eee36b7e59d8ec2ca3e136d140;hp=908cd53a7f14d3ae8ad8665a3874d480ebc1661e;hpb=2c4776f4beb5fd29be840c57a0e8878422ac530d;p=dcpomatic.git diff --git a/src/lib/verify_dcp_job.cc b/src/lib/verify_dcp_job.cc index 908cd53a7..b59f5bfab 100644 --- a/src/lib/verify_dcp_job.cc +++ b/src/lib/verify_dcp_job.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018-2019 Carl Hetherington + Copyright (C) 2018-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,16 +18,22 @@ */ + #include "cross.h" #include "verify_dcp_job.h" #include "content.h" #include "i18n.h" + using std::string; using std::vector; -using boost::shared_ptr; +using std::shared_ptr; using boost::optional; +#if BOOST_VERSION >= 106100 +using namespace boost::placeholders; +#endif + VerifyDCPJob::VerifyDCPJob (vector directories) : Job (shared_ptr()) @@ -36,18 +42,27 @@ VerifyDCPJob::VerifyDCPJob (vector directories) } + +VerifyDCPJob::~VerifyDCPJob () +{ + stop_thread (); +} + + string VerifyDCPJob::name () const { return _("Verify DCP"); } + string VerifyDCPJob::json_name () const { return N_("verify_dcp"); } + void VerifyDCPJob::update_stage (string s, optional path) { @@ -57,14 +72,15 @@ VerifyDCPJob::update_stage (string s, optional path) sub (s); } + void VerifyDCPJob::run () { - _notes = dcp::verify (_directories, bind (&VerifyDCPJob::update_stage, this, _1, _2), bind (&VerifyDCPJob::set_progress, this, _1, false), shared_path() / "xsd"); + _notes = dcp::verify (_directories, bind (&VerifyDCPJob::update_stage, this, _1, _2), bind (&VerifyDCPJob::set_progress, this, _1, false), libdcp_resources_path() / "xsd"); bool failed = false; - BOOST_FOREACH (dcp::VerificationNote i, _notes) { - if (i.type() == dcp::VerificationNote::VERIFY_ERROR) { + for (auto i: _notes) { + if (i.type() == dcp::VerificationNote::Type::ERROR) { failed = true; } }