diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/job.cc | 6 | ||||
| -rw-r--r-- | src/lib/job.h | 4 | ||||
| -rw-r--r-- | src/lib/upload_job.cc | 10 | ||||
| -rw-r--r-- | src/lib/upload_job.h | 4 |
4 files changed, 24 insertions, 0 deletions
diff --git a/src/lib/job.cc b/src/lib/job.cc index 02d9d2a00..f83dd6a83 100644 --- a/src/lib/job.cc +++ b/src/lib/job.cc @@ -762,3 +762,9 @@ Job::set_rate_limit_progress(bool rate_limit) _rate_limit_progress = rate_limit; } + +void +Job::retry() const +{ + DCPOMATIC_ASSERT(false); +} diff --git a/src/lib/job.h b/src/lib/job.h index d46e5c73a..021387626 100644 --- a/src/lib/job.h +++ b/src/lib/job.h @@ -60,6 +60,10 @@ public: virtual bool enable_notify() const { return false; } + virtual void retry() const; + virtual bool enable_retry() const { + return false; + } void start(); virtual void pause() {} diff --git a/src/lib/upload_job.cc b/src/lib/upload_job.cc index 3cfbad727..5d4558f3a 100644 --- a/src/lib/upload_job.cc +++ b/src/lib/upload_job.cc @@ -30,6 +30,7 @@ #include "dcpomatic_log.h" #include "film.h" #include "log.h" +#include "job_manager.h" #include "scp_uploader.h" #include "upload_job.h" #include <fmt/format.h> @@ -37,6 +38,7 @@ #include "i18n.h" +using std::make_shared; using std::min; using std::shared_ptr; using std::string; @@ -117,3 +119,11 @@ UploadJob::set_status (string s) boost::mutex::scoped_lock lm (_status_mutex); _status = s; } + + +void +UploadJob::retry() const +{ + JobManager::instance()->add(make_shared<UploadJob>(film(), _destination)); +} + diff --git a/src/lib/upload_job.h b/src/lib/upload_job.h index eee890e34..bd9428bd7 100644 --- a/src/lib/upload_job.h +++ b/src/lib/upload_job.h @@ -40,6 +40,10 @@ public: bool enable_notify() const override { return true; } + void retry() const override; + bool enable_retry() const override { + return true; + } std::string status () const override; private: |
