From 96e2829d924a2ba7f0fe161e213a1e445fb473d1 Mon Sep 17 00:00:00 2001 From: eeff Date: Thu, 13 Jan 2022 15:36:00 +0800 Subject: [PATCH] Update adapter command to send node setting event 1. Add message type MSG_EVENT_SET_NODE_SETTING 2. Send the corresponding message when set node setting --- src/adapter/adapter.c | 22 ++++++++++++++++------ src/core/message.h | 1 + 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index 91fd9249..c51eed81 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -1014,12 +1014,22 @@ static int adapter_command(neu_adapter_t *adapter, neu_request_t *cmd, } case NEU_REQRESP_SET_NODE_SETTING: { - ADAPTER_RESP_CODE(adapter, cmd, intptr_t, neu_cmd_set_node_setting_t, - rv, NEU_REQRESP_ERR_CODE, p_result, { - ret = neu_manager_adapter_set_setting( - adapter->manager, req_cmd->node_id, - req_cmd->setting); - }); + ADAPTER_RESP_CODE( + adapter, cmd, intptr_t, neu_cmd_set_node_setting_t, rv, + NEU_REQRESP_ERR_CODE, p_result, { + ret = neu_manager_adapter_set_setting( + adapter->manager, req_cmd->node_id, req_cmd->setting); + if (ret == 0) { + neu_cmd_set_node_setting_t event = {}; + event.node_id = req_cmd->node_id; + event.setting = strdup(req_cmd->setting); + if (NULL != event.setting) { + ADAPTER_SEND_BUF(adapter, rv, + MSG_EVENT_SET_NODE_SETTING, &event, + sizeof(event)); + } + } + }); break; } diff --git a/src/core/message.h b/src/core/message.h index 997b3df2..bd61dc4a 100644 --- a/src/core/message.h +++ b/src/core/message.h @@ -62,6 +62,7 @@ typedef enum msg_type { MSG_EVENT_NODE_PING, MSG_EVENT_ADD_NODE, MSG_EVENT_UPDATE_NODE, + MSG_EVENT_SET_NODE_SETTING, MSG_EVENT_DEL_NODE, MSG_EVENT_ADD_PLUGIN, MSG_EVENT_UPDATE_PLUGIN,