mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2026-03-14 21:20:28 +01:00
ManagementServer: add support for ScheduleReboot and DelayReboot parameters
This commit is contained in:
parent
9290c10b63
commit
e228177d2e
2 changed files with 78 additions and 2 deletions
|
|
@ -2314,7 +2314,22 @@
|
|||
"protocols": [
|
||||
"cwmp"
|
||||
],
|
||||
"datatype": "dateTime"
|
||||
"datatype": "dateTime",
|
||||
"mapping": [
|
||||
{
|
||||
"type": "uci",
|
||||
"uci": {
|
||||
"file": "cwmp",
|
||||
"section": {
|
||||
"type": "cpe",
|
||||
"name": "cpe"
|
||||
},
|
||||
"option": {
|
||||
"name": "schedule_reboot"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"DelayReboot": {
|
||||
"type": "int",
|
||||
|
|
@ -2329,7 +2344,22 @@
|
|||
"min": -1
|
||||
}
|
||||
],
|
||||
"unit": "seconds"
|
||||
"unit": "seconds",
|
||||
"mapping": [
|
||||
{
|
||||
"type": "uci",
|
||||
"uci": {
|
||||
"file": "cwmp",
|
||||
"section": {
|
||||
"type": "cpe",
|
||||
"name": "cpe"
|
||||
},
|
||||
"option": {
|
||||
"name": "delay_reboot"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"PeriodicInformEnable": {
|
||||
"type": "boolean",
|
||||
|
|
|
|||
|
|
@ -86,6 +86,50 @@ static int set_management_server_passwd(char *refparam, struct dmctx *ctx, void
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.ManagementServer.ScheduleReboot!UCI:cwmp/cpe,cpe/schedule_reboot*/
|
||||
static int get_management_server_schedule_reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
dmuci_get_option_value_string("cwmp", "cpe", "schedule_reboot", value);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_management_server_schedule_reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_dateTime(value))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "schedule_reboot", value);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.ManagementServer.DelayReboot!UCI:cwmp/cpe,cpe/delay_reboot*/
|
||||
static int get_management_server_delay_reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
*value = dmuci_get_option_value_fallback_def("cwmp", "cpe", "delay_reboot", "-1");
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int set_management_server_delay_reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
|
||||
{
|
||||
switch (action) {
|
||||
case VALUECHECK:
|
||||
if (dm_validate_int(value, RANGE_ARGS{{"-1",NULL}}, 1))
|
||||
return FAULT_9007;
|
||||
break;
|
||||
case VALUESET:
|
||||
dmuci_set_value("cwmp", "cpe", "delay_reboot", value);
|
||||
bbf_set_end_session_flag(ctx, BBF_END_SESSION_RELOAD);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*#Device.ManagementServer.ParameterKey!UCI:cwmp/acs,acs/ParameterKey*/
|
||||
static int get_management_server_key(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)
|
||||
{
|
||||
|
|
@ -542,6 +586,8 @@ DMLEAF tManagementServerParams[] = {
|
|||
{"URL", &DMWRITE, DMT_STRING, get_management_server_url, set_management_server_url, BBFDM_CWMP},
|
||||
{"Username", &DMWRITE, DMT_STRING, get_management_server_username, set_management_server_username, BBFDM_CWMP},
|
||||
{"Password", &DMWRITE, DMT_STRING, get_empty, set_management_server_passwd, BBFDM_CWMP},
|
||||
{"ScheduleReboot", &DMWRITE, DMT_TIME, get_management_server_schedule_reboot, set_management_server_schedule_reboot, BBFDM_CWMP},
|
||||
{"DelayReboot", &DMWRITE, DMT_INT, get_management_server_delay_reboot, set_management_server_delay_reboot, BBFDM_CWMP},
|
||||
{"PeriodicInformEnable", &DMWRITE, DMT_BOOL, get_management_server_periodic_inform_enable, set_management_server_periodic_inform_enable, BBFDM_CWMP},
|
||||
{"PeriodicInformInterval", &DMWRITE, DMT_UNINT, get_management_server_periodic_inform_interval, set_management_server_periodic_inform_interval, BBFDM_CWMP},
|
||||
{"PeriodicInformTime", &DMWRITE, DMT_TIME, get_management_server_periodic_inform_time, set_management_server_periodic_inform_time, BBFDM_CWMP},
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue