Преглед на файлове

Z991239-4975 #comment 去掉健康的实体启动逻辑

oilyang преди 1 година
родител
ревизия
9b5084def6
променени са 3 файла, в които са добавени 12 реда и са изтрити 879 реда
  1. 3 781
      Module/mod_healthmanager/HealthManagerFSM.cpp
  2. 7 52
      Module/mod_healthmanager/HealthManagerFSM.h
  3. 2 46
      Module/mod_healthmanager/mod_healthmanager.cpp

+ 3 - 781
Module/mod_healthmanager/HealthManagerFSM.cpp

@@ -77,29 +77,9 @@ ErrorCodeEnum CHealthManagerFSM::Initial()
 	CSmartPointer<IAsynWaitSp> spWait;
 	
 	ErrorCodeEnum err;
-	CSimpleStringA cfgPath = "", strCoreBoot("CoreBoot"), strSafeLoad("SafeLoad"), strOp("Operating");
 	GetEntityBase()->GetFunction()->GetSystemStaticInfo(m_sysInfo);
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("machinetype[%s],terminalID[%s]", (LPCTSTR)m_sysInfo.strMachineType, (LPCTSTR)m_sysInfo.strTerminalID);
-	strCoreBoot = strCoreBoot + "." + m_sysInfo.strMachineType;
-	strSafeLoad = strSafeLoad + "." + m_sysInfo.strMachineType;
-	strOp = strOp + "." + m_sysInfo.strMachineType;
-	err = GetEntityBase()->GetFunction()->GetPath("cfg", cfgPath);
-	cfgPath = cfgPath +  SPLIT_SLASH_STR + "HealthManager.ini";
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cfgpath[%s]", (const char*)cfgPath);
-	ifstream is;
-	is.open(cfgPath, ios::binary);
-	if (!is.is_open())
-	{
-		DWORD dwErr = GetLastErrorRVC();
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("open cfg file failed. [%d]", dwErr);
-		return Error_IO;
-	}
-	string line;
-	long curr, end;
-	is.seekg(0, ios_base::end);
-	end = is.tellg();
-	is.seekg(0, ios_base::beg);
-	LoadStage eSection = LOADSTAGE_UNKNOWN;
+
 	CSmartPointer<IConfigInfo> spConfigCen;
 	GetEntityBase()->GetFunction()->OpenConfig(Config_CenterSetting, spConfigCen);
 	m_AccessAuthTries = 4;
@@ -149,85 +129,6 @@ ErrorCodeEnum CHealthManagerFSM::Initial()
 		return Error_IO;
 	}
 
-	int count, cbNum, slNum, opNum;
-	count = cbNum = slNum = opNum = 0;
-	do
-	{
-		getline(is, line);
-		if (line[0] == '[')
-		{
-			size_t secEnd = line.find(']', 1);
-			if (secEnd != string::npos)
-			{
-				string strSec = line.substr(1, secEnd - 1);
-				if (StrEqualNoCase(strSec.c_str(), strCoreBoot, strSec.length()))
-					eSection = LOADSTAGE_COREBOOT;
-				else if (StrEqualNoCase(strSec.c_str(), strSafeLoad, strSec.length()))
-					eSection = LOADSTAGE_SAFELOAD;
-				else if (StrEqualNoCase(strSec.c_str(), strOp, strSec.length()))
-					eSection = LOADSTAGE_OPERATING;
-				else
-					eSection = LOADSTAGE_UNKNOWN;
-			}
-		}
-		else if (((unsigned)(line[0] + 1) > 256) || line[0] == ';')
-		{//Chinese and other...
-			curr = is.tellg();
-			continue;
-		}
-		else if (isalpha(line[0]))
-		{
-			if (eSection == LOADSTAGE_UNKNOWN)
-			{
-				curr = is.tellg();
-				continue;
-			}
-			size_t keyPos = line.find('=', 0);
-			if (keyPos != string::npos)
-			{
-				string keyName = line.substr(0, keyPos);
-				count++;
-				switch (eSection)
-				{
-				case LOADSTAGE_COREBOOT:
-					spConfig->ReadConfigValueInt(strCoreBoot, keyName.c_str(), m_coreBootOpt[keyName.c_str()].loadOpt);
-					m_vCoreBoot.push_back(keyName.c_str());
-					m_vAllCfgEntity.push_back(keyName.c_str());
-					m_coreBootOpt[keyName.c_str()].eResult = LOADING_INIT;
-					m_coreBootOpt[keyName.c_str()].initSn = cbNum;
-					cbNum++;
-					break;
-				case LOADSTAGE_SAFELOAD:
-					spConfig->ReadConfigValueInt(strSafeLoad, keyName.c_str(), m_safeLoadOpt[keyName.c_str()].loadOpt);
-					m_vSafeLoad.push_back(keyName.c_str());
-					m_vAllCfgEntity.push_back(keyName.c_str());
-					m_safeLoadOpt[keyName.c_str()].eResult = LOADING_INIT;
-					m_safeLoadOpt[keyName.c_str()].initSn = slNum;
-					slNum++;
-					break;
-				case LOADSTAGE_OPERATING:
-					spConfig->ReadConfigValueInt(strOp, keyName.c_str(), m_operatingOpt[keyName.c_str()].loadOpt);
-					if (keyName.compare("Gpio") == 0 && !m_hasCfgGpioInRootIni) {
-						DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("have configure gpio in HealthManager.ini,but can't find gpio in root.ini,ignore start gpio.");
-					}
-					else {
-						m_vOperating.push_back(keyName.c_str());
-						m_vAllCfgEntity.push_back(keyName.c_str());
-						m_operatingOpt[keyName.c_str()].eResult = LOADING_INIT;
-						m_operatingOpt[keyName.c_str()].initSn = opNum;
-						opNum++;
-					}
-					break;
-				default:
-					break;
-				}
-			}
-		}
-		curr = is.tellg();
-	} while (curr < end);
-	is.close();
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("opt num:[%d]c[%d]s[%d]o[%d]", count, m_coreBootOpt.size(), m_safeLoadOpt.size(), m_operatingOpt.size());
-
 #if defined(RVC_OS_LINUX)
     if (!m_sysInfo.strMachineType.IsNullOrEmpty() && m_sysInfo.strMachineType.Compare("RVC.Stand2S") != 0
 		&& m_sysInfo.strMachineType.Compare("RVC.Stand1SPlus") != 0) {
@@ -315,538 +216,6 @@ bool CHealthManagerFSM::IsCoolBootThisTime()
     return false;
 }
 
