From 928681636095025778df0f996cd285971f00ea90 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Mon, 3 Mar 2025 17:36:01 +0100 Subject: [PATCH] change config init client with one method --- src/kds_s2000w_client.c | 78 ++++++++++++++++------------------------ src/kds_s2000w_client.h | 5 +-- src/kds_s2000w_handler.c | 8 ++--- 3 files changed, 36 insertions(+), 55 deletions(-) diff --git a/src/kds_s2000w_client.c b/src/kds_s2000w_client.c index c694e20..fbe847c 100644 --- a/src/kds_s2000w_client.c +++ b/src/kds_s2000w_client.c @@ -23,10 +23,10 @@ CURL* curl = NULL; char* errbuf = NULL; -char* scanner_url = NULL; -char* username = NULL; -bool ssl_verify = false; -uint8_t heartbeat = 1; +char* scan_url = NULL; +char* name = NULL; +bool ssl = false; +uint8_t wait_seconds = 1; size_t _kds_s2000w_client_write_callback(char* ptr, size_t size, size_t nmemb, void* data) { @@ -76,7 +76,7 @@ void _kds_s2000w_client_print_error_result(CURLcode result) void _kds_s2000w_client_set_ssl_verification_off(CURL* curl) { - if (ssl_verify) + if (ssl) return; curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); @@ -97,10 +97,10 @@ void kds_s2000w_client_free() { kds_s2000w_debug_printf(ALL, "kds_s2000w_client_free"); - free(scanner_url); - scanner_url = NULL; - free(username); - username = NULL; + free(scan_url); + scan_url = NULL; + free(name); + name = NULL; curl_easy_cleanup(curl); curl = NULL; curl_global_cleanup(); @@ -133,36 +133,20 @@ void kds_s2000w_client_response_free(response* resp) resp = NULL; } -void kds_s2000w_client_set_scanner_url(const char* url) +void kds_s2000w_client_set_config(const char* scanner_url, const char* username, bool ssl_verify, uint8_t heartbeat) { - kds_s2000w_debug_printf(ALL, "kds_s2000w_client_set_scanner_url"); + kds_s2000w_debug_printf(ALL, "kds_s2000w_client_set_config"); - size_t str_len = strlen(url) + 1; - scanner_url = malloc(str_len); - memcpy(scanner_url, url, str_len); -} - -void kds_s2000w_client_set_username(const char* name) -{ - kds_s2000w_debug_printf(ALL, "kds_s2000w_client_set_username"); - - size_t str_len = strlen(name) + 1; - username = malloc(str_len); - memcpy(username, name, str_len); -} + size_t str_len = strlen(scanner_url) + 1; + scan_url = malloc(str_len); + memcpy(scan_url, scanner_url, str_len); -void kds_s2000w_client_set_ssl_verify(bool ssl) -{ - kds_s2000w_debug_printf(ALL, "kds_s2000w_client_set_ssl_verify"); - - ssl_verify = ssl; -} - -void Kds_s2000w_client_set_heartbeat(uint8_t seconds) -{ - kds_s2000w_debug_printf(ALL, "Kds_s2000w_client_set_heartbeat"); + str_len = strlen(username) + 1; + name = malloc(str_len); + memcpy(name, username, str_len); - heartbeat = seconds; + ssl = ssl_verify; + wait_seconds = heartbeat; } uint8_t kds_s2000w_client_open_session(response* resp) @@ -173,7 +157,7 @@ uint8_t kds_s2000w_client_open_session(response* resp) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, SESSION_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -185,7 +169,7 @@ uint8_t kds_s2000w_client_open_session(response* resp) char* body = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH); memset(body, 0, MAX_STR_BUFFER_LENGTH); - sprintf(body, "{\"OCPUserName\": \"%s\"}", username); + sprintf(body, "{\"OCPUserName\": \"%s\"}", name); curl_easy_setopt(curl, CURLOPT_POST, 1L); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, body); _kds_s2000w_client_set_ssl_verification_off(curl); @@ -220,7 +204,7 @@ void kds_s2000w_client_close_session(int64_t sessionid) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, SESSION_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -260,7 +244,7 @@ uint8_t kds_s2000w_client_get_capabilities(response* resp) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, CAPABILITIES_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -298,13 +282,13 @@ uint8_t kds_s2000w_client_status_session(int64_t sessionid, response* resp) kds_s2000w_debug_printf(ALL, "kds_s2000w_client_status_session"); kds_s2000w_heartbeat_join_thread(); - kds_s2000w_heartbeat_wait_seconds(&heartbeat); + kds_s2000w_heartbeat_wait_seconds(&wait_seconds); curl_easy_reset(curl); char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, STATUS_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -351,7 +335,7 @@ uint8_t kds_s2000w_client_start_scan(int64_t sessionid) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, STARTSCAN_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -395,7 +379,7 @@ uint8_t kds_s2000w_client_stop_scan(int64_t sessionid) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, STOPSCAN_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -442,7 +426,7 @@ uint8_t kds_s2000w_client_get_image(int64_t sessionid, uint8_t img_number, respo char* url_path = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH); memset(url_path, 0, MAX_STR_BUFFER_LENGTH); sprintf(url_path, "%s/%i", IMAGE_PATH, img_number); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, url_path, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -493,7 +477,7 @@ uint8_t kds_s2000w_client_delete_image(int64_t sessionid, uint8_t img_number) char* url_path = malloc(sizeof(char) * MAX_STR_BUFFER_LENGTH); memset(url_path, 0, MAX_STR_BUFFER_LENGTH); sprintf(url_path, "%s/%i", IMAGE_PATH, img_number); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, url_path, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -538,7 +522,7 @@ uint8_t kds_s2000w_client_get_option(int64_t sessionid, response* resp) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, CONFIGURATION_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); @@ -585,7 +569,7 @@ uint8_t kds_s2000w_client_set_option(int64_t sessionid, response* resp) char* url = NULL; CURLU* url_handler = curl_url(); - curl_url_set(url_handler, CURLUPART_URL, scanner_url, 0); + curl_url_set(url_handler, CURLUPART_URL, scan_url, 0); curl_url_set(url_handler, CURLUPART_PATH, CONFIGURATION_PATH, 0); curl_url_get(url_handler, CURLUPART_URL, &url, 0); curl_easy_setopt(curl, CURLOPT_URL, url); diff --git a/src/kds_s2000w_client.h b/src/kds_s2000w_client.h index 679c1c5..7dfbacf 100644 --- a/src/kds_s2000w_client.h +++ b/src/kds_s2000w_client.h @@ -16,10 +16,7 @@ void kds_s2000w_client_free(); response* kds_s2000w_client_response_init(); void kds_s2000w_client_response_free(response* resp); -void kds_s2000w_client_set_scanner_url(const char* url); -void kds_s2000w_client_set_username(const char* name); -void kds_s2000w_client_set_ssl_verify(bool ssl); -void Kds_s2000w_client_set_heartbeat(uint8_t seconds); +void kds_s2000w_client_set_config(const char* scanner_url, const char* username, bool ssl_verify, uint8_t wait_seconds); uint8_t kds_s2000w_client_open_session(response* resp); void kds_s2000w_client_close_session(int64_t sessionid); diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 4834e3b..c97b474 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -40,10 +40,10 @@ void _kds_s2000w_handler_load_config() char* config_stream = kds_s2000w_config_read(CONFIG_FILE); program_config* config = kds_s2000w_config_load(config_stream); - kds_s2000w_client_set_scanner_url(config->scanner_url); - kds_s2000w_client_set_username(config->username); - Kds_s2000w_client_set_heartbeat(config->heartbeat); - kds_s2000w_client_set_ssl_verify(config->ssl_verify); + kds_s2000w_client_set_config(config->scanner_url, + config->username, + config->ssl_verify, + config->heartbeat); kds_s2000w_debug_set_default_log_level(config->log_level); free(config_stream); -- 2.39.5