summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/download_certificate_panel.cc25
-rw-r--r--src/wx/download_certificate_panel.h2
-rw-r--r--src/wx/qube_certificate_panel.cc28
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) {