enhance separation between libbbf_api and libbbfdm (functions: dm_update_file_enabled_notify, copy_temporary_file_to_original_file, del_list_fault_param, json functions)

This commit is contained in:
Omar Kallel 2020-06-23 10:45:00 +01:00
parent ca758fd9f3
commit 856d4de5df
8 changed files with 58 additions and 63 deletions

View file

@ -93,44 +93,45 @@ void bbf_del_list_parameter(struct dm_parameter *dm_parameter)
del_list_parameter(dm_parameter);
}
int bbfdm_update_file_enabled_notify(char *param, char *new_value)
int dm_update_file_enabled_notify(char *param, char *new_value)
{
return dm_update_file_enabled_notify(param, new_value);
return bbf_api_dm_update_file_enabled_notify(param, new_value);
}
void bbfdmjson_parse_init(char *msg)
void dmjson_parse_init(char *msg)
{
dmjson_parse_init(msg);
bbf_api_dmjson_parse_init(msg);
}
void bbfdmjson_parse_fini(void)
void dmjson_parse_fini(void)
{
dmjson_parse_fini();
bbf_api_dmjson_parse_fini();
}
json_object *bbfdmjson_select_obj(json_object * jobj, char *argv[])
json_object *dmjson_select_obj(json_object * jobj, char *argv[])
{
return (dmjson_select_obj(jobj, argv));
return (bbf_api_dmjson_select_obj(jobj, argv));
}
void bbf_del_list_fault_param(struct param_fault *param_fault)
void del_list_fault_param(struct param_fault *param_fault)
{
del_list_fault_param(param_fault);
bbf_api_del_list_fault_param(param_fault);
}
int dm_copy_temporary_file_to_original_file(char *f1, char *f2)
int copy_temporary_file_to_original_file(char *f1, char *f2)
{
return copy_temporary_file_to_original_file(f1, f2);
return bbf_api_copy_temporary_file_to_original_file(f1, f2);
}
void bbfdmjson_get_var(char *jkey, char **jval)
void dmjson_get_var(char *jkey, char **jval)
{
dmjson_get_var(jkey, jval);
bbf_api_dmjson_get_var(jkey, jval);
}
void bbfdm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value)
void dm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value)
{
dm_update_enabled_notify(p, new_value);
free(p->value); // Should be free and not dmfree
p->value = strdup(new_value);
}
struct list_head get_bbf_list_enabled_lw_notify(void)

View file

@ -20,14 +20,14 @@ void bbf_apply_end_session(void);
int set_bbfdatamodel_type(int bbf_type);
int bbf_set_ip_version(int ipversion);
void bbf_del_list_parameter(struct dm_parameter *dm_parameter);
int bbfdm_update_file_enabled_notify(char *param, char *new_value);
void bbfdmjson_parse_init(char *msg);
void bbfdmjson_parse_fini(void);
json_object *bbfdmjson_select_obj(json_object * jobj, char *argv[]);
void bbf_del_list_fault_param(struct param_fault *param_fault);
int dm_copy_temporary_file_to_original_file(char *f1, char *f2);
void bbfdmjson_get_var(char *jkey, char **jval);
void bbfdm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value);
int dm_update_file_enabled_notify(char *param, char *new_value);
void dmjson_parse_init(char *msg);
void dmjson_parse_fini(void);
json_object *dmjson_select_obj(json_object * jobj, char *argv[]);
void del_list_fault_param(struct param_fault *param_fault);
int copy_temporary_file_to_original_file(char *f1, char *f2);
void dmjson_get_var(char *jkey, char **jval);
void dm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value);
struct list_head get_bbf_list_enabled_lw_notify(void);

View file

