mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Extract end_session_flag from bbf to icwmp
This commit is contained in:
parent
128e5b0900
commit
3bd148f3c4
8 changed files with 44 additions and 58 deletions
|
|
@ -55,13 +55,9 @@ void apply_end_session()
|
|||
}
|
||||
}
|
||||
|
||||
void cwmp_set_end_session (unsigned int flag)
|
||||
void bbf_set_end_session_flag (struct dmctx *ctx, unsigned int flag)
|
||||
{
|
||||
if (end_session_flag_ptr != NULL)
|
||||
end_session_flag = *end_session_flag_ptr;
|
||||
end_session_flag_ptr = &end_session_flag;
|
||||
|
||||
end_session_flag |= flag;
|
||||
ctx->end_session_flag |= flag;
|
||||
}
|
||||
|
||||
int set_bbfdatamodel_type(int bbf_type)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
#include <libbbf_api/dmcommon.h>
|
||||
#include "dmentry.h"
|
||||
|
||||
extern int end_session_flag;
|
||||
extern unsigned int upnp_in_user_mask;
|
||||
extern struct list_head list_execute_end_session;
|
||||
|
||||
|
|
@ -33,7 +32,7 @@ void dm_update_enabled_notify(struct dm_enabled_notify *p, char *new_value);
|
|||
|
||||
void apply_end_session(void);
|
||||
int dm_add_end_session(struct dmctx *ctx, void(*function)(struct execute_end_session *), int action, void *data);
|
||||
void cwmp_set_end_session (unsigned int flag);
|
||||
void bbf_set_end_session_flag (struct dmctx *ctx, unsigned int flag);
|
||||
int bbfdmuci_lookup_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *package, char *section, char *option, char *value);
|
||||
void bbf_apply_end_session(void);
|
||||
void dmbbf_update_enabled_notify_file(unsigned int dm_type, unsigned int amd_version, int instance_mode);
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
* Author Imen Bhiri <imen.bhiri@pivasoftware.com>
|
||||
* Author Feten Besbes <feten.besbes@pivasoftware.com>
|
||||
* Author Amin Ben Ramdhane <amin.benramdhane@pivasoftware.com>
|
||||
*
|
||||
* Author Omar Kallel <omar.kallel@pivasoftware.com>
|
||||
*/
|
||||
|
||||
#include "dmentry.h"
|
||||
|
|
@ -155,6 +155,7 @@ static int dm_ctx_init_custom(struct dmctx *ctx, unsigned int dm_type, unsigned
|
|||
dm_delim = DMDELIM_CWMP;
|
||||
ctx->dm_entryobj = tEntry181Obj;
|
||||
#endif
|
||||
ctx->end_session_flag = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ static int set_ip_ping_diagnostics_state(char *refparam, struct dmctx *ctx, void
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "ippingdiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@ippingdiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_IPPING_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_IPPING_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -337,7 +337,7 @@ static int set_IPDiagnosticsTraceRoute_DiagnosticsState(char *refparam, struct d
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "traceroutediagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@traceroutediagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_TRACEROUTE_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_TRACEROUTE_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -633,7 +633,7 @@ static int set_IPDiagnosticsDownloadDiagnostics_DiagnosticsState(char *refparam,
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "downloaddiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@downloaddiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_DOWNLOAD_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_DOWNLOAD_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1024,7 +1024,7 @@ static int set_IPDiagnosticsUploadDiagnostics_DiagnosticsState(char *refparam, s
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "uploaddiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@uploaddiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_UPLOAD_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_UPLOAD_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1436,7 +1436,7 @@ static int set_IPDiagnosticsUDPEchoDiagnostics_DiagnosticsState(char *refparam,
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "udpechodiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@udpechodiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_UDPECHO_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_UDPECHO_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1753,7 +1753,7 @@ static int set_IPDiagnosticsServerSelectionDiagnostics_DiagnosticsState(char *re
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "serverselectiondiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@serverselectiondiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_SERVERSELECTION_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_SERVERSELECTION_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -820,7 +820,7 @@ static int set_nslookupdiagnostics_diagnostics_state(char *refparam, struct dmct
|
|||
if (!curr_section)
|
||||
dmuci_add_state_section("cwmp", "nslookupdiagnostic", &curr_section, &tmp);
|
||||
dmuci_set_varstate_value("cwmp", "@nslookupdiagnostic[0]", "DiagnosticState", value);
|
||||
cwmp_set_end_session(END_SESSION_NSLOOKUP_DIAGNOSTIC);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_NSLOOKUP_DIAGNOSTIC);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ static int set_management_server_url(char *refparam, struct dmctx *ctx, void *da
|
|||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "dhcp_discovery", "disable");
|
||||
dmuci_set_value("cwmp", "acs", "url", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -63,7 +63,7 @@ static int set_management_server_username(char *refparam, struct dmctx *ctx, voi
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "userid", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -79,7 +79,7 @@ static int set_management_server_passwd(char *refparam, struct dmctx *ctx, void
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "passwd", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -111,7 +111,7 @@ static int set_management_server_periodic_inform_enable(char *refparam, struct d
|
|||
case VALUESET:
|
||||
string_to_bool(value, &b);
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_enable", b ? "1" : "0");
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -133,7 +133,7 @@ static int set_management_server_periodic_inform_interval(char *refparam, struct
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_interval", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -170,7 +170,7 @@ static int set_management_server_periodic_inform_time(char *refparam, struct dmc
|
|||
strptime(value, "%Y-%m-%dT%H:%M:%SZ", &tm);
|
||||
snprintf(buf, sizeof(buf), "%ld", mktime(&tm));
|
||||
dmuci_set_value("cwmp", "acs", "periodic_inform_time", buf);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -210,7 +210,7 @@ static int set_management_server_connection_request_username(char *refparam, str
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "userid", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -226,7 +226,7 @@ static int set_management_server_connection_request_passwd(char *refparam, struc
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "passwd", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -248,7 +248,7 @@ static int set_upgrades_managed(char *refparam, struct dmctx *ctx, void *data, c
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "upgrades_managed", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -284,7 +284,7 @@ static int set_lwn_protocol_used(char *refparam, struct dmctx *ctx, void *data,
|
|||
dmuci_set_value("cwmp", "lwn", "enable", "1");
|
||||
else
|
||||
dmuci_set_value("cwmp", "lwn", "enable", "0");
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -306,7 +306,7 @@ static int set_lwn_host(char *refparam, struct dmctx *ctx, void *data, char *ins
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "lwn", "hostname", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -328,7 +328,7 @@ static int set_lwn_port(char *refparam, struct dmctx *ctx, void *data, char *ins
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "lwn", "port", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -357,7 +357,7 @@ static int set_management_server_http_compression(char *refparam, struct dmctx *
|
|||
case VALUESET:
|
||||
if (strcasecmp(value, "gzip") == 0 || strcasecmp(value, "deflate") == 0 || strncasecmp(value, "disable", 7) == 0) {
|
||||
dmuci_set_value("cwmp", "acs", "compression", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -380,7 +380,7 @@ static int set_management_server_retry_min_wait_interval(char *refparam, struct
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "retry_min_wait_interval", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -402,7 +402,7 @@ static int set_management_server_retry_interval_multiplier(char *refparam, struc
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "acs", "retry_interval_multiplier", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
@ -432,7 +432,7 @@ static int set_instance_mode(char *refparam, struct dmctx *ctx, void *data, char
|
|||
return 0;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "instance_mode", value);
|
||||
cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
return 0;
|
||||
}
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -97,7 +97,6 @@ LIST_HEAD(list_upnp_changed_version);
|
|||
|
||||
LIST_HEAD(list_enabled_notify);
|
||||
|
||||
int* end_session_flag_ptr = NULL;
|
||||
int ip_version = 4;
|
||||
char dm_delim = DMDELIM_CWMP;
|
||||
char dmroot[64] = "Device";
|
||||
|
|
@ -1879,7 +1878,7 @@ static int mobj_set_notification_in_obj(DMOBJECT_ARGS)
|
|||
add_set_list_tmp(dmctx, dmctx->in_param, dmctx->in_notification, 0);
|
||||
} else if (dmctx->setaction == VALUESET) {
|
||||
set_parameter_notification(dmctx, dmctx->in_param, dmctx->in_notification);
|
||||
bbf_api_cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
dmctx->end_session_flag |= BBF_END_SESSION_RELOAD;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1906,7 +1905,7 @@ static int mparam_set_notification_in_param(DMPARAM_ARGS)
|
|||
add_set_list_tmp(dmctx, dmctx->in_param, dmctx->in_notification, 0);
|
||||
} else if (dmctx->setaction == VALUESET) {
|
||||
set_parameter_notification(dmctx, dmctx->in_param, dmctx->in_notification);
|
||||
bbf_api_cwmp_set_end_session(END_SESSION_RELOAD);
|
||||
dmctx->end_session_flag |= BBF_END_SESSION_RELOAD;
|
||||
}
|
||||
dmfree(refparam);
|
||||
return 0;
|
||||
|
|
@ -3252,14 +3251,6 @@ static int enabled_tracked_param_check_param(DMPARAM_ARGS)
|
|||
#endif
|
||||
|
||||
/********************/
|
||||
|
||||
void bbf_api_cwmp_set_end_session (unsigned int flag)
|
||||
{
|
||||
if(end_session_flag_ptr == NULL)
|
||||
end_session_flag_ptr = (int*)dmmalloc(sizeof(int));
|
||||
*end_session_flag_ptr |= flag;
|
||||
}
|
||||
|
||||
char *dm_print_path(char *fpath, ...)
|
||||
{
|
||||
static char pathbuf[512] = "";
|
||||
|
|
|
|||
|
|
@ -251,6 +251,7 @@ struct dmctx
|
|||
char all_instances[512];
|
||||
char *inst_buf[16];
|
||||
char *instance_wildchar;
|
||||
unsigned int end_session_flag;
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -432,19 +433,19 @@ enum instance_mode {
|
|||
INSTANCE_MODE_ALIAS
|
||||
};
|
||||
|
||||
enum end_session_enum {
|
||||
END_SESSION_REBOOT = 1,
|
||||
END_SESSION_EXTERNAL_ACTION = 1<<1,
|
||||
END_SESSION_RELOAD = 1<<2,
|
||||
END_SESSION_FACTORY_RESET = 1<<3,
|
||||
END_SESSION_IPPING_DIAGNOSTIC = 1<<4,
|
||||
END_SESSION_DOWNLOAD_DIAGNOSTIC = 1<<5,
|
||||
END_SESSION_UPLOAD_DIAGNOSTIC = 1<<6,
|
||||
END_SESSION_X_FACTORY_RESET_SOFT = 1<<7,
|
||||
END_SESSION_NSLOOKUP_DIAGNOSTIC = 1<<8,
|
||||
END_SESSION_TRACEROUTE_DIAGNOSTIC = 1<<9,
|
||||
END_SESSION_UDPECHO_DIAGNOSTIC = 1<<10,
|
||||
END_SESSION_SERVERSELECTION_DIAGNOSTIC = 1<<11
|
||||
enum bbf_end_session_enum {
|
||||
BBF_END_SESSION_REBOOT = 1,
|
||||
BBF_END_SESSION_EXTERNAL_ACTION = 1<<1,
|
||||
BBF_END_SESSION_RELOAD = 1<<2,
|
||||
BBF_END_SESSION_FACTORY_RESET = 1<<3,
|
||||
BBF_END_SESSION_IPPING_DIAGNOSTIC = 1<<4,
|
||||
BBF_END_SESSION_DOWNLOAD_DIAGNOSTIC = 1<<5,
|
||||
BBF_END_SESSION_UPLOAD_DIAGNOSTIC = 1<<6,
|
||||
BBF_END_SESSION_X_FACTORY_RESET_SOFT = 1<<7,
|
||||
BBF_END_SESSION_NSLOOKUP_DIAGNOSTIC = 1<<8,
|
||||
BBF_END_SESSION_TRACEROUTE_DIAGNOSTIC = 1<<9,
|
||||
BBF_END_SESSION_UDPECHO_DIAGNOSTIC = 1<<10,
|
||||
BBF_END_SESSION_SERVERSELECTION_DIAGNOSTIC = 1<<11
|
||||
};
|
||||
|
||||
enum dm_browse_enum {
|
||||
|
|
@ -536,7 +537,6 @@ extern struct list_head list_upnp_changed_onalarm;
|
|||
extern struct list_head list_upnp_changed_version;
|
||||
#endif
|
||||
|
||||
extern int* end_session_flag_ptr;
|
||||
extern int ip_version;
|
||||
extern char dm_delim;
|
||||
extern char dmroot[64];
|
||||
|
|
@ -593,7 +593,6 @@ char *get_last_instance_lev2_bbfdm_dmmap_opt(char* dmmap_package, char *section,
|
|||
char *get_last_instance_lev2_bbfdm(char *package, char *section, char* dmmap_package, char *opt_inst, char *opt_check, char *value_check);
|
||||
char *handle_update_instance(int instance_ranck, struct dmctx *ctx, char **last_inst, char * (*up_instance)(int action, char **last_inst, void *argv[]), int argc, ...);
|
||||
int dm_add_end_session(struct dmctx *ctx, void(*function)(struct execute_end_session *), int action, void *data);
|
||||
void bbf_api_cwmp_set_end_session (unsigned int flag);
|
||||
char *dm_print_path(char *fpath, ...);
|
||||
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);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue