|
|
@@ -1163,19 +1163,6 @@ void ResourceWatcherFSM::DiskCheckTimer(void* pData)
|
|
|
GetEntityBase()->GetFunction()->ResetTimer(TIMER_DISK_CHECK, diskCheckTime);
|
|
|
}
|
|
|
|
|
|
-#define CNNTYPE_UNKONWN 0 //0:未知
|
|
|
-#define CNNTYPE_LAN 1 //网线已连接
|
|
|
-#define CNNTYPE_LAN_DISCONNECT 2 //网线未连接(行内PAD,本应连接网线的)
|
|
|
-#define CNNTYPE_DONGLE_CNTED 3 //外接卡托已连接(这种情况几乎没有)
|
|
|
-#define CNNTYPE_DONGLE_DISCONNECT 4 //外接卡托未连接(这种情况几乎没有)
|
|
|
-#define CNNTYPE_LTE_CNTED 5 //5:LTE设备,处于已连接状态
|
|
|
-#define CNNTYPE_LTE_DISCONNECT 6 //LTE设备,处于未连接状态
|
|
|
-#define CNNTYPE_MIFI_WIFI_SIM 7 //MIFI连接模式,WIFI已连接,SIM卡已连接
|
|
|
-#define CNNTYPE_MIFI_WIFI_CNTED 8 //MIFI连接模式,WIFI已连接,SIM卡未连接
|
|
|
-#define CNNTYPE_MIFI_WIFI_DISCONNECT 9 //MIFI连接模式,WIFI未连接
|
|
|
-#define CNNTYPE_WIFI_CONNECT 10 //WIFI已连接(非MIFI模式,手工连接等其他场景)
|
|
|
-#define CNNTYPE_NO_ANY_CONNECT 11 //无任何其他内容连接
|
|
|
-
|
|
|
ErrorCodeEnum ResourceWatcherFSM::CheckNetType(
|
|
|
SpReqAnsContext<ResourceWatcherService_CheckNetType_Req, ResourceWatcherService_CheckNetType_Ans>::Pointer ctx)
|
|
|
{
|
|
|
@@ -1219,70 +1206,40 @@ ErrorCodeEnum ResourceWatcherFSM::CheckNetType(
|
|
|
}
|
|
|
|
|
|
#else
|
|
|
- CSystemStaticInfo info;
|
|
|
- GetEntityBase()->GetFunction()->GetSystemStaticInfo(info);
|
|
|
- if (info.strMachineType.Compare("RVC.PAD") == 0) //PAD机型
|
|
|
- {
|
|
|
- CMbnImplHelper mbnHelper;
|
|
|
- ResetDongleInfos();
|
|
|
- const int nMBN = mbnHelper.EnumerateInterfaces();
|
|
|
- const int cnt = g_DongleInfos.GetCount();
|
|
|
- for (int i = 0; i < cnt; ++i) {
|
|
|
- if (g_DongleInfos[i].state == MBD_ACTIVATION_CONNECTED) {
|
|
|
- netType = 4; //移动网络
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (netType == 0 && 1 == IsWifiConnected()) {
|
|
|
- netType = 3; //无线网络
|
|
|
- }
|
|
|
- if (netType == 0) {
|
|
|
- if (SP::Module::Net::CheckLANConnectStatus()) {
|
|
|
- netType = 2; //有线
|
|
|
- }
|
|
|
- else {
|
|
|
- netType = 1; //未连接
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- else //大机、低柜、卡库
|
|
|
- {
|
|
|
- CoInitialize(NULL);
|
|
|
- // 通过NLA接口获取网络状态
|
|
|
- IUnknown* pUnknown = NULL;
|
|
|
- bool bOnline = true;//是否在线
|
|
|
- HRESULT Result = CoCreateInstance(CLSID_NetworkListManager, NULL, CLSCTX_ALL,
|
|
|
- IID_IUnknown, (void**)&pUnknown);
|
|
|
+ CoInitialize(NULL);
|
|
|
+ // 通过NLA接口获取网络状态
|
|
|
+ IUnknown* pUnknown = NULL;
|
|
|
+ bool bOnline = true;//是否在线
|
|
|
+ HRESULT Result = CoCreateInstance(CLSID_NetworkListManager, NULL, CLSCTX_ALL,
|
|
|
+ IID_IUnknown, (void**)&pUnknown);
|
|
|
+ if (SUCCEEDED(Result)) {
|
|
|
+ INetworkListManager* pNetworkListManager = NULL;
|
|
|
+ if (pUnknown)
|
|
|
+ Result = pUnknown->QueryInterface(IID_INetworkListManager, (void
|
|
|
+ **)&pNetworkListManager);
|
|
|
if (SUCCEEDED(Result)) {
|
|
|
- INetworkListManager* pNetworkListManager = NULL;
|
|
|
- if (pUnknown)
|
|
|
- Result = pUnknown->QueryInterface(IID_INetworkListManager, (void
|
|
|
- **)&pNetworkListManager);
|
|
|
+ VARIANT_BOOL IsConnect = VARIANT_FALSE;
|
|
|
+ if (pNetworkListManager) {
|
|
|
+ //Result = pNetworkListManager->get_IsConnectedToInternet(&IsConnect); //检测互联网连接
|
|
|
+ Result = pNetworkListManager->get_IsConnected(&IsConnect); //检测本地网络
|
|
|
+ }
|
|
|
if (SUCCEEDED(Result)) {
|
|
|
- VARIANT_BOOL IsConnect = VARIANT_FALSE;
|
|
|
- if (pNetworkListManager) {
|
|
|
- //Result = pNetworkListManager->get_IsConnectedToInternet(&IsConnect); //检测互联网连接
|
|
|
- Result = pNetworkListManager->get_IsConnected(&IsConnect); //检测本地网络
|
|
|
- }
|
|
|
- if (SUCCEEDED(Result)) {
|
|
|
- bOnline = (IsConnect == VARIANT_TRUE) ? true : false;
|
|
|
- }
|
|
|
+ bOnline = (IsConnect == VARIANT_TRUE) ? true : false;
|
|
|
}
|
|
|
- if (pNetworkListManager)
|
|
|
- pNetworkListManager->Release();
|
|
|
- }
|
|
|
- if (pUnknown)
|
|
|
- pUnknown->Release();
|
|
|
-
|
|
|
- if (bOnline == true) {
|
|
|
- netType = 2;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- netType = 1;
|
|
|
}
|
|
|
+ if (pNetworkListManager)
|
|
|
+ pNetworkListManager->Release();
|
|
|
}
|
|
|
+ if (pUnknown)
|
|
|
+ pUnknown->Release();
|
|
|
|
|
|
+ if (bOnline == true) {
|
|
|
+ netType = 2;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ netType = 1;
|
|
|
+ }
|
|
|
#endif // RVC_OS_LINUX
|
|
|
|
|
|
if (ctx != NULL) {
|
|
|
@@ -2732,30 +2689,9 @@ void ResourceWatcherFSM::CheckDiskFileSpace()
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("强制扫描。");
|
|
|
}
|
|
|
-
|
|
|
- CSystemStaticInfo sysInfo;
|
|
|
- string path("");
|
|
|
- GetEntityBase()->GetFunction()->GetSystemStaticInfo(sysInfo);
|
|
|
- if (sysInfo.strMachineType == "RVC.PAD")
|
|
|
- {
|
|
|
- path = "C:";
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("pad设备。扫描C盘。");
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- path = "D:";
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("非pad设备。扫描D盘。");
|
|
|
- }
|
|
|
-
|
|
|
- if (path.size() == 0)
|
|
|
- {
|
|
|
- if (spaceLock)
|
|
|
- {
|
|
|
- spaceLock = false; //释放锁
|
|
|
- }
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
+
|
|
|
+ string path = "D:";
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("扫描D盘。");
|
|
|
long long fileLen = 0;
|
|
|
long hFile = 0;
|
|
|
//文件信息
|
|
|
@@ -3022,33 +2958,6 @@ void ResourceWatcherFSM::GetSystemDiskStatus()
|
|
|
m_diskHighPercent = 90; //默认硬盘告警百分比90%
|
|
|
}
|
|
|
|
|
|
- if (m_RvcSysinfo.strMachineType.Compare("RVC.PAD") != 0) //非pad设备扫描一下C盘
|
|
|
- {
|
|
|
- ULARGE_INTEGER ulAvailFreeTemp, ulTotalBytesTemp, ulTotalFreeTemp;
|
|
|
- BOOL retTemp = GetDiskFreeSpaceEx(TEXT("c:"), &ulAvailFreeTemp, &ulTotalBytesTemp, &ulTotalFreeTemp);
|
|
|
- if (retTemp == 0)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("GetSystemDiskStatus.GetDiskFreeSpaceEx failed(%d).", GetLastError());
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- DWORD dwAvFreeTemp = ulAvailFreeTemp.QuadPart / MILLION;
|
|
|
- DWORD dwTotalTemp = ulTotalBytesTemp.QuadPart / MILLION;
|
|
|
- DWORD dwTotalFreeTemp = ulTotalFreeTemp.QuadPart / MILLION;
|
|
|
- int ratioTemp = dwTotalFreeTemp * 100 / dwTotalTemp;
|
|
|
-
|
|
|
- if ((100 - ratioTemp) > m_diskHighPercent)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("The disk has %d MB(%d%%) available.\n", dwTotalFreeTemp, ratioTemp);
|
|
|
- char diskMessageTemp[1024];
|
|
|
- sprintf(diskMessageTemp, "{\"Disk\":\"C:\",\"total\":\"%0.2f GByte\",\"free ratio\":\"%d%%\"}",
|
|
|
- (double)dwTotalTemp / 1024, ratioTemp);
|
|
|
-
|
|
|
- LogWarn(Severity_Middle, Error_Resource, LOG_EVT_RESOURCE_HARDDISK_TOO_HIGH, diskMessageTemp);
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setResultCode("RTA5A05").setAPI("DiskUsedCheck")(diskMessageTemp);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
ULARGE_INTEGER ulAvailFree, ulTotalBytes, ulTotalFree;
|
|
|
BOOL ret = GetDiskFreeSpaceEx(NULL, &ulAvailFree, &ulTotalBytes, &ulTotalFree);
|
|
|
if (ret == 0)
|