@ -101,6 +101,7 @@ char dm_delim = DMDELIM_CWMP;
char dmroot[64] = "Device";
int bbfdatamodel_type = BBFDM_BOTH;
void (*api_add_list_value_change)(char *param_name, char *param_data, char *param_type) = NULL;
void (*api_send_active_value_change)(void) = NULL;
@ -826,7 +827,7 @@ void add_list_fault_param(struct dmctx *ctx, char *param, int fault)
param_fault->fault = fault;
}
void del_list_fault_param(struct param_fault *param_fault)
void bbf_api_del_list_fault_param(struct param_fault *param_fault)
{
list_del(&param_fault->list);
dmfree(param_fault->name);
@ -838,7 +839,7 @@ void free_all_list_fault_param(struct dmctx *ctx)
struct param_fault *param_fault;
while (ctx->list_fault_param.next != &ctx->list_fault_param) {
param_fault = list_entry(ctx->list_fault_param.next, struct param_fault, list);
del_list_fault_param(param_fault);
bbf_api_del_list_fault_param(param_fault);
}
}
@ -871,7 +872,7 @@ void free_all_list_enabled_lwnotify()
}
}
int dm_update_file_enabled_notify(char *param, char *new_value)
int bbf_api_dm_update_file_enabled_notify(char *param, char *new_value)
{
FILE *fp, *ftmp;
char buf[512];
@ -891,16 +892,16 @@ int dm_update_file_enabled_notify(char *param, char *new_value)
int len = strlen(buf);
if (len)
buf[len-1] = '\0';
dmjson_parse_init(buf);
dmjson_get_var("parameter", &jval);
bbf_api_dmjson_parse_init(buf);
bbf_api_dmjson_get_var("parameter", &jval);
parameter = dmstrdup(jval);
dmjson_get_var("value", &jval);
bbf_api_dmjson_get_var("value", &jval);
value = dmstrdup(jval);
dmjson_get_var("notification", &jval);
bbf_api_dmjson_get_var("notification", &jval);
notification = dmstrdup(jval);
dmjson_get_var("type", &jval);
bbf_api_dmjson_get_var("type", &jval);
type = dmstrdup(jval);
dmjson_parse_fini();
bbf_api_dmjson_parse_fini();
if (strcmp(parameter, param) == 0)
dmjson_fprintf(ftmp, 4, DMJSON_ARGS{{"parameter", parameter}, {"notification", notification}, {"value", new_value}, {"type", type}});
else
@ -912,18 +913,12 @@ int dm_update_file_enabled_notify(char *param, char *new_value)
return 0;
}
void dm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value)
{
free(p->value); // Should be free and not dmfree
p->value = strdup(new_value);
}
void dm_update_enabled_notify_byname(char *name, char *new_value)
{
int iscopy;
dm_update_file_enabled_notify(name, new_value);
bbf_api_dm_update_file_enabled_notify(name, new_value);
remove(DM_ENABLED_NOTIFY);
iscopy = copy_temporary_file_to_original_file(DM_ENABLED_NOTIFY, DM_ENABLED_NOTIFY_TEMPORARY);
iscopy = bbf_api_copy_temporary_file_to_original_file(DM_ENABLED_NOTIFY, DM_ENABLED_NOTIFY_TEMPORARY);
if(iscopy)
remove(DM_ENABLED_NOTIFY_TEMPORARY);
@ -1847,14 +1842,14 @@ int dm_entry_enabled_notify_check_value_change(struct dmctx *dmctx, void (*add_l
int len = strlen(buf);
if (len)
buf[len-1] = '\0';
dmjson_parse_init(buf);
dmjson_get_var("parameter", &jval);
bbf_api_dmjson_parse_init(buf);
bbf_api_dmjson_get_var("parameter", &jval);
dmctx->in_param = dmstrdup(jval);
dmjson_get_var("value", &jval);
bbf_api_dmjson_get_var("value", &jval);
dmctx->in_value = dmstrdup(jval);
dmjson_get_var("notification", &jval);
bbf_api_dmjson_get_var("notification", &jval);
dmctx->in_notification = dmstrdup(jval);
dmjson_parse_fini();
bbf_api_dmjson_parse_fini();
dmctx->checkobj = NULL ;
dmctx->checkleaf = NULL;
dmctx->method_obj = enabled_notify_check_value_change_obj;

View file

@ -546,7 +546,7 @@ void add_set_list_tmp(struct dmctx *ctx, char *param, char *value, unsigned int
void del_set_list_tmp(struct set_tmp *set_tmp);
void free_all_set_list_tmp(struct dmctx *ctx);
void add_list_fault_param(struct dmctx *ctx, char *param, int fault);
void del_list_fault_param(struct param_fault *param_fault);
void bbf_api_del_list_fault_param(struct param_fault *param_fault);
void free_all_list_fault_param(struct dmctx *ctx);
int string_to_bool(char *v, bool *b);
void dmentry_instance_lookup_inparam(struct dmctx *ctx);
@ -575,8 +575,7 @@ char *dm_entry_get_all_instance_numbers(struct dmctx *pctx, char *param);
void free_all_list_enabled_notify();
void free_all_list_upnp_param_track(struct list_head *head);
#endif
void dm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value);
int dm_update_file_enabled_notify(char *param, char *new_value);
int bbf_api_dm_update_file_enabled_notify(char *param, char *new_value);
void dm_update_enabled_notify_byname(char *name, char *new_value);
char *get_last_instance(char *package, char *section, char *opt_inst);
char *get_last_instance_bbfdm_without_update(char *package, char *section, char *opt_inst);

View file

@ -1412,7 +1412,7 @@ int command_exec_output_to_array(char *cmd, char **output, int *length)
return 0;
}
int copy_temporary_file_to_original_file(char *f1, char *f2)
int bbf_api_copy_temporary_file_to_original_file(char *f1, char *f2)
{
FILE *fp, *ftmp;
char buf[512];

View file

@ -299,7 +299,7 @@ int is_array_elt_exist(char **str_array, char *str, int length);
int get_shift_time_time(int shift_time, char *local_time, int size);
int get_shift_time_shift(char *local_time, char *shift);
int command_exec_output_to_array(char *cmd, char **output, int *length);
int copy_temporary_file_to_original_file(char *f1, char *f2);
int bbf_api_copy_temporary_file_to_original_file(char *f1, char *f2);
struct uci_section *is_dmmap_section_exist(char* package, char* section);
struct uci_section *is_dmmap_section_exist_eq(char* package, char* section, char* opt, char* value);
char * dmmap_file_path_get(const char *dmmap_package);

View file

@ -43,7 +43,7 @@ void dmjson_fprintf(FILE *fp, int argc, struct dmjson_arg dmarg[])
__dmjson_fprintf(fp, argc, dmarg);
}
void dmjson_parse_init(char *msg)
void bbf_api_dmjson_parse_init(char *msg)
{
if (dmjson_jobj) {
json_object_put(dmjson_jobj);
@ -52,7 +52,7 @@ void dmjson_parse_init(char *msg)
dmjson_jobj = json_tokener_parse(msg);
}
void dmjson_parse_fini(void)
void bbf_api_dmjson_parse_fini(void)
{
if (dmjson_jobj) {
json_object_put(dmjson_jobj);
@ -87,7 +87,7 @@ char *____dmjson_get_value_in_obj(json_object *mainjobj, char *argv[])
json_object *jobj = NULL;
char *value = "";
jobj = dmjson_select_obj(mainjobj, argv);
jobj = bbf_api_dmjson_select_obj(mainjobj, argv);
value = dmjson_print_value(jobj);
return value;
@ -121,11 +121,11 @@ json_object *__dmjson_get_obj(json_object *mainjobj, int argc, ...)
}
argv[argc] = NULL;
va_end(arg);
return dmjson_select_obj(mainjobj, argv);
return bbf_api_dmjson_select_obj(mainjobj, argv);
//return v;
}
json_object *dmjson_select_obj(json_object * jobj, char *argv[])
json_object *bbf_api_dmjson_select_obj(json_object * jobj, char *argv[])
{
int i;
for (i = 0; argv[i]; i++) {
@ -154,7 +154,7 @@ json_object *____dmjson_select_obj_in_array_idx(json_object *mainjobj, json_obje
json_object *jobj = NULL;
if (arrobj == NULL || *arrobj == NULL) {
jobj = dmjson_select_obj(mainjobj, argv);
jobj = bbf_api_dmjson_select_obj(mainjobj, argv);
if (arrobj)
*arrobj = jobj;
if (jobj && json_object_get_type(jobj) == json_type_array) {
@ -197,7 +197,7 @@ char *____dmjson_get_value_in_array_idx(json_object *mainjobj, json_object **arr
char *value = NULL;
if (arrobj == NULL || *arrobj == NULL) {
jobj = dmjson_select_obj(mainjobj, argv);
jobj = bbf_api_dmjson_select_obj(mainjobj, argv);
if (arrobj)
*arrobj = jobj;
if (jobj && json_object_get_type(jobj) == json_type_array) {
@ -276,7 +276,7 @@ char *__dmjson_get_value_array_all(json_object *mainjobj, char *delim, int argc,
return ret;
}
void dmjson_get_var(char *jkey, char **jval)
void bbf_api_dmjson_get_var(char *jkey, char **jval)
{
*jval = "";

View file

@ -30,10 +30,10 @@ struct dmjson_arg {
void dm_add_json_obj(json_object *json_obj_out, char *object, char *string);
void dmjson_printf(int argc, struct dmjson_arg dmarg[]);
void dmjson_fprintf(FILE *fp, int argc, struct dmjson_arg dmarg[]);
void dmjson_parse_init(char *msg);
void dmjson_parse_fini(void);
void dmjson_get_var(char *jkey, char **jval);
json_object *dmjson_select_obj(json_object * jobj, char *argv[]);
void bbf_api_dmjson_parse_init(char *msg);
void bbf_api_dmjson_parse_fini(void);
void bbf_api_dmjson_get_var(char *jkey, char **jval);
json_object *bbf_api_dmjson_select_obj(json_object * jobj, char *argv[]);
json_object *__dmjson_get_obj(json_object *mainjobj, int argc, ...);
char *____dmjson_get_value_in_obj(json_object *mainjobj, char *argv[]);
char *__dmjson_get_value_in_obj(json_object *mainjobj, int argc, ...);