Update managementserver file

This commit is contained in:
Imen Bhiri 2015-08-26 16:00:04 +01:00
parent 152bf287e3
commit 20471b058a
4 changed files with 91 additions and 55 deletions

View file

@ -16,6 +16,19 @@
#include <stdlib.h>
#include "dmcwmp.h"
void compress_spaces(char *str) //REMOVE TO DMCOMMON
{
char *dst = str;
for (; *str; ++str) {
*dst++ = *str;
if (isspace(*str)) {
do ++str;
while (isspace(*str));
--str;
}
}
*dst = '\0';
}
char *cut_fx(char *str, char *delimiter, int occurence)
{
int i = 1;

View file

@ -22,5 +22,6 @@ do { \
char *cut_fx(char *str, char *delimiter, int occurence);
char *get_pid(char *pname);
int check_file(char *path);
void compress_spaces(char *str);
#endif

View file

@ -11,11 +11,14 @@
#include <ctype.h>
#include <uci.h>
#include <stdio.h>
#include <time.h>
#include "cwmp.h"
#include "ubus.h"
#include "dmcwmp.h"
#include "dmuci.h"
#include "dmubus.h"
#include "managementserver.h"
#include "dmcommon.h"
#include "managementserver.h"
int get_management_server_url(char *refparam, struct dmctx *ctx, char **value)
{
@ -23,23 +26,16 @@ int get_management_server_url(char *refparam, struct dmctx *ctx, char **value)
return 0;
}
int set_management_server()
{
return 0;
}
int set_management_server_url(char *refparam, struct dmctx *ctx, int action, char *value)
{
bool b;
char *stat = "";
switch (action) {
VALUECHECK:
if (string_to_bool(value, &b))
return FAULT_9007;
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "dhcp_discovery", "disable");
set_management_server(); //TODO BY IBH
dmuci_set_value("cwmp", "acs", "dhcp_discovery", "disable");
dmuci_set_value("cwmp", "acs", "url", value);
cwmp_set_end_session(END_SESSION_RELOAD);
return 0;
}
return 0;
@ -53,13 +49,25 @@ int get_management_server_username(char *refparam, struct dmctx *ctx, char **val
int set_management_server_username(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server(); //TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "userid", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
int set_management_server_passwd(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server(); //TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "passwd", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
@ -71,7 +79,13 @@ int get_management_server_key(char *refparam, struct dmctx *ctx, char **value)
int set_management_server_key(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server(); //TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "ParameterKey", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
@ -83,7 +97,13 @@ int get_management_server_periodic_inform_enable(char *refparam, struct dmctx *c
int set_management_server_periodic_inform_enable(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server();//TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "periodic_inform_enable", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
@ -95,26 +115,27 @@ int get_management_server_periodic_inform_interval(char *refparam, struct dmctx
int set_management_server_periodic_inform_interval(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server();//TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "periodic_inform_interval", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
/*get_management_server_periodic_inform_time() {
local val=""
val=`$UCI_GET cwmp.acs.periodic_inform_time`
if [ "$val" != "0" -a "$val" != "" ];then
val=`date -d @$val +"%Y-%m-%dT%H:%M:%S.000Z"`
else
val="0001-01-01T00:00:00Z"
fi
echo "$val"
}
*/
int get_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx, char **value)
{
time_t time_value;
dmuci_get_option_value_string("cwmp", "acs", "periodic_inform_time", value);
if ((*value)[0] != '0' && (*value)[0] != '\0') {
*value = dmstrdup("TOCODE");
time_value = atoi(*value);
dmfree(*value);
char s_now[sizeof "AAAA-MM-JJTHH:MM:SS.000Z"];
strftime(s_now, sizeof s_now, "%Y-%m-%dT%H:%M:%S.000Z", localtime(&time_value));
*value = dmstrdup(s_now);
}
else {
dmfree(*value);
@ -125,7 +146,13 @@ int get_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx
int set_management_server_periodic_inform_time(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server(); //TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "acs", "periodic_inform_time", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
@ -144,47 +171,43 @@ int get_management_server_connection_request_username(char *refparam, struct dmc
int set_management_server_connection_request_username(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server();//TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "cpe", "userid", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
int set_management_server_connection_request_passwd(char *refparam, struct dmctx *ctx, int action, char *value)
{
set_management_server();//TODO BY IBH
switch (action) {
VALUECHECK:
return 0;
VALUESET:
dmuci_set_value("cwmp", "cpe", "passwd", value);
cwmp_set_end_session(END_SESSION_RELOAD);
}
return 0;
}
/*
get_cache_InternetGatewayDevice_ManagementServer() {
get_object_cache_generic "InternetGatewayDevice.ManagementServer." "0" "0"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.URL" "1" "\$UCI_GET cwmp.acs.url" "set_management_server_url \$val" "" "cwmp.acs.url"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.Username" "1" "\$UCI_GET cwmp.acs.userid" "set_management_server cwmp.acs.userid \$val" "" "cwmp.acs.userid"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.Password" "1" "" "set_management_server cwmp.acs.passwd \$val" "" "" "" "" "" "" "1"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ParameterKey" "1" "\$UCI_GET cwmp.acs.ParameterKey" "set_management_server cwmp.acs.ParameterKey \$val" "" "cwmp.acs.ParameterKey" "" "0" "1"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformEnable" "1" "\$UCI_GET cwmp.acs.periodic_inform_enable" "set_management_server cwmp.acs.periodic_inform_enable \$val" "" "cwmp.acs.periodic_inform_enable" "xsd:boolean"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformInterval" "1" "\$UCI_GET cwmp.acs.periodic_inform_interval" "set_management_server cwmp.acs.periodic_inform_interval \$val" "" "cwmp.acs.periodic_inform_interval" "xsd:unsignedInt"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.PeriodicInformTime" "1" "get_management_server_periodic_inform_time" "set_management_server_periodic_inform_time \$val" "" "cwmp.acs.periodic_inform_time" "xsd:dateTime"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestURL" "0" "get_management_server_connection_request_url" "" "1" "" "" "0" "1" "2"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestUsername" "1" "\$UCI_GET cwmp.cpe.userid" "set_management_server cwmp.cpe.userid \$val" "" "cwmp.cpe.userid"
get_param_cache_generic "InternetGatewayDevice.ManagementServer.ConnectionRequestPassword" "1" "" "set_management_server cwmp.cpe.passwd \$val" "" "" "" "" "" "" "1"
}
*/
int entry_method_root_ManagementServer(struct dmctx *ctx)
{
IF_MATCH(ctx, DMROOT"ManagementServer.") {
DMOBJECT(DMROOT"ManagementServer.", ctx, "0", 0, NULL, NULL, NULL);
DMPARAM("URL", ctx, "1", get_management_server_url, set_management_server_url, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("Username", ctx, "1", get_management_server_username, set_management_server_username, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("Password", ctx, "1", get_empty, set_management_server_passwd, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("URL", ctx, "1", get_management_server_url, set_management_server_url, "", 0, 0, UNDEF, NULL);
DMPARAM("Username", ctx, "1", get_management_server_username, set_management_server_username, "", 0, 0, UNDEF, NULL);
DMPARAM("Password", ctx, "1", get_empty, set_management_server_passwd, "", 0, 0, UNDEF, NULL);
DMPARAM("ParameterKey", ctx, "1", get_management_server_key, set_management_server_key, "", 1, 0, UNDEF, NULL);
DMPARAM("PeriodicInformEnable", ctx, "1", get_management_server_periodic_inform_enable, set_management_server_periodic_inform_enable, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("PeriodicInformInterval", ctx, "1", get_management_server_periodic_inform_interval, set_management_server_periodic_inform_interval, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("PeriodicInformTime", ctx, "1", get_management_server_periodic_inform_time, set_management_server_periodic_inform_time, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("PeriodicInformInterval", ctx, "1", get_management_server_periodic_inform_interval, set_management_server_periodic_inform_interval, "xsd:unsignedInt", 0, 0, UNDEF, NULL);
DMPARAM("PeriodicInformTime", ctx, "1", get_management_server_periodic_inform_time, set_management_server_periodic_inform_time, "xsd:dateTime", 0, 0, UNDEF, NULL);
DMPARAM("ConnectionRequestURL", ctx, "0", get_management_server_connection_request_url, NULL, "", 1, 0, UNDEF, NULL);
DMPARAM("ConnectionRequestUsername", ctx, "1", get_management_server_connection_request_username, set_management_server_connection_request_username, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("ConnectionRequestPassword", ctx, "1", get_empty, set_management_server_connection_request_passwd, "xsd:boolean", 0, 0, UNDEF, NULL);
DMPARAM("ConnectionRequestUsername", ctx, "1", get_management_server_connection_request_username, set_management_server_connection_request_username, "", 0, 0, UNDEF, NULL);
DMPARAM("ConnectionRequestPassword", ctx, "1", get_empty, set_management_server_connection_request_passwd, "", 0, 0, UNDEF, NULL);
return 0;
}
return FAULT_9005;

View file

@ -12,7 +12,6 @@
#define __MANAGEMENT_SERVER_H
int get_management_server_url(char *refparam, struct dmctx *ctx, char **value);
int set_management_server();
int set_management_server_url(char *refparam, struct dmctx *ctx, int action, char *value);
int get_management_server_username(char *refparam, struct dmctx *ctx, char **value);
int set_management_server_username(char *refparam, struct dmctx *ctx, int action, char *value);