|
|
@@ -178,6 +178,7 @@ static int ini_read(dictionary *dic, char *key, void *val, int len, int type)
|
|
|
}
|
|
|
}
|
|
|
else if(type==TYPE_STR) {
|
|
|
+ ((char*)val)[0] = 0;
|
|
|
char *p = (char*)iniparser_getstring(dic, key, NULL);
|
|
|
if(p) {
|
|
|
int xlen=strlen(p);
|
|
|
@@ -738,14 +739,10 @@ static int proc_ntp(char *path, int op, NTPManager *ntp)
|
|
|
r = ini_rw(dic, "ntp:tzone", &pntp->tzone, sizeof(pntp->tzone), TYPE_INT, op); if(r) goto quit;
|
|
|
r = ini_rw(dic, "ntp:time", pntp->time, sizeof(pntp->time), TYPE_STR, op); if(r) goto quit;
|
|
|
|
|
|
- pntp->time[0] = 0;
|
|
|
- pntp->weekday = 0;
|
|
|
pntp->product_id = 0;
|
|
|
- r = proc_ntp(path, PARAS_CHECK, pntp);
|
|
|
- if(r==0) {
|
|
|
- //r = dev_clear_table(dm->db, TAB_ID_NTP); if(r) goto quit;
|
|
|
- r = dev_update_ntp_info(dm->db, 0, pntp);
|
|
|
- }
|
|
|
+ r = proc_ntp(path, PARAS_CHECK, pntp); if(r) goto quit;
|
|
|
+ //r = dev_clear_table(dm->db, TAB_ID_NTP); if(r) goto quit;
|
|
|
+ r = dev_update_ntp_info(dm->db, 0, pntp);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
@@ -802,7 +799,7 @@ static int proc_snmp(char *path, int op, SNMPManager *snmp)
|
|
|
r = -1;
|
|
|
}
|
|
|
|
|
|
- if(sys_ip_check(psnmp->nmsIP)==IP_ERR) {
|
|
|
+ if(psnmp->version>=1 && sys_ip_check(psnmp->nmsIP)==IP_ERR) {
|
|
|
LOGE("___ check snmp, nms ip is invalid\n");
|
|
|
r = -1;
|
|
|
}
|
|
|
@@ -1080,7 +1077,8 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
|
memset(pmqtt, 0, sizeof(mqtt_info_t));
|
|
|
for(i=0; i<MQTT_SER_MAX; i++) {
|
|
|
ser = &pmqtt->ser[j];
|
|
|
-
|
|
|
+
|
|
|
+ ser->id = j;
|
|
|
sprintf(token, "mqtt:broker%d.plat", i+1);
|
|
|
r = ini_rw(dic, token, &ser->plat, sizeof(ser->plat), TYPE_INT, op); if(r) goto quit;
|
|
|
|
|
|
@@ -1101,7 +1099,7 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
|
sprintf(token, "mqtt:broker%d.port", i+1);
|
|
|
r = ini_rw(dic, token, ser->port, sizeof(ser->port), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.clientID", i+1);
|
|
|
+ sprintf(token, "mqtt:broker%d.client_id", i+1);
|
|
|
r = ini_rw(dic, token, ser->cid, sizeof(ser->cid), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
sprintf(token, "mqtt:broker%d.user", i+1);
|
|
|
@@ -1117,15 +1115,12 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
|
j++;
|
|
|
}
|
|
|
if(r) {
|
|
|
- memset(ser, 0, sizeof(mqtt_server_t));
|
|
|
ser->id = -1;
|
|
|
}
|
|
|
|
|
|
- r = proc_mqtt(path, PARAS_CHECK, pmqtt);
|
|
|
- if(r==0) {
|
|
|
- r = dev_clear_table(dm->db, TAB_ID_MQTT); if(r) goto quit;
|
|
|
- r = dev_mqtt_update_info(dm->db, pmqtt);
|
|
|
- }
|
|
|
+ r = proc_mqtt(path, PARAS_CHECK, pmqtt); if(r) goto quit;
|
|
|
+ r = dev_clear_table(dm->db, TAB_ID_MQTT); if(r) goto quit;
|
|
|
+ r = dev_mqtt_update_info(dm->db, pmqtt);
|
|
|
}
|
|
|
break;
|
|
|
|
|
|
@@ -1138,41 +1133,39 @@ static int proc_mqtt(char *path, int op, mqtt_info_t *mqtt)
|
|
|
|
|
|
for(i=0; i<MQTT_SER_MAX; i++) {
|
|
|
ser = &pmqtt->ser[i];
|
|
|
-
|
|
|
- if(ser->mode) {
|
|
|
- sprintf(token, "mqtt:broker%d.plat", i+1);
|
|
|
- r = ini_rw(dic, token, &ser->plat, sizeof(ser->plat), TYPE_INT, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.mode", i+1);
|
|
|
- r = ini_rw(dic, token, &ser->mode, sizeof(ser->mode), TYPE_INT, op); if(r) goto quit;
|
|
|
-
|
|
|
- #if 0
|
|
|
- sprintf(token, "mqtt:broker%d.proto", i+1);
|
|
|
- r = ini_rw(dic, token, ser->proto, TYPE_STR, op); if(r) goto quit;
|
|
|
- #endif
|
|
|
+ sprintf(token, "mqtt:broker%d.plat", i+1);
|
|
|
+ r = ini_rw(dic, token, &ser->plat, sizeof(ser->plat), TYPE_INT, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.name", i+1);
|
|
|
- r = ini_rw(dic, token, ser->name, sizeof(ser->name), TYPE_STR, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mqtt:broker%d.mode", i+1);
|
|
|
+ r = ini_rw(dic, token, &ser->mode, sizeof(ser->mode), TYPE_INT, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.server", i+1);
|
|
|
- r = ini_rw(dic, token, ser->server, sizeof(ser->server), TYPE_STR, op); if(r) goto quit;
|
|
|
+ #if 0
|
|
|
+ sprintf(token, "mqtt:broker%d.proto", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->proto, TYPE_STR, op); if(r) goto quit;
|
|
|
+ #endif
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.port", i+1);
|
|
|
- r = ini_rw(dic, token, ser->port, sizeof(ser->port), TYPE_STR, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mqtt:broker%d.name", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->name, sizeof(ser->name), TYPE_STR, op); if(r) goto quit;
|
|
|
+
|
|
|
+ sprintf(token, "mqtt:broker%d.server", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->server, sizeof(ser->server), TYPE_STR, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.clientID", i+1);
|
|
|
- r = ini_rw(dic, token, ser->cid, sizeof(ser->cid), TYPE_STR, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mqtt:broker%d.port", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->port, sizeof(ser->port), TYPE_STR, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.user", i+1);
|
|
|
- r = ini_rw(dic, token, ser->user, sizeof(ser->user), TYPE_STR, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mqtt:broker%d.client_id", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->cid, sizeof(ser->cid), TYPE_STR, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.password", i+1);
|
|
|
- r = ini_rw(dic, token, ser->password, sizeof(ser->password), TYPE_STR, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mqtt:broker%d.user", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->user, sizeof(ser->user), TYPE_STR, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mqtt:broker%d.cert", i+1);
|
|
|
- str_replace(ser->cert, "\r\n", ";;");
|
|
|
- r = ini_rw(dic, token, ser->cert, sizeof(ser->cert), TYPE_STR, op); if(r) goto quit;
|
|
|
- }
|
|
|
+ sprintf(token, "mqtt:broker%d.password", i+1);
|
|
|
+ r = ini_rw(dic, token, ser->password, sizeof(ser->password), TYPE_STR, op); if(r) goto quit;
|
|
|
+
|
|
|
+ sprintf(token, "mqtt:broker%d.cert", i+1);
|
|
|
+ str_replace(ser->cert, "\r\n", ";;");
|
|
|
+ r = ini_rw(dic, token, ser->cert, sizeof(ser->cert), TYPE_STR, op); if(r) goto quit;
|
|
|
}
|
|
|
r = ini_dump(path, dic);
|
|
|
}
|
|
|
@@ -1239,8 +1232,8 @@ static int proc_mail(char *path, int op, mail_info_t *mail)
|
|
|
}
|
|
|
|
|
|
if(recv->use==1) {
|
|
|
- if(recv->idx != i) {
|
|
|
- LOGE("___ check mail, recv[%d].idx %d mismatch it's index\n", i,recv->idx);
|
|
|
+ if(recv->id != i) {
|
|
|
+ LOGE("___ check mail, recv[%d].id %d mismatch it's index\n", i,recv->id);
|
|
|
r = -1;
|
|
|
}
|
|
|
|
|
|
@@ -1301,6 +1294,8 @@ static int proc_mail(char *path, int op, mail_info_t *mail)
|
|
|
dic = iniparser_load(path); if(!dic) return -1;
|
|
|
|
|
|
memset(pmail, 0, sizeof(mail_info_t));
|
|
|
+ send->id = 0;
|
|
|
+
|
|
|
r = ini_rw(dic, "mail:send.mode", &send->mode, sizeof(send->mode), TYPE_INT, op); if(r) goto quit;
|
|
|
r = ini_rw(dic, "mail:send.server", send->server, sizeof(send->server), TYPE_STR, op); if(r) goto quit;
|
|
|
r = ini_rw(dic, "mail:send.port", send->port, sizeof(send->port), TYPE_STR, op); if(r) goto quit;
|
|
|
@@ -1312,7 +1307,7 @@ static int proc_mail(char *path, int op, mail_info_t *mail)
|
|
|
for(i=0; i<MAIL_RECV_MAX; i++) {
|
|
|
recv = &pmail->recv[i];
|
|
|
|
|
|
- recv->idx = i;
|
|
|
+ recv->id = i;
|
|
|
sprintf(token, "mail:recv%d.use", i+1);
|
|
|
r = ini_rw(dic, token, &recv->use, sizeof(recv->use), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
@@ -1350,14 +1345,11 @@ static int proc_mail(char *path, int op, mail_info_t *mail)
|
|
|
for(i=0; i<MAIL_RECV_MAX; i++) {
|
|
|
mail_recv_t *recv=&pmail->recv[i];
|
|
|
|
|
|
- recv->idx = i;
|
|
|
- if(recv->use) {
|
|
|
- sprintf(token, "mail:recv%d.use", i+1);
|
|
|
- r = ini_rw(dic, token, &recv->use, sizeof(recv->use), TYPE_INT, op); if(r) goto quit;
|
|
|
+ sprintf(token, "mail:recv%d.use", i+1);
|
|
|
+ r = ini_rw(dic, token, &recv->use, sizeof(recv->use), TYPE_INT, op); if(r) goto quit;
|
|
|
|
|
|
- sprintf(token, "mail:recv%d.account", i+1);
|
|
|
- r = ini_rw(dic, token, recv->account, sizeof(recv->account), TYPE_STR, op); if(r) goto quit;
|
|
|
- }
|
|
|
+ sprintf(token, "mail:recv%d.account", i+1);
|
|
|
+ r = ini_rw(dic, token, recv->account, sizeof(recv->account), TYPE_STR, op); if(r) goto quit;
|
|
|
}
|
|
|
r = ini_dump(path, dic);
|
|
|
}
|
|
|
@@ -1448,11 +1440,13 @@ static int proc_role(char *path, int op, RoleInfo *role, handle_t l)
|
|
|
for(x=0; x<2; x++) {
|
|
|
i = 1;
|
|
|
while(1) {
|
|
|
+ prole->roleID = i;
|
|
|
+
|
|
|
sprintf(token, "role:role%d.name", i);
|
|
|
r = ini_rw(dic, token, prole->roleName, sizeof(prole->roleName), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
sprintf(token, "role:role%d.level", i);
|
|
|
- r = ini_rw(dic, token, &prole->roleLevel, sizeof(prole->roleLevel), TYPE_STR, op); if(r) break;
|
|
|
+ r = ini_rw(dic, token, &prole->roleLevel, sizeof(prole->roleLevel), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
sprintf(token, "role:role%d.auth", i);
|
|
|
r = ini_rw(dic, token, prole->roleAuthority, sizeof(prole->roleAuthority), TYPE_STR, op); if(r) break;
|
|
|
@@ -1578,11 +1572,6 @@ static int proc_user(char *path, int op, UserInfo *user, handle_t l)
|
|
|
r = -1;
|
|
|
}
|
|
|
|
|
|
- //if(puser->roleID>3) {
|
|
|
- // LOGE("___ check user, roleID is invalid, correct value is 1/2/3\n");
|
|
|
- // r = -1;
|
|
|
- //}
|
|
|
-
|
|
|
if(!puser->createTime[0]) {
|
|
|
LOGE("___ check user, createTime is null\n");
|
|
|
r = -1;
|
|
|
@@ -1633,19 +1622,21 @@ static int proc_user(char *path, int op, UserInfo *user, handle_t l)
|
|
|
for(x=0; x<2; x++) {
|
|
|
i = 1;
|
|
|
while(1) {
|
|
|
- sprintf(token, "role:role%d.name", i);
|
|
|
+ puser->userID = i;
|
|
|
+
|
|
|
+ sprintf(token, "user:user%d.name", i);
|
|
|
r = ini_rw(dic, token, puser->userName, sizeof(puser->userName), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.password", i);
|
|
|
+ sprintf(token, "user:user%d.password", i);
|
|
|
r = ini_rw(dic, token, &puser->userPW, sizeof(puser->userPW), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.nick_name", i);
|
|
|
+ sprintf(token, "user:user%d.nick_name", i);
|
|
|
r = ini_rw(dic, token, puser->nickName, sizeof(puser->nickName), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.role_id", i);
|
|
|
+ sprintf(token, "user:user%d.role_id", i);
|
|
|
r = ini_rw(dic, token, &puser->roleID, sizeof(puser->roleID), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.time", i);
|
|
|
+ sprintf(token, "user:user%d.time", i);
|
|
|
r = ini_rw(dic, token, puser->createTime, sizeof(puser->createTime), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
if(chk_ok==0) {
|
|
|
@@ -1692,19 +1683,19 @@ static int proc_user(char *path, int op, UserInfo *user, handle_t l)
|
|
|
|
|
|
r = proc_user(path, PARAS_CHECK, tmp, NULL); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.name", i);
|
|
|
+ sprintf(token, "user:user%d.name", i);
|
|
|
r = ini_rw(dic, token, tmp->userName, sizeof(tmp->userName), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.password", i);
|
|
|
+ sprintf(token, "user:user%d.password", i);
|
|
|
r = ini_rw(dic, token, &tmp->userPW, sizeof(tmp->userPW), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.nick_name", i);
|
|
|
+ sprintf(token, "user:user%d.nick_name", i);
|
|
|
r = ini_rw(dic, token, tmp->nickName, sizeof(tmp->nickName), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.role_id", i);
|
|
|
+ sprintf(token, "user:user%d.role_id", i);
|
|
|
r = ini_rw(dic, token, &tmp->roleID, sizeof(tmp->roleID), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "role:role%d.time", i);
|
|
|
+ sprintf(token, "user:user%d.time", i);
|
|
|
r = ini_rw(dic, token, tmp->createTime, sizeof(tmp->createTime), TYPE_STR, op); if(r) break;
|
|
|
|
|
|
i++;
|
|
|
@@ -2522,24 +2513,25 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
{
|
|
|
float f;
|
|
|
int x,chk_ok=0,cnt_ok=0;
|
|
|
-
|
|
|
+ GlobalPowerManger pwr;
|
|
|
GlobalTreeACManager *tmp=&power2;
|
|
|
dic = iniparser_load(path); if(!dic) return -1;
|
|
|
|
|
|
memset(tmp, 0, sizeof(GlobalTreeACManager));
|
|
|
for(x=0; x<2; x++) {
|
|
|
- for(i=1; i<=dm->brdMax; i++) {
|
|
|
+ for(i=1; i<=dm->brdMax*3; i++) {
|
|
|
+ int channelID = i;
|
|
|
+
|
|
|
sprintf(token, "power:channel%d.addr",i);
|
|
|
r = ini_rw(dic, token, &tmp->product_saddr, sizeof(tmp->product_saddr), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
- int channelID = i;
|
|
|
tmp->product_ph_id = channelID-1;
|
|
|
|
|
|
sprintf(token, "power:channel%d.ch_addr",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_ch_addr, sizeof(tmp->product_ch_addr), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
- //sprintf(token, "power:channel%d.ph_id",channelID);
|
|
|
- //r = ini_rw(dic, token, &tmp->product_ph_id, sizeof(tmp->product_ph_id), TYPE_INT, op); if(r) break;
|
|
|
+ sprintf(token, "power:channel%d.ch_id",channelID);
|
|
|
+ r = ini_rw(dic, token, &tmp->product_ch_id, sizeof(tmp->product_ch_id), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
sprintf(token, "power:channel%d.ph_type",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_ph_type, sizeof(tmp->product_ph_type), TYPE_INT, op); if(r) break;
|
|
|
@@ -2551,7 +2543,6 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
r = ini_rw(dic, token, &tmp->product_ph_outputStatus, sizeof(tmp->product_ph_outputStatus), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
///////////voltage//////////
|
|
|
-
|
|
|
GlobalOverManager *pover=&tmp->global_over_manager;
|
|
|
//upper
|
|
|
sprintf(token, "power:channel%d.threshold.voltate.up.en",channelID);
|
|
|
@@ -2623,8 +2614,12 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
cnt_ok++;
|
|
|
}
|
|
|
else {
|
|
|
- r = dev_update_t_ac_power_manage_info(dm->db, tmp); if(r) break;
|
|
|
- r = dev_update_t_ac_power_manage_over_info(dm->db, tmp); if(r) break;
|
|
|
+ r = dev_get_power_manage_info2(dm->db, 0, tmp->product_ch_id, &pwr); if(r) break;
|
|
|
+
|
|
|
+ pwr.global_over_manager = tmp->global_over_manager;
|
|
|
+ r = dev_update_power_manage_over_info(dm->db, 0, tmp->product_ch_id, &pwr); if(r) break;
|
|
|
+
|
|
|
+ r = dev_update_t_ac_power_manage_over_info(dm->db, tmp); if(r) break;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2643,6 +2638,7 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
|
|
|
case PARAS_WRITE:
|
|
|
{
|
|
|
+ int channelID=-1;
|
|
|
GlobalTreeACManager *tmp,*node,*next;
|
|
|
|
|
|
ppower = &power2;
|
|
|
@@ -2654,17 +2650,23 @@ static int proc_power3(char *path, int op, GlobalTreeACManager *power)
|
|
|
list_for_each_entry(tmp, &ppower->list_Tree_AC, list_Tree_AC) {
|
|
|
if(!tmp) break;
|
|
|
|
|
|
- int channelID = tmp->product_ph_id+1;
|
|
|
+ //if(tmp->product_ph_id%3) continue;
|
|
|
+ //channelID = tmp->product_ph_id/3+1;
|
|
|
+ channelID = tmp->product_ph_id+1;
|
|
|
+
|
|
|
r = proc_power3(path, PARAS_CHECK, tmp); if(r) break;
|
|
|
|
|
|
sprintf(token, "power:channel%d.addr",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_saddr, sizeof(tmp->product_saddr), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
+ sprintf(token, "power:channel%d.ch_id",channelID);
|
|
|
+ r = ini_rw(dic, token, &tmp->product_ch_id, sizeof(tmp->product_ch_id), TYPE_INT, op); if(r) break;
|
|
|
+
|
|
|
sprintf(token, "power:channel%d.ch_addr",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_ch_addr, sizeof(tmp->product_ch_addr), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
- sprintf(token, "power:channel%d.ph_id",channelID);
|
|
|
- r = ini_rw(dic, token, &tmp->product_ph_id, sizeof(tmp->product_ph_id), TYPE_INT, op); if(r) break;
|
|
|
+ //sprintf(token, "power:channel%d.ph_id",channelID);
|
|
|
+ //r = ini_rw(dic, token, &tmp->product_ph_id, sizeof(tmp->product_ph_id), TYPE_INT, op); if(r) break;
|
|
|
|
|
|
sprintf(token, "power:channel%d.ph_type",channelID);
|
|
|
r = ini_rw(dic, token, &tmp->product_ph_type, sizeof(tmp->product_ph_type), TYPE_INT, op); if(r) break;
|