-//CoreBoot
-void CHealthManagerFSM::s1_on_entry()
-{
-	ErrorCodeEnum eErrCode;
-	CSmartPointer<IEntityFunction> spEntityFunction = GetEntityBase()->GetFunction();
-	CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = spEntityFunction.ConvertCase<IEntityFunctionPrivilege>();
-	CEntityRunInfo browserInfo;
-	eErrCode = spEntityFunction->GetEntityRunInfo("Chromium", browserInfo);
-
-	if (browserInfo.eState == EntityState_Idle)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("IE idle before healthmanager, maybe healthmanager have been losted.");
-		m_bIEBeforeHealth = true;
-	}
-
-	m_fsmState = HM_FSM_STATE_COREBOOT;
-
-	m_ullElapseFromOSStart = GetTickCount64();
-	m_elapseTimeFromOSStart = m_ullElapseFromOSStart / 1000;
-
-
-	eErrCode = GetEntityBase()->GetFunction()->SetSysVar("RunState", "B");
-	if (eErrCode != Error_Succeed)
-	{
-		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("set RunState B failed (%s).", SpStrError(eErrCode));
-	}
-
-	bool bAsync = false;
-	m_eStage = LOADSTAGE_COREBOOT;
-	int ret = 0;
-	map<CSimpleStringA, EntityLoadInfo>::iterator it;
-	//start entity
-
-	vector<CSimpleStringA>::iterator vIt;
-	if (m_coreBootOpt.size() == 0)
-		goto COREBOOT_FINISH;
-
-	char startMsg[128];
-	for (vIt = m_vCoreBoot.begin(); vIt != m_vCoreBoot.end(); ++vIt)
-	{
-		CSmartPointer<IAsynWaitSp> spWait;//oilyang 20160325 see the following comment
-		it = m_coreBootOpt.find(*vIt);
-		if (it == m_coreBootOpt.end())
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cannot find %s", (LPCSTR)* vIt);
-			continue;
-		}
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start,%s,%d", (LPCSTR)it->first, it->second.loadOpt);
-		CEntityRunInfo entRunInfo;
-		ErrorCodeEnum errCode = spEntityFunction->GetEntityRunInfo(it->first, entRunInfo);
-		if (errCode == Error_Succeed && entRunInfo.eState == EntityState_Idle)
-		{
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_COREBOOT);
-			if (ret == 0 || ret == 2)
-				goto COREBOOT_FINISH;
-			else
-				continue;
-		}
-		ZeroMemory(startMsg, 128);
-		//sprintf(startMsg, "正在启动实体%s...", it->first.GetData());
-		//GetEntityBase()->GetFunction()->ShowStartupInfo(startMsg);
-		switch (it->second.loadOpt)
-		{
-		case LOADOPT_IGNORE:
-		{
-			pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (spWait != NULL)
-				spWait->WaitAnswer(MAX_IGNORE_TIMEOUT);//oilyang 20160325 the null pointer
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_COREBOOT);
-			if (ret == 0 || ret == 2)
-				goto COREBOOT_FINISH;
-		}
-		break;
-		case LOADOPT_ASYNC_VERIFY:
-			errCode = AsyncStartEntity(it->first, NULL, NULL);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("AsyncStartEntity:%d", errCode);
-			bAsync = true;
-			break;
-		case LOADOPT_SYNC_VERIFY:
-		{
-			pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (spWait != NULL)
-				errCode = spWait->WaitAnswer(MAX_AYSNC_TIMEOUT);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("(coreboot)sync...%d", errCode);
-			if (errCode == Error_Succeed)
-				it->second.eResult = LOADING_SUCCEED;
-			else if (errCode == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			if (errCode != Error_Succeed) {
-				return;
-#if defined(RVC_OS_LINUX)
-				ShowEntityBootFailedAtFront(it->first, errCode);
-				return;
-#endif //RVC_OS_LINUX
-			}
-			else
-				ret = CheckLoadResult(LOADSTAGE_COREBOOT);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("s1 check ret %d", ret);
-			if (ret == 0 || ret == 2)
-				goto COREBOOT_FINISH;
-		}
-		break;
-		default:
-			break;
-		}
-	}
-COREBOOT_FINISH:
-
-	if (!bAsync)
-	{
-		FSMEvent* e = new FSMEvent(USER_EVT_COREBOOT_FINISHED);
-		e->param1 = ret;
-		PostEventFIFO(e);
-	}
-	else
-	{
-		ret = CheckLoadResult(LOADSTAGE_COREBOOT);
-		if (ret == 0 || ret == 2)
-		{
-			FSMEvent* e = new FSMEvent(USER_EVT_COREBOOT_FINISHED);
-			e->param1 = ret;
-			PostEventFIFO(e);
-		}
-	}
-	return;
-}
-void CHealthManagerFSM::s1_on_exit()
-{
-	LOG_FUNCTION();
-}
-unsigned int CHealthManagerFSM::s1_on_event(FSMEvent* pEvt)
-{
-	LOG_FUNCTION();
-	DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("s1 evt %d",pEvt->iEvt);
-	switch(pEvt->iEvt)
-	{
-	case USER_EVT_COREBOOT_FINISHED:
-		pEvt->SetHandled();
-		if (pEvt->param1 == 2) {
-#if defined(RVC_OS_LINUX)
-			ShowEntityBootFailedAtFront(m_csErrEntity, Error_InvalidState);
-#endif
-		}
-		return pEvt->param1;
-		break;
-	case USER_EVT_ENTER_CUSTOMER_MANAGER:
-		pEvt->SetHandled();
-		break;
-	default:
-		break;
-	}
-	return 0;
-}
-//SafeLoad
-void CHealthManagerFSM::s2_on_entry()
-{
-	LOG_FUNCTION();
-	m_fsmState = HM_FSM_STATE_SAFELOAD;
-	ErrorCodeEnum eErrCode;
-	eErrCode = GetEntityBase()->GetFunction()->SetSysVar("RunState", "S");
-	if (eErrCode != Error_Succeed)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("set RunState S failed (%d).", eErrCode);
-	}
-
-	bool bAsync = false;
-	m_eStage = LOADSTAGE_SAFELOAD;
-	int ret = 0;
-	map<CSimpleStringA, EntityLoadInfo>::iterator it;
-	CSmartPointer<IEntityFunction> pFunc = GetEntityBase()->GetFunction();
-	CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = pFunc.ConvertCase<IEntityFunctionPrivilege>();
-
-	ErrorCodeEnum errCode;
-	vector<CSimpleStringA>::iterator vIt;
-	if (m_safeLoadOpt.size() == 0)
-		goto SAFELOAD_FINISH;
-	char startMsg[128];
-	for (vIt = m_vSafeLoad.begin(); vIt != m_vSafeLoad.end(); ++vIt)
-	{
-		CSmartPointer<IAsynWaitSp> spWait;
-		it = m_safeLoadOpt.find(*vIt);
-		if (it == m_safeLoadOpt.end())
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cannot find %s", (LPCSTR)* vIt);
-			continue;
-		}
-		CEntityRunInfo entRunInfo;
-		errCode = pFunc->GetEntityRunInfo(it->first, entRunInfo);
-		if (errCode == Error_Succeed && entRunInfo.eState == EntityState_Idle)
-		{
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_SAFELOAD);
-			if (ret == 0 || ret == 2)
-				goto SAFELOAD_FINISH;
-			else
-				continue;
-		}
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("start %s,%d", (LPCTSTR)it->first, it->second.loadOpt);
-		switch (it->second.loadOpt)
-		{
-		case LOADOPT_IGNORE:
-		{
-			pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (spWait != NULL)
-				spWait->WaitAnswer(MAX_IGNORE_TIMEOUT);
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_SAFELOAD);
-			if (ret == 0 || ret == 2)
-				goto SAFELOAD_FINISH;
-		}
-		break;
-		case LOADOPT_ASYNC_VERIFY:
-			AsyncStartEntity(it->first, NULL, NULL);
-			bAsync = true;
-			break;
-		case LOADOPT_SYNC_VERIFY:
-		{
-			ZeroMemory(startMsg, 128);
-			sprintf(startMsg, "正在启动实体%s...", it->first.GetData());
-			GetEntityBase()->GetFunction()->ShowStartupInfo(startMsg);
-			pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (spWait != NULL)
-				errCode = spWait->WaitAnswer(MAX_AYSNC_TIMEOUT);
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("sync...%d", errCode);
-			if (errCode == Error_Succeed) {
-				it->second.eResult = LOADING_SUCCEED;
-			}
-			else if (errCode == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			if (it->second.eResult != Error_Succeed)
-			{
-				char tmp[128] = { 0 };
-				if (it->first.Compare("SIPPhone", true) == 0) {
-					if (LOADING_TIMEOUT == it->second.eResult) {
-						sprintf(tmp, "实体 %s 启动超时(%d),请尝试重启应用解决", it->first.GetData(), it->second.eResult);
-					}
-					else {
-						sprintf(tmp, "实体 %s 启动失败(%d),识别不到声卡,请尝试重启计算机解决,多次无效后请联系厂商处理", it->first.GetData(), it->second.eResult);
-					}
-				}
-				else {
-					sprintf(tmp, "实体 %s 启动失败 %d", it->first.GetData(), it->second.eResult);
-				}
-#if defined(RVC_OS_WIN)
-				GetEntityBase()->GetFunction()->ShowFatalError(tmp);
-				GetEntityBase()->GetFunction()->SetSysVar("AuthErrMsg", tmp);//实体启动失败保存到错误页字段
-#else
-				ShowEntityBootFailedAtFront(it->first, errCode);
-#endif
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("启动失败:%s", tmp);
-				m_csErrEntity = m_csErrEntity + "|" + it->first;
-				FSMEvent* e = new FSMEvent(USER_EVT_SAFELOAD_FINISHED);
-				e->param1 = 2;//"SYNC START" enity started failed.
-				PostEventFIFO(e);
-				return;
-			}
-			//if (errCode != Error_Succeed)
-			//	return;
-			//else
-			ret = CheckLoadResult(LOADSTAGE_SAFELOAD);
-			if (ret == 0 || ret == 2)
-				goto SAFELOAD_FINISH;
-		}
-		break;
-		default:
-			break;
-		}
-	}
-SAFELOAD_FINISH:
-	if (!bAsync)
-	{
-		FSMEvent* e = new FSMEvent(USER_EVT_SAFELOAD_FINISHED);
-		e->param1 = ret;
-		PostEventFIFO(e);
-	}
-	else
-	{
-		ret = CheckLoadResult(LOADSTAGE_SAFELOAD);
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("s2 %d", ret);
-		if (ret == 0 || ret == 2)
-		{
-			FSMEvent* e = new FSMEvent(USER_EVT_SAFELOAD_FINISHED);
-			e->param1 = ret;
-			PostEventFIFO(e);
-		}
-	}
-SAFELOAD_END:
-	return;
-}
-void CHealthManagerFSM::s2_on_exit()
-{
-	LOG_FUNCTION();
-}
-unsigned int CHealthManagerFSM::s2_on_event(FSMEvent* pEvt)
-{
-	LOG_FUNCTION();
-	int ret = 0;
-	DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("s2 event %d,%d",pEvt->iEvt,pEvt->param1);
-	switch(pEvt->iEvt)
-	{
-	case USER_EVT_SAFELOAD_FINISHED:
-		{
-			pEvt->SetHandled();
-			//oiltmp
-			//according to the system varible TerminalState to do sth.
-			//Configed
-			//Breakdown
-			//Blocking
-			//Authentication
-			{
-				if(pEvt->param1 == 0)
-				{
-					//initializer if configured
-					CSimpleStringA csTermStage("");
-					ErrorCodeEnum eErrCode;
-					eErrCode = GetEntityBase()->GetFunction()->GetSysVar("TerminalStage",csTermStage);
-					DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("after safeload to get termstage %s",(LPCTSTR)csTermStage);
-					if (csTermStage == "B" || csTermStage == "N")
-						return 1;
-				}
-				else if (pEvt->param1 == 2)
-				{
-#if defined(RVC_OS_LINUX)
-					ShowEntityBootFailedAtFront(m_csErrEntity, Error_InvalidState);
-#endif 
-					ret = 2;
-				}
-
-			}
-			//Unsubscrible
-		}
-		break;
-	case USER_EVT_SAFELOAD_EXMINE_FINISHED:
-		if (pEvt->param1 == 0)
-			ret = 0;
-		//do something else oiltmp
-		pEvt->SetHandled();
-		break;
-	case USER_EVT_ACCESSAUTH_FINISHED:
-		pEvt->SetHandled();
-		ret = pEvt->param1;
-		break;
-	case USER_EVT_ENTER_CUSTOMER_MANAGER:
-		pEvt->SetHandled();
-		break;
-	default:
-		break;
-	}
-	return ret;
-}
-//Operating
-void CHealthManagerFSM::s3_on_entry()
-{
-	m_fsmState = HM_FSM_STATE_OP;
-	Sleep(m_sleepEnterOpMS);//oilyang@20220120 for temp change from 5000 to 8000 for accessauth
-	if (m_custMngerState == CM_ENTER)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("in CMS,no need to start hardware.");
-		return;
-	}
-	ErrorCodeEnum eErrCode;
-	eErrCode = GetEntityBase()->GetFunction()->SetSysVar("RunState", "O");
-	if (eErrCode != Error_Succeed)
-	{
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("set RunState O failed (%d).", eErrCode);
-	}
-	bool bAsync = false;
-	m_eStage = LOADSTAGE_OPERATING;
-	int ret = 0;
-	map<CSimpleStringA, EntityLoadInfo>::iterator it;
-	CSmartPointer<IEntityFunction> pFunc = GetEntityBase()->GetFunction();
-	CSmartPointer<IEntityFunctionPrivilege> pFuncPrivilege = pFunc.ConvertCase<IEntityFunctionPrivilege>();
-	//start entity
-
-	ErrorCodeEnum errCode;
-	vector<CSimpleStringA>::iterator vIt;
-	if (m_operatingOpt.size() == 0)
-		goto OPERATING_FINISH;
-	char startMsg[128];
-	for (vIt = m_vOperating.begin(); vIt != m_vOperating.end(); ++vIt)
-	{
-		CSmartPointer<IAsynWaitSp> spWait;
-		it = m_operatingOpt.find(*vIt);
-		if (it == m_operatingOpt.end())
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("cannot find %s", (LPCSTR)* vIt);
-			continue;
-		}
-
-		CEntityRunInfo entRunInfo;
-		errCode = pFunc->GetEntityRunInfo(it->first, entRunInfo);
-		if (errCode == Error_Succeed && entRunInfo.eState == EntityState_Idle)
-		{
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_OPERATING);
-			if (ret == 0 || ret == 2)
-				goto OPERATING_FINISH;
-			else
-				continue;
-		}
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("op start %s,%d", (LPCTSTR)it->first, it->second.loadOpt);
-		switch (it->second.loadOpt)
-		{
-		case LOADOPT_IGNORE:
-		{
-			pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (spWait != NULL)
-				spWait->WaitAnswer(MAX_IGNORE_TIMEOUT);
-			it->second.eResult = LOADING_SUCCEED;
-			ret = CheckLoadResult(LOADSTAGE_OPERATING);
-			if (ret == 0 || ret == 2)
-				goto OPERATING_FINISH;
-		}
-		break;
-		case LOADOPT_ASYNC_VERIFY:
-			errCode = AsyncStartEntity(it->first, NULL, NULL);
-			bAsync = true;
-			break;
-		case LOADOPT_SYNC_VERIFY:
-		{
-			ZeroMemory(startMsg, 128);
-			sprintf(startMsg, "正在启动实体%s...", it->first.GetData());
-			GetEntityBase()->GetFunction()->ShowStartupInfo(startMsg);
-			errCode = pFuncPrivilege->StartEntity(it->first, NULL, spWait);
-			if (errCode == Error_Succeed)
-			{
-				if (spWait != NULL)
-					errCode = spWait->WaitAnswer(MAX_AYSNC_TIMEOUT);
-			}
-			else
-			{
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("StartEntity %s failed(%d).", (LPCSTR)it->first, errCode);
-				break;
-			}
-			if (errCode == Error_Succeed)
-				it->second.eResult = LOADING_SUCCEED;
-			else if (errCode == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			if (it->second.eResult != Error_Succeed)
-			{
-				char tmp[128] = { 0 };
-				if (it->first.Compare("SIPPhone", true) == 0) {
-					if (LOADING_TIMEOUT == it->second.eResult) {
-						sprintf(tmp, "实体 %s 启动超时(%d),请尝试重启应用解决", it->first.GetData(), it->second.eResult);
-					}
-					else {
-						sprintf(tmp, "实体 %s 启动失败(%d),识别不到声卡,请尝试重启计算机解决,多次无效后请联系厂商处理", it->first.GetData(), it->second.eResult);
-					}
-				}
-				else {
-					sprintf(tmp, "实体 %s 启动失败 %d", it->first.GetData(), it->second.eResult);
-				}
-#if defined(RVC_OS_WIN)
-				GetEntityBase()->GetFunction()->ShowFatalError(tmp);
-#else
-				ShowEntityBootFailedAtFront(it->first, errCode);
-#endif 
-				DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("启动失败:%s", tmp);
-				m_csErrEntity = m_csErrEntity + "|" + it->first;
-				FSMEvent* e = new FSMEvent(USER_EVT_OPERATING_FINISHED);
-				e->param1 = 2;//"SYNC START" enity started failed.
-				PostEventFIFO(e);
-				return;
-			}
-			if (errCode != Error_Succeed)
-				return;
-			else
-				ret = CheckLoadResult(LOADSTAGE_OPERATING);
-			if (ret == 0 || ret == 2)
-				goto OPERATING_FINISH;
-		}
-		break;
-		default:
-			break;
-		}
-	}
-OPERATING_FINISH:
-	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("s3 ret %d", ret);
-	if (!bAsync)
-	{
-		FSMEvent* e = new FSMEvent(USER_EVT_OPERATING_FINISHED);
-		e->param1 = ret;
-		PostEventFIFO(e);
-	}
-	else
-	{
-		ret = CheckLoadResult(LOADSTAGE_OPERATING);
-		if (ret == 0 || ret == 2)
-		{
-			FSMEvent* e = new FSMEvent(USER_EVT_OPERATING_FINISHED);
-			e->param1 = ret;
-			PostEventFIFO(e);
-		}
-	}
-	return;
-}
-void CHealthManagerFSM::s3_on_exit()
-{
-	LOG_FUNCTION();
-}
-unsigned int CHealthManagerFSM::s3_on_event(FSMEvent* pEvt)
-{
-	LOG_FUNCTION();
-	DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("s3(Operating) event %d,%d",pEvt->iEvt,pEvt->param1);
-	int ret = 0;
-	switch(pEvt->iEvt)
-	{
-	case USER_EVT_OPERATING_FINISHED:
-		ret = pEvt->param1;
-        if (ret == 2) {
-#if defined(RVC_OS_LINUX)
-            ShowEntityBootFailedAtFront(m_csErrEntity, Error_InvalidState);
-#endif
-        }
-		pEvt->SetHandled();
-		break;
-	case USER_EVT_ENTER_CUSTOMER_MANAGER:
-		pEvt->SetHandled();
-		break;
-	default:
-		break;
-	}
-	return ret;
-}
 //Idle(Operating finished)
 void CHealthManagerFSM::s4_on_entry()
 {
@@ -1326,7 +695,6 @@ int CHealthManagerFSM::AccessAuthDoWork()
 	ErrorCodeEnum eErr;
 	eErr = GetEntityBase()->GetFunction()->GetSysVar("TerminalStage", csTermStage);
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("oninit get termstage %s", (LPCTSTR)csTermStage);
-	bool bToDoInit = false;
 	if (eErr == Error_Succeed)
 	{
 
@@ -1338,18 +706,7 @@ int CHealthManagerFSM::AccessAuthDoWork()
 		return 1;
 	}
 	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("AccessAuthDoWork")("after proc initialization.");
-	if (bToDoInit)
-	{
-		if (m_bInitSuc)
-		{
-		}
-		else
-		{
-			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("AccessAuthDoWork")("initialization failed.");
-			m_bInAccessAuthDoWork = false;
-			return 1;
-		}
-	}
+
 	//to accessauth
 	ErrorCodeEnum eErrCode;
 	eErrCode = GetEntityBase()->GetFunction()->GetSysVar("TerminalStage", csTermStage);
@@ -1457,54 +814,7 @@ int CHealthManagerFSM::AccessAuthDoWork()
 	m_bInAccessAuthDoWork = false;
 	return 1;
 }
