X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fverify_dcp_job.cc;h=c1dcbc7924f4e8b5de653e8f6d53ef5f00a0faaf;hb=001ba1644fc6aa54f91fcaaa62ae7e5de2313bc1;hp=8ac41d2a4b9f70fc4edea9cb957c4825e0056d48;hpb=e8722ddec03cb18e8c23e604414f9d3a7cf2bae8;p=dcpomatic.git diff --git a/src/lib/verify_dcp_job.cc b/src/lib/verify_dcp_job.cc index 8ac41d2a4..c1dcbc792 100644 --- a/src/lib/verify_dcp_job.cc +++ b/src/lib/verify_dcp_job.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2018 Carl Hetherington + Copyright (C) 2018-2019 Carl Hetherington This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ +#include "cross.h" #include "verify_dcp_job.h" #include "content.h" @@ -26,6 +27,7 @@ using std::string; using std::vector; using boost::shared_ptr; +using boost::optional; VerifyDCPJob::VerifyDCPJob (vector directories) : Job (shared_ptr()) @@ -34,6 +36,11 @@ VerifyDCPJob::VerifyDCPJob (vector directories) } +VerifyDCPJob::~VerifyDCPJob () +{ + stop_thread (); +} + string VerifyDCPJob::name () const { @@ -46,10 +53,19 @@ VerifyDCPJob::json_name () const return N_("verify_dcp"); } +void +VerifyDCPJob::update_stage (string s, optional path) +{ + if (path) { + s += ": " + path->string(); + } + sub (s); +} + void VerifyDCPJob::run () { - _notes = dcp::verify (_directories); + _notes = dcp::verify (_directories, bind (&VerifyDCPJob::update_stage, this, _1, _2), bind (&VerifyDCPJob::set_progress, this, _1, false), shared_path() / "xsd"); bool failed = false; BOOST_FOREACH (dcp::VerificationNote i, _notes) {