Browse Source

2020-11-06 / ct_chen

Actions:
1. Webservice kill wifi/4G module process after modify value

Files:
1. EVSE/Modularization/WebService.c
ct_chen 4 years ago
parent
commit
c45e119bb2
1 changed files with 21 additions and 1 deletions
  1. 21 1
      EVSE/Modularization/WebService.c

+ 21 - 1
EVSE/Modularization/WebService.c

@@ -890,6 +890,8 @@ int main(int argc, char *argv[]) {
 			char *TelcomChapPapPwd=NULL;
 			char *TelcomIpAddress=NULL;
 			char TelcomEnabled=0;
+			char Wcnt=0;
+			char Tcnt=0;
 			if( json_object_object_get_ex(jobj, "Eth0DhcpClient", &val_obj) ) {
 				Eth0DhcpClient = json_object_get_int(val_obj);
 				ShmSysConfigAndInfo->SysConfig.Eth0Interface.EthDhcpClient=Eth0DhcpClient;
@@ -908,57 +910,75 @@ int main(int argc, char *argv[]) {
 			}
 			if( json_object_object_get_ex(jobj, "WifiMode", &val_obj) ) {
 				WifiMode = json_object_get_int(val_obj);
+				if(WifiMode!=ShmSysConfigAndInfo->SysConfig.AthInterface.WifiMode) Wcnt++;
 				ShmSysConfigAndInfo->SysConfig.AthInterface.WifiMode=WifiMode;
 			}
 			if( json_object_object_get_ex(jobj, "WifiSsid", &val_obj) ) {
 				WifiSsid = (char*)json_object_get_string(val_obj);
+				if (strcmp(WifiSsid, ShmSysConfigAndInfo->SysConfig.AthInterface.WifiSsid) != 0) Wcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.AthInterface.WifiSsid,WifiSsid);
 			}
 			if( json_object_object_get_ex(jobj, "WifiPassword", &val_obj) ) {
 				WifiPassword = (char*)json_object_get_string(val_obj);
+				if (strcmp(WifiSsid, ShmSysConfigAndInfo->SysConfig.AthInterface.WifiSsid) != 0) Wcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.AthInterface.WifiPassword,WifiPassword);
 			}
 			if( json_object_object_get_ex(jobj, "WifiDhcpServer", &val_obj) ) {
 				WifiDhcpServer = json_object_get_int(val_obj);
+				if(WifiDhcpServer!=ShmSysConfigAndInfo->SysConfig.AthInterface.WifiDhcpServer) Wcnt++;
 				ShmSysConfigAndInfo->SysConfig.AthInterface.WifiDhcpServer=WifiDhcpServer;
 			}
 			if( json_object_object_get_ex(jobj, "WifiDhcpClient", &val_obj) ) {
 				WifiDhcpClient = json_object_get_int(val_obj);
+				if(WifiDhcpClient!=ShmSysConfigAndInfo->SysConfig.AthInterface.WifiDhcpClient) Wcnt++;
 				ShmSysConfigAndInfo->SysConfig.AthInterface.WifiDhcpClient=WifiDhcpClient;
 			}
 			if( json_object_object_get_ex(jobj, "WifiIpAddress", &val_obj) ) {
 				WifiIpAddress = (char*)json_object_get_string(val_obj);
+				if (strcmp(WifiIpAddress, ShmSysConfigAndInfo->SysConfig.AthInterface.WifiIpAddress) != 0) Wcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.AthInterface.WifiIpAddress,WifiIpAddress);
 			}
 			if( json_object_object_get_ex(jobj, "WifiSubmaskAddress", &val_obj) ) {
 				WifiSubmaskAddress = (char*)json_object_get_string(val_obj);
+				if (strcmp(WifiSubmaskAddress, ShmSysConfigAndInfo->SysConfig.AthInterface.WifiSubmaskAddress) != 0) Wcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.AthInterface.WifiSubmaskAddress,WifiSubmaskAddress);
 			}
 			if( json_object_object_get_ex(jobj, "WifiGatewayAddress", &val_obj) ) {
 				WifiGatewayAddress = (char*)json_object_get_string(val_obj);
+				if (strcmp(WifiGatewayAddress, ShmSysConfigAndInfo->SysConfig.AthInterface.WifiGatewayAddress) != 0) Wcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.AthInterface.WifiGatewayAddress,WifiGatewayAddress);
 			}
 			if( json_object_object_get_ex(jobj, "TelcomApn", &val_obj) ) {
 				TelcomApn = (char*)json_object_get_string(val_obj);
+				if (strcmp(TelcomApn, ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomApn) != 0) Tcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomApn,TelcomApn);
 			}
 			if( json_object_object_get_ex(jobj, "TelcomChapPapId", &val_obj) ) {
 				TelcomChapPapId = (char*)json_object_get_string(val_obj);
+				if (strcmp(TelcomChapPapId, ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomChapPapId) != 0) Tcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomChapPapId,TelcomChapPapId);
 			}
 			if( json_object_object_get_ex(jobj, "TelcomChapPapPwd", &val_obj) ) {
 				TelcomChapPapPwd = (char*)json_object_get_string(val_obj);
+				if (strcmp(TelcomChapPapPwd, ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomChapPapPwd) != 0) Tcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomChapPapPwd,TelcomChapPapPwd);
 			}
 			if( json_object_object_get_ex(jobj, "TelcomIpAddress", &val_obj) ) {
 				TelcomIpAddress = (char*)json_object_get_string(val_obj);
+				if (strcmp(TelcomIpAddress, ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomIpAddress) != 0) Tcnt++;
 				strcpy((char *)&ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomIpAddress,TelcomIpAddress);
 			}
 			if( json_object_object_get_ex(jobj, "TelcomEnabled", &val_obj) ) {
 				TelcomEnabled = json_object_get_int(val_obj);
+				if(TelcomEnabled!=ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomEnabled) Tcnt++;
 				ShmSysConfigAndInfo->SysConfig.TelecomInterface.TelcomEnabled=TelcomEnabled;
 			}
-
+			if(Wcnt>0){
+				system ("pkill Module_Wifi");
+			}
+			if(Tcnt>0){
+				system ("pkill Module_4g");
+			}
 		}
 		if (strcmp(argv[1], "4") == 0) {
 			struct json_object *jobj = json_tokener_parse(argv[2]);