-//return value:
-//0:all entity have started suc
-//1:some entity havn't try to start
-//2:all entity have tried to started,but some failed
-int CHealthManagerFSM::CheckLoadResult(LoadStage eStage)
-{
-	int ret = 0;
-	map<CSimpleStringA,EntityLoadInfo>::iterator it;
-	if (eStage == LOADSTAGE_COREBOOT)
-		it = m_coreBootOpt.begin();
-	else if (eStage == LOADSTAGE_SAFELOAD)
-		it = m_safeLoadOpt.begin();
-	else
-		it = m_operatingOpt.begin();
-	while(1)
-	{
-		switch(it->second.loadOpt)
-		{
-		case LOADOPT_IGNORE:
-			if (it->second.eResult == LOADING_INIT)
-				return 1;
-			break;
-		case LOADOPT_ASYNC_VERIFY:
-		case LOADOPT_SYNC_VERIFY:			
-		default:
-			if (it->second.eResult == LOADING_INIT)
-				return 3;
-			else if (it->second.eResult != LOADING_SUCCEED)
-			{
-				DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER).setLogCode("QLR0402501Z10201").setResultCode("RTA5101")("%s start failed", m_csErrEntity);
-				m_csErrEntity = m_csErrEntity + "|" + it->first;
-				ret = 2;
-			}
-			break;
-		}
-		it++;
-		if (eStage == LOADSTAGE_COREBOOT && it == m_coreBootOpt.end())
-			break;
-		else if (eStage == LOADSTAGE_SAFELOAD && it == m_safeLoadOpt.end())
-			break;
-		else if (eStage == LOADSTAGE_OPERATING && it == m_operatingOpt.end())
-			break;
-	}
-	if (ret == 0) {
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_USER).setLogCode("QLR0402501Z10201")("entity start succ");
-	}
-	return ret;
-}
+
 void CHealthManagerFSM::SetAccessAuth(int bResult)
 {
 	m_iAccessAuth = bResult;
@@ -1641,95 +951,7 @@ ErrorCodeEnum CHealthManagerFSM::AsyncTerminateEntity(const char *entity_name, v
 }
 void CHealthManagerFSM::OnAnswer(CSmartPointer<IAsynWaitSp> pAsynWaitSp)
 {
-	CSmartPointer<ICallbackListener> spCallback;
-	CSmartPointer<IReleasable> pData;
-	pAsynWaitSp->GetCallback(spCallback, pData);
-	callback_entry *entry = dynamic_cast<callback_entry*>((IReleasable*)(pData.GetRawPointer()));
-	entry->ErrorResult = pAsynWaitSp->AsyncGetAnswer();
-	callback_entry *new_entry = new callback_entry();
-
-	new_entry->EntityName = entry->EntityName;
-	new_entry->ErrorResult = entry->ErrorResult;
-	new_entry->op = entry->op;
-	new_entry->state = entry->state;
-
-	map<CSimpleStringA,EntityLoadInfo>::iterator it;
-	int ret;
-	DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("OnAnswer")("stage %d,%s,result %d",m_eStage,(LPCSTR)new_entry->EntityName,new_entry->ErrorResult);
-	switch(m_eStage)
-	{
-	case LOADSTAGE_COREBOOT:
-		it = m_coreBootOpt.find(new_entry->EntityName);
-		if (it != m_coreBootOpt.end())
-		{
-			if (new_entry->ErrorResult == Error_Succeed)
-				it->second.eResult = LOADING_SUCCEED;
-			else if (new_entry->ErrorResult == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			if (it->second.eResult != Error_Succeed)
-			{
-				char tmp[64] = {0};
-				sprintf(tmp, "实体 %s 启动失败-----", it->first.GetData());
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("OnAnswer")("启动失败:%s -----", tmp);
-			}
-			ret = CheckLoadResult(LOADSTAGE_COREBOOT);
-			if (ret == 0 || ret == 2)
-			{
-				FSMEvent *e = new FSMEvent(USER_EVT_COREBOOT_FINISHED);
-				e->param1 = ret;
-				PostEventFIFO(e);
-			}
-		}
-		break;
-	case LOADSTAGE_SAFELOAD:
-		it = m_safeLoadOpt.find(new_entry->EntityName);
-		if (it != m_safeLoadOpt.end())
-		{
-			if (new_entry->ErrorResult == Error_Succeed)
-				it->second.eResult = LOADING_SUCCEED;
-			else if (new_entry->ErrorResult == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			ret = CheckLoadResult(LOADSTAGE_SAFELOAD);
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("OnAnswer")("safeload answer %d",ret);
-			if (ret == 0 || ret == 2)
-			{
-				FSMEvent *e = new FSMEvent(USER_EVT_SAFELOAD_FINISHED);
-				e->param1 = ret;
-				PostEventFIFO(e);
-			}
-		}else{
-			DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("OnAnswer")("cannot find %s",(LPCTSTR)new_entry->EntityName);
-		}
-
-		break;
-	case LOADSTAGE_OPERATING:
-		it = m_operatingOpt.find(new_entry->EntityName);
-		if (it != m_operatingOpt.end())
-		{
-			if (new_entry->ErrorResult == Error_Succeed)
-				it->second.eResult = LOADING_SUCCEED;
-			else if (new_entry->ErrorResult == Error_TimeOut)
-				it->second.eResult = LOADING_TIMEOUT;
-			else
-				it->second.eResult = LOADING_FAILED;
-			ret = CheckLoadResult(LOADSTAGE_OPERATING);
-			if (ret == 0 || ret == 2)
-			{
-				FSMEvent *e = new FSMEvent(USER_EVT_OPERATING_FINISHED);
-				e->param1 = ret;
-				PostEventFIFO(e);
-			}
-		}
-		break;
-	default:
-		break;
-	}
 }
-
 CSimpleStringA CHealthManagerFSM::GetEntityCfgInfo(CSimpleStringA name,int &loadOpt)
 {
 	CSimpleStringA entityList(""),csBrowserName("IEBrowser");

+ 7 - 52
Module/mod_healthmanager/HealthManagerFSM.h

@@ -59,10 +59,6 @@ enum EvtType
 	USER_EVT_QUIT,
 	USER_EVT_INIT,
 	USER_EVT_WAIT_DEAMON_FINISHED,
-	USER_EVT_COREBOOT_FINISHED,
-	USER_EVT_SAFELOAD_FINISHED,
-	USER_EVT_SAFELOAD_EXMINE_FINISHED,
-	USER_EVT_OPERATING_FINISHED,
 	USER_EVT_ACCESSAUTH_FINISHED,
 	USER_EVT_MAITAIN,
 	USER_EVT_MAITAIN_FINISHED,
@@ -70,13 +66,7 @@ enum EvtType
 	USER_EVT_SWITCH_BACK_TO_RVC,
 	USER_EVT_VTMLOADER_FINISHED,
 };
-enum LoadStage
-{
-	LOADSTAGE_UNKNOWN,
-	LOADSTAGE_COREBOOT,
-	LOADSTAGE_SAFELOAD,
-	LOADSTAGE_OPERATING
-};
+
 enum EntityLoadFaultStage
 {
 	ENTITYLOAD_SAFELOADFAULT,
@@ -170,15 +160,12 @@ extern unsigned long long GetTickCountRVC();
 
 class	CHealthManagerEntity;
 
-class CHealthManagerFSM : public FSMImpl<CHealthManagerFSM>,public ICallbackListener
+class CHealthManagerFSM : public FSMImpl<CHealthManagerFSM>, public ICallbackListener
 {
 public:
-	enum {s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11};
+	enum {s0,s4,s5,s6,s7,s8,s9,s10,s11};
 	BEGIN_FSM_STATE(CHealthManagerFSM)
 		FSM_STATE_ENTRY(s0,"Init",s0_on_entry,s0_on_exit,s0_on_event)
-		FSM_STATE_ENTRY(s1,"CoreBoot",s1_on_entry,s1_on_exit,s1_on_event)
-		FSM_STATE_ENTRY(s2,"SafeLoad",s2_on_entry,s2_on_exit,s2_on_event)
-		FSM_STATE_ENTRY(s3,"Loading",s3_on_entry,s3_on_exit,s3_on_event)
 		FSM_STATE_ENTRY(s4,"Operating",s4_on_entry,s4_on_exit,s4_on_event)
 		FSM_STATE_ENTRY(s5,"Fault",s5_on_entry,s5_on_exit,s5_on_event)
 		FSM_STATE_ENTRY(s6,"Maintaining",s6_on_entry,s6_on_exit,s6_on_event)
@@ -190,20 +177,7 @@ public:
 	END_FSM_STATE()
 
 	BEGIN_FSM_RULE(CHealthManagerFSM,s0)
-		//FSM_RULE_ENTRY(s0,s1,USER_EVT_WAIT_DEAMON_FINISHED,0)
 		FSM_RULE_ENTRY(s0,s4, USER_EVT_WAIT_DEAMON_FINISHED,0)
-		FSM_RULE_ENTRY(s1,s2,USER_EVT_COREBOOT_FINISHED,0)
-		FSM_RULE_ENTRY(s1,s2,USER_EVT_COREBOOT_FINISHED,1)
-		FSM_RULE_ENTRY(s1,s5,USER_EVT_COREBOOT_FINISHED,2)
-		FSM_RULE_ENTRY(s1,s11,USER_EVT_ENTER_CUSTOMER_MANAGER,0)
-		FSM_RULE_ENTRY(s2,s3,USER_EVT_SAFELOAD_FINISHED,0)
-		FSM_RULE_ENTRY(s2,s5,USER_EVT_SAFELOAD_FINISHED,2)
-		FSM_RULE_ENTRY(s2,s11,USER_EVT_ENTER_CUSTOMER_MANAGER,0)
-		//FSM_RULE_ENTRY(s2,s4,USER_EVT_ACCESSAUTH_FINISHED,0)
-		//FSM_RULE_ENTRY(s2,s5,USER_EVT_ACCESSAUTH_FINISHED,1)
-		FSM_RULE_ENTRY(s3,s4,USER_EVT_OPERATING_FINISHED,0)
-		FSM_RULE_ENTRY(s3,s5,USER_EVT_OPERATING_FINISHED,2)
-		FSM_RULE_ENTRY(s3,s11,USER_EVT_ENTER_CUSTOMER_MANAGER,0)
 		FSM_RULE_ENTRY(s4,s5,USER_EVT_ACCESSAUTH_FINISHED,1)
 		FSM_RULE_ENTRY(s4,s6,USER_EVT_MAITAIN,0)
 		FSM_RULE_ENTRY(s4,s11,USER_EVT_ENTER_CUSTOMER_MANAGER,0)
@@ -225,8 +199,6 @@ public:
 		FSM_RULE_ENTRY(s6,s9,USER_EVT_MAITAIN_FINISHED,9)
 		FSM_RULE_ENTRY(s6,s10,USER_EVT_MAITAIN_FINISHED,10)
 		FSM_RULE_ENTRY(s11, s6, USER_EVT_MAITAIN, 0)
-		FSM_RULE_ENTRY(s11,s2,USER_EVT_SWITCH_BACK_TO_RVC,2)
-		FSM_RULE_ENTRY(s11,s3,USER_EVT_SWITCH_BACK_TO_RVC,3)
 		FSM_RULE_ENTRY(s11,s4,USER_EVT_SWITCH_BACK_TO_RVC,4)
 		FSM_RULE_ENTRY(s11,s5,USER_EVT_SWITCH_BACK_TO_RVC,5)
 		FSM_RULE_ENTRY(s11,s6,USER_EVT_SWITCH_BACK_TO_RVC,6)
@@ -236,8 +208,8 @@ public:
 		FSM_RULE_ENTRY(s11,s10,USER_EVT_SWITCH_BACK_TO_RVC,10)
 	END_FSM_RULE()
 
-	CHealthManagerFSM():m_eStage(LOADSTAGE_COREBOOT),m_SysState("I"),m_pACClient(NULL)
-	, m_iAccessAuth(AccessAuth_Init),m_bInitSuc(false),m_bInitFail(false)
+	CHealthManagerFSM():m_SysState("I"),m_pACClient(NULL)
+	, m_iAccessAuth(AccessAuth_Init)
 	, m_bIdleToMaintain(false), m_custMngerState(0), m_pDevCtrlClient(NULL), m_bHasAuthEver(false)
 	, m_checkCode(""), m_accessAuthCheckMD5(0), m_havReceiveMD5OK(0), m_bFirstAccessAuth(true)
 	, m_bIEBeforeHealth(false), m_hasCfgGpioInRootIni(false), m_csErrEntity(""), m_bInAccessAuthDoWork(false)
@@ -250,15 +222,6 @@ public:
 	void s0_on_entry();
 	void s0_on_exit();
 	unsigned int s0_on_event(FSMEvent* pEvt);
-	void s1_on_entry();
-	void s1_on_exit();
-	unsigned int s1_on_event(FSMEvent* pEvt);
-	void s2_on_entry();
-	void s2_on_exit();
-	unsigned int s2_on_event(FSMEvent* pEvt);
-	void s3_on_entry();
-	void s3_on_exit();
-	unsigned int s3_on_event(FSMEvent* pEvt);
 	void s4_on_entry();
 	void s4_on_exit();
 	unsigned int s4_on_event(FSMEvent* pEvt);
@@ -293,17 +256,10 @@ public:
 
 	//该函数建议废弃
 	int WaitDeamonFinish();
-	int CoreBootDoWork();
-	int SafeLoadDoWork();
-	int OpLoadDoWork();
+
 	int AccessAuthDoWork();
-	int CheckLoadResult(LoadStage eStage);
-	int CheckSafeLoadResult();
-	int CheckOperatingResult();
 	void SetAccessAuth(int bResult);
 	bool GetAccessAuthFlag(){return m_iAccessAuth == AccessAuth_Suc;}
-	void SetInitSucFlag() {m_bInitSuc = true; m_bInitFail = false;}
-	void SetInitFailFlag() {m_bInitFail = true; m_bInitSuc = false;}
 	int GetFSMState(){return m_fsmState;}
 	void ToReAccessAuth(bool bEver=false);
 	void SetCustomerMngerState(int iValue){m_custMngerState = iValue;}
@@ -363,7 +319,6 @@ private:
     bool IsCoolBootThisTime();
 
 private:
-	LoadStage m_eStage;
 	CSimpleStringA m_SysState,m_checkCode,m_csErrEntity,m_NewStartPage;
 	map<int,int> m_enOpt;//entity option
 	vector<CSimpleStringA> m_vCoreBoot,m_vSafeLoad,m_vOperating,m_vAllCfgEntity;
@@ -376,7 +331,7 @@ private:
 		,m_havReceiveMD5OK,m_autoDoInitCount, m_sleepEnterOpMS/*启动第三阶段等待时间,单位毫秒*/
 		,m_iAccessAuth/*-1 未准入; 0 准入失败;1 准入成功*/, m_iDoNotUpdateWKDaily, m_wkUpdatePeriod/*if exceed the period time,we should update key*/;
 	AccessAuthService_ClientBase *m_pACClient;
-	bool m_bInitSuc, m_bInitFail, m_bIdleToMaintain, m_bHasAuthEver, m_bFirstAccessAuth
+	bool m_bIdleToMaintain, m_bHasAuthEver, m_bFirstAccessAuth
 		, m_bIEBeforeHealth, m_hasCfgGpioInRootIni, m_bInAccessAuthDoWork, m_bEntityNewStart, m_bDoingAutoInit, m_bPinPadOpenSuc;
 	DWORD m_AccessAuthTimeout,m_InitializationTimeout,m_elapseTimeFromOSStart;
 	ULONGLONG m_ullElapseFromOSStart;

+ 2 - 46
Module/mod_healthmanager/mod_healthmanager.cpp

@@ -714,7 +714,7 @@ void CHealthManagerEntity::OnCheckTimeTimeout()
 			{
 				WorkStateEnum eShake;
 				eErr = m_pfShake(eShake);
-				DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM).setAPI("OnCheckTimeTimeout")("accessauth told me not to restart framework,so that it can have time to retry.%d", eErr);
+				DbgWithLink(LOG_LEVEL_DEBUG,LOG_TYPE_SYSTEM).setAPI("OnCheckTimeTimeout")("accessauth told me not to restart framework,so that it can have time to retry.%d", eErr);
 			}
 		}
 	}
@@ -1672,16 +1672,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
 			m_fsm.ToReAccessAuth();
 		}
 		break;
-	case EVENT_MOD_INITIALIZER_MK_LOADED:
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init succeed.");
-		m_fsm.SetInitSucFlag();
-		break;
-	case EVENT_MOD_INITIALIZER_MK_FAILED:
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("init failed.");
-		m_fsm.SetInitFailFlag();
-		break;
-	case EVENT_MOD_FACE_OPENCV_ERROR:
-		RestartModule("FaceTracking");
+
 		break;
 	case LOG_EVT_INC_VERSION_ROLLBACK:
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("version to be rollback to %s", pszMessage);
@@ -1712,41 +1703,6 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
 			, "Browser(Chromuim) to idle.");
 		m_bBrowserIdleFirst = true;
 		break;
