mirror of
https://github.com/emqx/neuron.git
synced 2026-10-29 15:09:11 +08:00
Add function neu_plugin_self_node_name
This commit is contained in:
@@ -72,6 +72,8 @@ typedef enum neu_reqresp_type {
|
||||
NEU_REQRESP_DATATAGS,
|
||||
NEU_REQRESP_SELF_NODE_ID,
|
||||
NEU_REQRESP_NODE_ID,
|
||||
NEU_REQRESP_SELF_NODE_NAME,
|
||||
NEU_REQRESP_NODE_NAME,
|
||||
NEU_REQRESP_SET_NODE_SETTING,
|
||||
NEU_REQRESP_GET_NODE_SETTING,
|
||||
NEU_REQRESP_GET_NODE_SETTING_RESP,
|
||||
@@ -267,6 +269,16 @@ typedef struct neu_represp_node_id {
|
||||
neu_node_id_t node_id;
|
||||
} neu_reqresp_node_id_t;
|
||||
|
||||
/* NEU_REQRESP_SELF_NODE_NAME */
|
||||
typedef struct neu_cmd_self_node_name {
|
||||
uint32_t reserved;
|
||||
} neu_cmd_self_node_name_t;
|
||||
|
||||
/* NEU_REQRESP_NODE_NAME */
|
||||
typedef struct neu_represp_node_name {
|
||||
const char *node_name;
|
||||
} neu_reqresp_node_name_t;
|
||||
|
||||
/* NEU_REQRESP_SET_NODE_SETTING */
|
||||
typedef struct neu_cmd_set_node_setting {
|
||||
neu_node_id_t node_id;
|
||||
|
||||
@@ -115,6 +115,7 @@ void neu_plugin_response_trans_data(neu_plugin_t * plugin,
|
||||
neu_taggrp_config_t *grp_config,
|
||||
neu_data_val_t *data, uint32_t event_id);
|
||||
neu_node_id_t neu_plugin_self_node_id(neu_plugin_t *plugin);
|
||||
const char * neu_plugin_self_node_name(neu_plugin_t *plugin);
|
||||
|
||||
intptr_t neu_system_add_plugin(neu_plugin_t *plugin, plugin_kind_e kind,
|
||||
neu_node_type_e node_type,
|
||||
|
||||
@@ -673,6 +673,24 @@ static int adapter_command(neu_adapter_t *adapter, neu_request_t *cmd,
|
||||
break;
|
||||
}
|
||||
|
||||
case NEU_REQRESP_SELF_NODE_NAME: {
|
||||
ADAPTER_RESP_CMD(
|
||||
adapter, cmd, neu_reqresp_node_name_t, neu_cmd_self_node_name_t, rv,
|
||||
NEU_REQRESP_NODE_NAME, p_result, {
|
||||
(void) req_cmd;
|
||||
ret = malloc(sizeof(neu_reqresp_node_name_t));
|
||||
if (ret == NULL) {
|
||||
log_error("Failed to allocate result of get node name");
|
||||
rv = -1;
|
||||
free(result);
|
||||
break;
|
||||
}
|
||||
|
||||
ret->node_name = adapter->name;
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
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, {
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
#define NEU_PLUGIN_MAGIC_NUMBER 0x43474d50 // a string "PMGC"
|
||||
|
||||
#define NEU_SELF_NODE_NAME_UNKNOWN "unknown-adapter"
|
||||
|
||||
#define PLUGIN_CALL_CMD(plugin, type, req_buff, resp_struct, func) \
|
||||
{ \
|
||||
neu_request_t cmd = { 0 }; \
|
||||
@@ -321,6 +323,18 @@ neu_node_id_t neu_plugin_self_node_id(neu_plugin_t *plugin)
|
||||
return node_id;
|
||||
}
|
||||
|
||||
const char *neu_plugin_self_node_name(neu_plugin_t *plugin)
|
||||
{
|
||||
neu_cmd_self_node_name_t self_node_name;
|
||||
// the adapter may not be ready yet
|
||||
const char *node_name = NEU_SELF_NODE_NAME_UNKNOWN;
|
||||
|
||||
PLUGIN_CALL_CMD(plugin, NEU_REQRESP_SELF_NODE_NAME, self_node_name,
|
||||
neu_reqresp_node_name_t, { node_name = resp->node_name; })
|
||||
|
||||
return node_name;
|
||||
}
|
||||
|
||||
intptr_t neu_system_add_plugin(neu_plugin_t *plugin, plugin_kind_e kind,
|
||||
neu_node_type_e node_type,
|
||||
const char * plugin_name,
|
||||
|
||||
Reference in New Issue
Block a user