summaryrefslogtreecommitdiff
path: root/src/lib/scp_uploader.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2025-04-29 00:47:47 +0200
committerCarl Hetherington <cth@carlh.net>2025-06-03 22:46:26 +0200
commitfb5b8ae43e373c37b78202217528be73efa162cc (patch)
tree9dfb23d6188ba86485795eb13876ebc01f560874 /src/lib/scp_uploader.cc
parenteb2452d1d76e7b87a61e88773b29206ff5833e34 (diff)
Allow multiple upload destinations instead of just the TMS.
Diffstat (limited to 'src/lib/scp_uploader.cc')
-rw-r--r--src/lib/scp_uploader.cc14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/lib/scp_uploader.cc b/src/lib/scp_uploader.cc
index 193894293..1665c7a53 100644
--- a/src/lib/scp_uploader.cc
+++ b/src/lib/scp_uploader.cc
@@ -39,22 +39,22 @@ using std::shared_ptr;
using std::string;
-SCPUploader::SCPUploader(function<void (string)> set_status, function<void (float)> set_progress)
- : Uploader(set_status, set_progress)
+SCPUploader::SCPUploader(UploadDestination destination, function<void (string)> set_status, function<void (float)> set_progress)
+ : Uploader(destination, set_status, set_progress)
{
_session = ssh_new();
if (!_session) {
throw NetworkError(String::compose(_("SSH error [%1]"), "ssh_new"));
}
- ssh_options_set(_session, SSH_OPTIONS_HOST, Config::instance()->tms_ip().c_str());
- ssh_options_set(_session, SSH_OPTIONS_USER, Config::instance()->tms_user().c_str());
+ ssh_options_set(_session, SSH_OPTIONS_HOST, _destination.host.c_str());
+ ssh_options_set(_session, SSH_OPTIONS_USER, _destination.user.c_str());
int const port = 22;
ssh_options_set(_session, SSH_OPTIONS_PORT, &port);
int r = ssh_connect(_session);
if (r != SSH_OK) {
- throw NetworkError(String::compose(_("Could not connect to server %1 (%2)"), Config::instance()->tms_ip(), ssh_get_error(_session)));
+ throw NetworkError(String::compose(_("Could not connect to server %1 (%2)"), _destination.host, ssh_get_error(_session)));
}
LIBDCP_DISABLE_WARNINGS
@@ -64,13 +64,13 @@ LIBDCP_DISABLE_WARNINGS
}
LIBDCP_ENABLE_WARNINGS
- r = ssh_userauth_password(_session, 0, Config::instance()->tms_password().c_str());
+ r = ssh_userauth_password(_session, 0, _destination.password.c_str());
if (r != SSH_AUTH_SUCCESS) {
throw NetworkError(String::compose(_("Failed to authenticate with server (%1)"), ssh_get_error(_session)));
}
LIBDCP_DISABLE_WARNINGS
- _scp = ssh_scp_new(_session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, Config::instance()->tms_path().c_str());
+ _scp = ssh_scp_new(_session, SSH_SCP_WRITE | SSH_SCP_RECURSIVE, _destination.path.c_str());
LIBDCP_ENABLE_WARNINGS
if (!_scp) {
throw NetworkError(String::compose(_("SSH error [%1] (%2)"), "ssh_scp_new", ssh_get_error(_session)));