-	case LOG_EVT_INC_TRADE_MANAGER_NORMAL:
-	case LOG_EVT_INC_TRADE_MANAGER_ON:
-	case LOG_EVT_INC_TRADE_MANAGER_OFF:
-	{
-		TradeManage tm;
-		if (dwUserCode == LOG_EVT_INC_TRADE_MANAGER_NORMAL)
-			tm.op = 0;
-		else if (dwUserCode == LOG_EVT_INC_TRADE_MANAGER_ON)
-			tm.op = 1;
-		else if (dwUserCode == LOG_EVT_INC_TRADE_MANAGER_OFF)
-			tm.op = 2;
-		tm.time = pszMessage;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("trademanager:%d,%s", tm.op, (const char*)tm.time);
-		SpSendBroadcast(GetFunction(), SP_MSG_OF(TradeManage), SP_MSG_SIG_OF(TradeManage), tm);
-	}
-	case LOG_EVT_INC_DEVICE_LOCK_ON:
-	case LOG_EVT_INC_DEVICE_UNLOCK:
-	case LOG_EVT_INC_DEVICE_KICK_OFF:
-	{
-		TerminalManager tm;
-		if (dwUserCode == LOG_EVT_INC_DEVICE_LOCK_ON)
-			tm.op = 0;
-		else if (dwUserCode == LOG_EVT_INC_DEVICE_UNLOCK)
-		{
-			if (m_fsm.GetAccessAuthFlag())
-				tm.op = 1;
-			else
-				tm.op = 99;//oilyang@20170818 according to xingzichen
-		}
-		else if (dwUserCode == LOG_EVT_INC_DEVICE_KICK_OFF)
-			tm.op = 2;
-		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("terminal manager:%d", tm.op);
-		SpSendBroadcast(GetFunction(), SP_MSG_OF(TerminalManager), SP_MSG_SIG_OF(TerminalManager), tm);
-	}
-	break;
 	case LOG_EVT_PINPAD_OPEN_SUC:
 		DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("PinPad open suc.");
 		m_fsm.SetPinPadOpenSuc();