From a6be8e2e3dc953c2db44c871fa874983fa4aa5c1 Mon Sep 17 00:00:00 2001 From: Marius Vikhammer Date: Thu, 19 Dec 2019 17:32:14 +0800 Subject: [PATCH] websocket: added missing event data user_context was missing from websocket event data, added. Also added the websocket client handle to the event data. Removed unused event data struct. Closes: IDF-1271 * Original commit: espressif/esp-idf@7c0e3765ec009acaf2ef439e98895598b5fd9aaf --- .../esp_websocket_client.c | 4 ++++ .../include/esp_websocket_client.h | 21 +++++-------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/components/esp_websocket_client/esp_websocket_client.c b/components/esp_websocket_client/esp_websocket_client.c index 031b25876..e9b412631 100644 --- a/components/esp_websocket_client/esp_websocket_client.c +++ b/components/esp_websocket_client/esp_websocket_client.c @@ -107,6 +107,10 @@ static esp_err_t esp_websocket_client_dispatch_event(esp_websocket_client_handle { esp_err_t err; esp_websocket_event_data_t event_data; + + event_data.client = client; + event_data.user_context = client->config->user_context; + event_data.data_ptr = data; event_data.data_len = data_len; event_data.op_code = client->last_opcode; diff --git a/components/esp_websocket_client/include/esp_websocket_client.h b/components/esp_websocket_client/include/esp_websocket_client.h index 1add2c0f8..0f8c64e31 100644 --- a/components/esp_websocket_client/include/esp_websocket_client.h +++ b/components/esp_websocket_client/include/esp_websocket_client.h @@ -47,9 +47,11 @@ typedef enum { * @brief Websocket event data */ typedef struct { - const char *data_ptr; /*!< Data pointer */ - int data_len; /*!< Data length */ - uint8_t op_code; /*!< Received opcode */ + const char *data_ptr; /*!< Data pointer */ + int data_len; /*!< Data length */ + uint8_t op_code; /*!< Received opcode */ + esp_websocket_client_handle_t client; /*!< esp_websocket_client_handle_t context */ + void *user_context; /*!< user_data context, from esp_websocket_client_config_t user_data */ } esp_websocket_event_data_t; /** @@ -61,19 +63,6 @@ typedef enum { WEBSOCKET_TRANSPORT_OVER_SSL, /*!< Transport over ssl */ } esp_websocket_transport_t; -/** - * @brief Websocket Client events data - */ -typedef struct { - esp_websocket_event_id_t event_id; /*!< event_id, to know the cause of the event */ - esp_websocket_client_handle_t client; /*!< esp_websocket_client_handle_t context */ - void *user_context;/*!< user_data context, from esp_websocket_client_config_t user_data */ - char *data; /*!< data of the event */ - int data_len; /*!< length of data */ -} esp_websocket_event_t; - -typedef esp_websocket_event_t* esp_websocket_event_handle_t; - /** * @brief Websocket client setup configuration */