/*
- Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
-#include <boost/filesystem.hpp>
-#include "examine_content_job.h"
-#include "log.h"
+
#include "content.h"
+#include "examine_content_job.h"
#include "film.h"
+#include "log.h"
+#include <boost/filesystem.hpp>
#include <iostream>
#include "i18n.h"
+
using std::string;
using std::cout;
using std::shared_ptr;
+
ExamineContentJob::ExamineContentJob (shared_ptr<const Film> film, shared_ptr<Content> c)
: Job (film)
, _content (c)
}
+
ExamineContentJob::~ExamineContentJob ()
{
stop_thread ();
}
+
string
ExamineContentJob::name () const
{
return _("Examining content");
}
+
string
ExamineContentJob::json_name () const
{
return N_("examine_content");
}
+
void
ExamineContentJob::run ()
{
/*
- Copyright (C) 2012 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#include "job.h"
+
class Content;
+
class ExamineContentJob : public Job
{
public:
/*
- Copyright (C) 2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2015-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
#ifndef DCPOMATIC_SIGNALLER_H
#define DCPOMATIC_SIGNALLER_H
+
#include "signal_manager.h"
#include <boost/thread/mutex.hpp>
+
class WrapperBase
{
public:
- WrapperBase ()
- : _valid (true)
- , _finished (false)
- {}
-
virtual ~WrapperBase () {}
/* Can be called from any thread */
protected:
/* Protect _valid and _finished */
mutable boost::mutex _mutex;
- bool _valid;
- bool _finished;
+ bool _valid = true;
+ bool _finished = false;
};
+
/** Helper class to manage lifetime of signals, specifically to address
* the problem where an object containing a signal is deleted before
* its signal is emitted.
T _signal;
};
+
/** Parent for any class which needs to raise cross-thread signals (from non-UI
* to UI). Subclasses should call, e.g. emit (boost::bind (boost::ref (MySignal), foo, bar));
*/
/* Can be called from any thread */
virtual ~Signaller () {
boost::mutex::scoped_lock lm (_signaller_mutex);
- for (std::list<WrapperBase*>::iterator i = _wrappers.begin(); i != _wrappers.end(); ++i) {
- (*i)->invalidate ();
+ for (auto i: _wrappers) {
+ i->invalidate();
}
}
template <class T>
void emit (T signal)
{
- Wrapper<T>* w = new Wrapper<T> (signal);
+ auto w = new Wrapper<T> (signal);
if (signal_manager) {
- signal_manager->emit (boost::bind (&Wrapper<T>::signal, w));
+ signal_manager->emit (boost::bind(&Wrapper<T>::signal, w));
}
boost::mutex::scoped_lock lm (_signaller_mutex);
/* Clean up finished Wrappers */
- std::list<WrapperBase*>::iterator i = _wrappers.begin ();
+ auto i = _wrappers.begin ();
while (i != _wrappers.end ()) {
- std::list<WrapperBase*>::iterator tmp = i;
+ auto tmp = i;
++tmp;
if ((*i)->finished ()) {
delete *i;
std::list<WrapperBase*> _wrappers;
};
+
#endif
/*
- Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
/** @file src/upload_job.cc
* @brief A job to copy DCPs to a server using libcurl.
*/
+
#include "compose.hpp"
-#include "upload_job.h"
#include "config.h"
-#include "log.h"
+#include "curl_uploader.h"
#include "dcpomatic_log.h"
#include "film.h"
+#include "log.h"
#include "scp_uploader.h"
-#include "curl_uploader.h"
+#include "upload_job.h"
#include <iostream>
#include "i18n.h"
+
using std::string;
using std::min;
using std::shared_ptr;
using namespace boost::placeholders;
#endif
+
UploadJob::UploadJob (shared_ptr<const Film> film)
: Job (film)
, _status (_("Waiting"))
}
+
UploadJob::~UploadJob ()
{
stop_thread ();
}
+
string
UploadJob::name () const
{
return _("Copy DCP to TMS");
}
+
string
UploadJob::json_name () const
{
return N_("upload");
}
+
void
UploadJob::run ()
{
set_state (FINISHED_OK);
}
+
string
UploadJob::status () const
{
boost::mutex::scoped_lock lm (_status_mutex);
- string s = Job::status ();
- if (!_status.empty () && !finished_in_error ()) {
+ auto s = Job::status ();
+ if (!_status.empty() && !finished_in_error()) {
s += N_("; ") + _status;
}
return s;
}
+
void
UploadJob::set_status (string s)
{
/*
- Copyright (C) 2012-2015 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
+
/** @file src/upload_job.h
* @brief A job to copy DCPs to a server using libcurl.
*/
+
#include "job.h"
+
class UploadJob : public Job
{
public: