mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-01-28 01:47:18 +01:00
Ticket refs #2673: TR069: No '4 value change' sent in case of active passive notification
This commit is contained in:
parent
3f4a97c1af
commit
2bf36bbbda
4 changed files with 13 additions and 9 deletions
|
|
@ -384,12 +384,14 @@ int dm_entry_apply(struct dmctx *ctx, int cmd, char *arg1, char *arg2)
|
|||
return fault;
|
||||
}
|
||||
|
||||
int dm_entry_load_enabled_notify(unsigned int dm_type, unsigned int amd_version, int instance_mode)
|
||||
int dm_entry_load_enabled_notify(unsigned int dm_type, unsigned int amd_version, int instance_mode, void (*add_list_value_change)(char *param_name, char *param_data, char *param_type), void (*send_active_value_change)(void))
|
||||
{
|
||||
struct dmctx dmctx = {0};
|
||||
|
||||
dm_ctx_init(&dmctx, dm_type, amd_version, instance_mode);
|
||||
dmctx.in_param = "";
|
||||
dmctx.add_list_value_change = add_list_value_change;
|
||||
dmctx.send_active_value_change = send_active_value_change;
|
||||
|
||||
free_all_list_enabled_lwnotify();
|
||||
dm_entry_enabled_notify_check_value_change(&dmctx);
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ int dm_ctx_init(struct dmctx *ctx, unsigned int dm_type, unsigned int amd_versio
|
|||
int dm_ctx_init_sub(struct dmctx *ctx, unsigned int dm_type, unsigned int amd_version, unsigned int instance_mode);
|
||||
int dm_entry_param_method(struct dmctx *ctx, int cmd, char *inparam, char *arg1, char *arg2);
|
||||
int dm_entry_apply(struct dmctx *ctx, int cmd, char *arg1, char *arg2);
|
||||
int dm_entry_load_enabled_notify(unsigned int dm_type, unsigned int amd_version, int instance_mode);
|
||||
int dm_entry_load_enabled_notify(unsigned int dm_type, unsigned int amd_version, int instance_mode, void (*add_list_value_change)(char *param_name, char *param_data, char *param_type), void (*send_active_value_change)(void));
|
||||
int dm_entry_reload_enabled_notify(unsigned int dm_type, unsigned int amd_version, int instance_mode);
|
||||
int adm_entry_get_linker_param(struct dmctx *ctx, char *param, char *linker, char **value);
|
||||
int adm_entry_get_linker_value(struct dmctx *ctx, char *param, char **value);
|
||||
|
|
|
|||
|
|
@ -1877,13 +1877,15 @@ static int enabled_notify_check_value_change_param(DMPARAM_ARGS)
|
|||
return FAULT_9005;
|
||||
}
|
||||
(get_cmd)(refparam, dmctx, data, instance, &value);
|
||||
#if 0
|
||||
|
||||
if (strcmp(value, dmctx->in_value) != 0) {
|
||||
add_list_value_change(refparam, value, DMT_TYPE[type]);
|
||||
if(dmctx->in_notification[0] =='2')
|
||||
send_active_value_change();
|
||||
if (dmctx->add_list_value_change) {
|
||||
dmctx->add_list_value_change(refparam, value, DMT_TYPE[type]);
|
||||
}
|
||||
if(dmctx->in_notification[0] =='2' && dmctx->send_active_value_change) {
|
||||
dmctx->send_active_value_change();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
dmfree(refparam);
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -219,6 +219,8 @@ struct dmctx
|
|||
int (*method_obj)(DMOBJECT_ARGS);
|
||||
int (*checkobj)(DMOBJECT_ARGS);
|
||||
int (*checkleaf)(DMOBJECT_ARGS);
|
||||
void (*add_list_value_change)(char *param_name, char *param_data, char *param_type);
|
||||
void (*send_active_value_change)(void);
|
||||
struct list_head list_parameter;
|
||||
struct list_head set_list_tmp;
|
||||
struct list_head list_fault_param;
|
||||
|
|
@ -592,8 +594,6 @@ void free_all_list_enabled_lwnotify();
|
|||
int dm_link_inst_obj(struct dmctx *dmctx, DMNODE *parent_node, void *data, char *instance);
|
||||
void dm_check_dynamic_obj(struct dmctx *dmctx, DMNODE *parent_node, DMOBJ *entryobj, char *full_obj, char *obj, DMOBJ **root_entry, int *obj_found);
|
||||
int free_dm_browse_node_dynamic_object_tree(DMNODE *parent_node, DMOBJ *entryobj);
|
||||
void add_list_value_change(char *param_name, char *param_data, char *param_type);
|
||||
void send_active_value_change(void);
|
||||
#ifdef BBF_TR064
|
||||
void dm_upnp_apply_config(void);
|
||||
void add_list_upnp_param_track(struct dmctx *dmctx, struct list_head *pchead, char *param, char *key, char *value, unsigned int isobj);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue