Update persistence group config json

1. Update API docs
  2. Regenerate parser code
This commit is contained in:
eeff
2022-01-24 16:35:30 +08:00
committed by Parker Liu
parent 320eb6ab87
commit fe47802eb1
3 changed files with 10 additions and 85 deletions
+3 -13
View File
@@ -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
}
}
}
+6 -14
View File
@@ -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);
+1 -58
View File
@@ -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,