diff --git a/dap_client.c b/dap_client.c index 79494b10eb52b7f699351628438b04683a195b68..78126df7661b82b95b2a8d2645f74faafb3ab397 100644 --- a/dap_client.c +++ b/dap_client.c @@ -1,10 +1,8 @@ #include <string.h> #include <stdbool.h> - +#include <unistd.h> #include "dap_common.h" - - #include "dap_http_client.h" #include "dap_client.h" #include "dap_client_pvt.h" @@ -267,6 +265,21 @@ void dap_client_request(dap_client_t * a_client, const char * a_full_path, void dap_client_pvt_request(l_client_internal, a_full_path, a_request, a_request_size, a_response_proc, a_response_error); } +/** + * @brief dap_client_disconnect + * @param a_client + * @return + */ +int dap_client_disconnect(dap_client_t * a_client) +{ + dap_client_pvt_t * l_client_internal = DAP_CLIENT_PVT(a_client); + if(l_client_internal->stream_socket){ + close(l_client_internal->stream_socket); + return 1; + } + //l_client_internal->stream_socket = 0; + return -1; +} /** * @brief dap_client_error_str diff --git a/dap_client.h b/dap_client.h index 9d79be1ef7f4403c79d5615bfbb80ed31bae0f6e..2d8093a518088cef049ec433d4bc49e9292464b7 100644 --- a/dap_client.h +++ b/dap_client.h @@ -114,6 +114,7 @@ void dap_client_request_enc(dap_client_t * a_client, const char * a_path,const c void dap_client_request(dap_client_t * a_client, const char * a_full_path, void * a_request, size_t a_request_size, dap_client_callback_data_size_t a_response_proc, dap_client_callback_int_t a_response_error); +int dap_client_disconnect(dap_client_t * a_client); const char * dap_client_get_stage_str(dap_client_t * a_client); const char * dap_client_stage_str(dap_client_stage_t a_stage);