mirror of
https://github.com/emqx/neuron.git
synced 2026-10-19 05:51:27 +08:00
Update persistence group config json
1. Update API docs 2. Regenerate parser code
This commit is contained in:
@@ -2,21 +2,11 @@
|
||||
"group_configs_req": {
|
||||
"adapter_name": "modbus_tcp_adapter",
|
||||
"group_config_name": "config_modbus_tcp_sample_2",
|
||||
"read_interval": 2000,
|
||||
"datatag_names": [
|
||||
"modbus1",
|
||||
"modbus2",
|
||||
"modbus3"
|
||||
]
|
||||
"read_interval": 2000
|
||||
},
|
||||
"group_configs_resp": {
|
||||
"adapter_name": "modbus_tcp_adapter",
|
||||
"group_config_name": "config_modbus_tcp_sample_2",
|
||||
"read_interval": 2000,
|
||||
"datatag_names": [
|
||||
"modbus1",
|
||||
"modbus2",
|
||||
"modbus3"
|
||||
]
|
||||
"read_interval": 2000
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,16 +31,10 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef char *neu_json_group_configs_req_datatag_name_t;
|
||||
|
||||
typedef char *neu_json_group_configs_resp_datatag_name_t;
|
||||
|
||||
typedef struct {
|
||||
char * group_config_name;
|
||||
char * adapter_name;
|
||||
int64_t read_interval;
|
||||
int n_datatag_name;
|
||||
neu_json_group_configs_req_datatag_name_t *datatag_names;
|
||||
char * group_config_name;
|
||||
char * adapter_name;
|
||||
int64_t read_interval;
|
||||
} neu_json_group_configs_req_t;
|
||||
|
||||
int neu_json_decode_group_configs_req(char * buf,
|
||||
@@ -48,11 +42,9 @@ int neu_json_decode_group_configs_req(char * buf,
|
||||
void neu_json_decode_group_configs_req_free(neu_json_group_configs_req_t *req);
|
||||
|
||||
typedef struct {
|
||||
char * group_config_name;
|
||||
char * adapter_name;
|
||||
int64_t read_interval;
|
||||
int n_datatag_name;
|
||||
neu_json_group_configs_resp_datatag_name_t *datatag_names;
|
||||
char * group_config_name;
|
||||
char * adapter_name;
|
||||
int64_t read_interval;
|
||||
} neu_json_group_configs_resp_t;
|
||||
|
||||
int neu_json_encode_group_configs_resp(void *json_object, void *param);
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
* It was automatically generated by `json-autotype`.
|
||||
*/
|
||||
|
||||
#include <jansson.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
@@ -58,37 +57,10 @@ int neu_json_decode_group_configs_req(char * buf,
|
||||
req->group_config_name = req_elems[1].v.val_str;
|
||||
req->adapter_name = req_elems[2].v.val_str;
|
||||
|
||||
req->n_datatag_name = neu_json_decode_array_size(buf, "datatag_names");
|
||||
req->datatag_names = calloc(
|
||||
req->n_datatag_name, sizeof(neu_json_group_configs_req_datatag_name_t));
|
||||
neu_json_group_configs_req_datatag_name_t *p_datatag_name =
|
||||
req->datatag_names;
|
||||
for (int i = 0; i < req->n_datatag_name; i++) {
|
||||
neu_json_elem_t datatag_name_elems[] = { {
|
||||
.name = NULL,
|
||||
.t = NEU_JSON_STR,
|
||||
} };
|
||||
ret = neu_json_decode_array(buf, "datatag_names", i,
|
||||
NEU_JSON_ELEM_SIZE(datatag_name_elems),
|
||||
datatag_name_elems);
|
||||
if (ret != 0) {
|
||||
goto decode_fail;
|
||||
}
|
||||
|
||||
*p_datatag_name = datatag_name_elems[0].v.val_str;
|
||||
p_datatag_name++;
|
||||
}
|
||||
|
||||
*result = req;
|
||||
return ret;
|
||||
|
||||
decode_fail:
|
||||
if (req->datatag_names != NULL) {
|
||||
free(req->datatag_names);
|
||||
}
|
||||
if (req->datatag_names != NULL) {
|
||||
free(req->datatag_names);
|
||||
}
|
||||
if (req != NULL) {
|
||||
free(req);
|
||||
}
|
||||
@@ -98,15 +70,7 @@ decode_fail:
|
||||
void neu_json_decode_group_configs_req_free(neu_json_group_configs_req_t *req)
|
||||
{
|
||||
|
||||
neu_json_group_configs_req_datatag_name_t *p_datatag_name =
|
||||
req->datatag_names;
|
||||
for (int i = 0; i < req->n_datatag_name; i++) {
|
||||
free(*p_datatag_name);
|
||||
p_datatag_name++;
|
||||
}
|
||||
|
||||
free(req->group_config_name);
|
||||
free(req->datatag_names);
|
||||
free(req->adapter_name);
|
||||
|
||||
free(req);
|
||||
@@ -114,25 +78,9 @@ void neu_json_decode_group_configs_req_free(neu_json_group_configs_req_t *req)
|
||||
|
||||
int neu_json_encode_group_configs_resp(void *json_object, void *param)
|
||||
{
|
||||
int ret = 0;
|
||||
|
||||
int ret = 0;
|
||||
neu_json_group_configs_resp_t *resp =
|
||||
(neu_json_group_configs_resp_t *) param;
|
||||
void *datatag_name_array = json_array();
|
||||
|
||||
neu_json_group_configs_resp_datatag_name_t *p_datatag_names =
|
||||
resp->datatag_names;
|
||||
for (int i = 0; i < resp->n_datatag_name; i++) {
|
||||
neu_json_elem_t datatag_name_elems = {
|
||||
.name = NULL,
|
||||
.t = NEU_JSON_STR,
|
||||
.v.val_str = *p_datatag_names,
|
||||
};
|
||||
|
||||
datatag_name_array = neu_json_encode_array_value(
|
||||
datatag_name_array, &datatag_name_elems, 1);
|
||||
p_datatag_names++;
|
||||
}
|
||||
|
||||
neu_json_elem_t resp_elems[] = { {
|
||||
.name = "read_interval",
|
||||
@@ -144,11 +92,6 @@ int neu_json_encode_group_configs_resp(void *json_object, void *param)
|
||||
.t = NEU_JSON_STR,
|
||||
.v.val_str = resp->group_config_name,
|
||||
},
|
||||
{
|
||||
.name = "datatag_names",
|
||||
.t = NEU_JSON_OBJECT,
|
||||
.v.val_object = datatag_name_array,
|
||||
},
|
||||
{
|
||||
.name = "adapter_name",
|
||||
.t = NEU_JSON_STR,
|
||||
|
||||
Reference in New Issue
Block a user