X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fsend_problem_report_job.cc;h=6ab83ee6211d6bea24b93fb6e6367f367d93f979;hp=11f700de077490751550913257e8991df05f4d8a;hb=da44da6f31f97d39ca91c35955e573e76371f2c2;hpb=e075012124424b77044b5d61885ed2646d3781cd diff --git a/src/lib/send_problem_report_job.cc b/src/lib/send_problem_report_job.cc index 11f700de0..6ab83ee62 100644 --- a/src/lib/send_problem_report_job.cc +++ b/src/lib/send_problem_report_job.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2014-2017 Carl Hetherington + Copyright (C) 2014-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,6 +18,7 @@ */ + #include "send_problem_report_job.h" #include "compose.hpp" #include "film.h" @@ -28,13 +29,14 @@ #include "emailer.h" #include "environment_info.h" #include -#include #include "i18n.h" -using std::string; + using std::list; -using boost::shared_ptr; +using std::shared_ptr; +using std::string; + /** @param film Film thta the problem is with, or 0. * @param from Email address to use for From: @@ -52,6 +54,13 @@ SendProblemReportJob::SendProblemReportJob ( } + +SendProblemReportJob::~SendProblemReportJob () +{ + stop_thread (); +} + + string SendProblemReportJob::name () const { @@ -62,12 +71,14 @@ SendProblemReportJob::name () const return String::compose (_("Email problem report for %1"), _film->name()); } + string SendProblemReportJob::json_name () const { return N_("send_problem_report"); } + void SendProblemReportJob::run () { @@ -76,9 +87,9 @@ SendProblemReportJob::run () string body = _summary + "\n\n"; - body += "Version: " + string (dcpomatic_version) + " " + string (dcpomatic_git_commit) + "\n\n"; + body += "Version: " + string(dcpomatic_version) + " " + string(dcpomatic_git_commit) + "\n\n"; - BOOST_FOREACH (string i, environment_info ()) { + for (auto i: environment_info ()) { body += i + "\n"; } @@ -97,32 +108,19 @@ SendProblemReportJob::run () body += "---<8----\n"; } - list to; - to.push_back ("carl@dcpomatic.com"); - - Emailer emailer (_from, to, "DCP-o-matic problem report", body); - emailer.send ("main.carlh.net", 2525, EMAIL_PROTOCOL_STARTTLS); + Emailer emailer (_from, {"carl@dcpomatic.com"}, "DCP-o-matic problem report", body); + emailer.send ("main.carlh.net", 2525, EmailProtocol::STARTTLS); set_progress (1); set_state (FINISHED_OK); } + void SendProblemReportJob::add_file (string& body, boost::filesystem::path file) const { - FILE* f = fopen_boost (_film->file (file), "r"); - if (!f) { - return; - } - body += file.string() + ":\n"; body += "---<8----\n"; - uintmax_t const size = boost::filesystem::file_size (_film->file (file)); - char* buffer = new char[size + 1]; - int const N = fread (buffer, 1, size, f); - buffer[N] = '\0'; - body += buffer; - delete[] buffer; + body += dcp::file_to_string (_film->file(file)); body += "---<8----\n\n"; - fclose (f); }