diff options
Diffstat (limited to 'src/wx')
| -rw-r--r-- | src/wx/download_certificate_panel.cc | 25 | ||||
| -rw-r--r-- | src/wx/download_certificate_panel.h | 2 | ||||
| -rw-r--r-- | src/wx/qube_certificate_panel.cc | 28 |
3 files changed, 2 insertions, 53 deletions
diff --git a/src/wx/download_certificate_panel.cc b/src/wx/download_certificate_panel.cc index 656e998a2..0f3378559 100644 --- a/src/wx/download_certificate_panel.cc +++ b/src/wx/download_certificate_panel.cc @@ -56,35 +56,10 @@ DownloadCertificatePanel::DownloadCertificatePanel (DownloadCertificateDialog* d } -void -DownloadCertificatePanel::load_certificate(dcp::Data const& data, string url) -{ - try { - _certificate = dcp::Certificate(data.as_string()); - _url = url; - } catch (dcp::MiscError& e) { - throw CertificateDownloadError(fmt::format(wx_to_std(_("Could not read certificate file ({})")), e.what())); - } -} - - -void -DownloadCertificatePanel::load_certificate_from_chain(dcp::Data const& data, string url) -{ - try { - _certificate = dcp::CertificateChain(data.as_string()).leaf(); - _url = url; - } catch (dcp::MiscError& e) { - throw CertificateDownloadError(fmt::format(wx_to_std(_("Could not read certificate file ({})")), e.what())); - } -} - - optional<dcp::Certificate> DownloadCertificatePanel::certificate () const { return _certificate; - } diff --git a/src/wx/download_certificate_panel.h b/src/wx/download_certificate_panel.h index c53b30009..05f4e289c 100644 --- a/src/wx/download_certificate_panel.h +++ b/src/wx/download_certificate_panel.h @@ -48,8 +48,6 @@ public: virtual bool ready_to_download () const; void download (); - void load_certificate(dcp::Data const& data, std::string url); - void load_certificate_from_chain(dcp::Data const& data, std::string url); boost::optional<dcp::Certificate> certificate () const; boost::optional<std::string> url () const; diff --git a/src/wx/qube_certificate_panel.cc b/src/wx/qube_certificate_panel.cc index b2603d1b8..0b1b65bde 100644 --- a/src/wx/qube_certificate_panel.cc +++ b/src/wx/qube_certificate_panel.cc @@ -23,6 +23,7 @@ #include "qube_certificate_panel.h" #include "wx_util.h" #include "lib/config.h" +#include "lib/download_certificate.h" #include "lib/internet.h" #include <boost/algorithm/string.hpp> @@ -36,9 +37,6 @@ using namespace boost::placeholders; #endif -static string const base = "ftp://certificates.qubecinema.com/"; - - QubeCertificatePanel::QubeCertificatePanel (DownloadCertificateDialog* dialog, string type) : DownloadCertificatePanel (dialog) , _type (type) @@ -50,33 +48,11 @@ QubeCertificatePanel::QubeCertificatePanel (DownloadCertificateDialog* dialog, s void QubeCertificatePanel::do_download () { - auto files = ls_url(fmt::format("{}SMPTE-{}/", base, _type)); - if (files.empty()) { - error_dialog (this, _("Could not read certificates from Qube server.")); - return; - } - auto serial = wx_to_std(_serial->GetValue()); trim(serial); - optional<string> name; - for (auto i: files) { - if (boost::algorithm::starts_with(i, fmt::format("{}-{}-", _type, serial))) { - name = i; - break; - } - } - - if (!name) { - _dialog->message()->SetLabel({}); - error_dialog (this, wxString::Format(_("Could not find serial number %s"), std_to_wx(serial).data())); - return; - } - try { - auto const url = fmt::format("{}SMPTE-{}/{}", base, _type, *name); - auto const data = get_from_url(url, true, false); - load_certificate(data, url); + std::tie(_certificate, _url) = download_certificate(Manufacturer::GDC, serial, []() { wxYield(); }); _dialog->message()->SetLabel(_("Certificate downloaded")); _dialog->setup_sensitivity (); } catch (std::exception& e) { |
