From ad4e95000598903a49ade050a65299ca4c51516b Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Thu, 19 Dec 2024 10:29:24 -0600 Subject: [PATCH] refactor remote mount --- .../librepertory/include/types/remote.hpp | 4 +- repertory/librepertory/src/app_config.cpp | 54 +++++++++++++++++++ .../providers/encrypt/encrypt_provider.cpp | 4 +- 3 files changed, 58 insertions(+), 4 deletions(-) diff --git a/repertory/librepertory/include/types/remote.hpp b/repertory/librepertory/include/types/remote.hpp index 85bb5fda..c55a4b2a 100644 --- a/repertory/librepertory/include/types/remote.hpp +++ b/repertory/librepertory/include/types/remote.hpp @@ -198,9 +198,9 @@ template <> struct adl_serializer { {"ApiPort", value.api_port}, {"EncryptionToken", value.encryption_token}, {"HostNameOrIp", value.host_name_or_ip}, + {"MaxConnections", value.max_connections}, {"ReceiveTimeoutMs", value.recv_timeout_ms}, {"SendTimeoutMs", value.send_timeout_ms}, - {"MaxConnections", value.max_connections}, }; } @@ -209,9 +209,9 @@ template <> struct adl_serializer { data.at("ApiPort").get_to(value.api_port); data.at("EncryptionToken").get_to(value.encryption_token); data.at("HostNameOrIp").get_to(value.host_name_or_ip); + data.at("MaxConnections").get_to(value.max_connections); data.at("ReceiveTimeoutMs").get_to(value.recv_timeout_ms); data.at("SendTimeoutMs").get_to(value.send_timeout_ms); - data.at("MaxConnections").get_to(value.max_connections); } }; NLOHMANN_JSON_NAMESPACE_END diff --git a/repertory/librepertory/src/app_config.cpp b/repertory/librepertory/src/app_config.cpp index 6b2934d1..b52de10b 100644 --- a/repertory/librepertory/src/app_config.cpp +++ b/repertory/librepertory/src/app_config.cpp @@ -423,6 +423,24 @@ auto app_config::get_value_by_name(const std::string &name) const return download_type_to_string(download_type_from_string( preferred_download_type_, download_type::fallback)); } + if (name == "RemoteConfig.ApiPort") { + return std::to_string(get_remote_config().api_port); + } + if (name == "RemoteConfig.EncryptionToken") { + return get_remote_config().encryption_token; + } + if (name == "RemoteConfig.HostNameOrIp") { + return get_remote_config().host_name_or_ip; + } + if (name == "RemoteConfig.MaxConnections") { + return std::to_string(get_remote_config().max_connections); + } + if (name == "RemoteConfig.ReceiveTimeoutMs") { + return std::to_string(get_remote_config().recv_timeout_ms); + } + if (name == "RemoteConfig.SendTimeoutMs") { + return std::to_string(get_remote_config().send_timeout_ms); + } if (name == "RemoteMount.Enable") { return utils::string::from_bool(get_enable_remote_mount()); } @@ -790,6 +808,42 @@ auto app_config::set_value_by_name(const std::string &name, download_type_from_string(value, download_type::fallback)); return download_type_to_string(get_preferred_download_type()); } + if (name == "RemoteConfig.ApiPort") { + auto cfg = get_remote_config(); + cfg.api_port = utils::string::to_uint16(value); + set_remote_config(cfg); + return std::to_string(get_remote_config().api_port); + } + if (name == "RemoteConfig.EncryptionToken") { + auto cfg = get_remote_config(); + cfg.encryption_token = value; + set_remote_config(cfg); + return get_remote_config().encryption_token; + } + if (name == "RemoteConfig.HostNameOrIp") { + auto cfg = get_remote_config(); + cfg.host_name_or_ip = value; + set_remote_config(cfg); + return get_remote_config().host_name_or_ip; + } + if (name == "RemoteConfig.MaxConnections") { + auto cfg = get_remote_config(); + cfg.max_connections = utils::string::to_uint8(value); + set_remote_config(cfg); + return std::to_string(get_remote_config().max_connections); + } + if (name == "RemoteConfig.ReceiveTimeoutMs") { + auto cfg = get_remote_config(); + cfg.recv_timeout_ms = utils::string::to_uint32(value); + set_remote_config(cfg); + return std::to_string(get_remote_config().recv_timeout_ms); + } + if (name == "RemoteConfig.SendTimeoutMs") { + auto cfg = get_remote_config(); + cfg.send_timeout_ms = utils::string::to_uint32(value); + set_remote_config(cfg); + return std::to_string(get_remote_config().send_timeout_ms); + } if (name == "RemoteMount.ApiPort") { set_remote_api_port(utils::string::to_uint16(value)); return std::to_string(get_remote_api_port()); diff --git a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp index ab8383fd..0ed3926c 100644 --- a/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp +++ b/repertory/librepertory/src/providers/encrypt/encrypt_provider.cpp @@ -329,9 +329,9 @@ auto encrypt_provider::get_file_list(api_file_list &list, -> api_error { REPERTORY_USES_FUNCTION_NAME(); - try { - const auto &cfg = get_encrypt_config(); + const auto &cfg = get_encrypt_config(); + try { for (const auto &dir_entry : utils::file::directory{cfg.path}.get_items()) { std::string api_path{}; if (process_directory_entry(*dir_entry.get(), cfg, api_path)) {