|
|
@@ -1017,10 +1017,11 @@ int CVtmLoaderFSM::EntityLoad()
|
|
|
CSmartPointer<IConfigInfo> spConfigCen,spRunCfg;
|
|
|
GetEntityBase()->GetFunction()->OpenConfig(Config_CenterSetting, spConfigCen);
|
|
|
GetEntityBase()->GetFunction()->OpenConfig(Config_Run, spRunCfg);
|
|
|
- CSimpleStringA csCoreBootList(true), csSafeLoadList(true), csOperatingList(true),csKeyCB("CoreBootList."),csKeySL("SafeLoadList."),csKeyOp("OperatingList.");
|
|
|
+ CSimpleStringA csCoreBootList(true), csSafeLoadList(true), csOperatingList(true), csKeyCB("CoreBootList."), csKeySL("SafeLoadList."), csKeyOp("OperatingList."), csExcludedLoadList(true);
|
|
|
spConfigCen->ReadConfigValue(GetEntityBase()->GetEntityName(), (csKeyCB + m_sysInfo.strMachineType).GetData(), csCoreBootList);
|
|
|
spConfigCen->ReadConfigValue(GetEntityBase()->GetEntityName(), (csKeySL + m_sysInfo.strMachineType).GetData(), csSafeLoadList);
|
|
|
spConfigCen->ReadConfigValue(GetEntityBase()->GetEntityName(), (csKeyOp + m_sysInfo.strMachineType).GetData(), csOperatingList);
|
|
|
+ spConfigCen->ReadConfigValue(GetEntityBase()->GetEntityName(), "ExcludedLoadList", csExcludedLoadList);
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CoreBoot.EntityList.%s:%s", m_sysInfo.strMachineType.GetData(), csCoreBootList.GetData());
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("SafeLoad.EntityList.%s:%s", m_sysInfo.strMachineType.GetData(), csSafeLoadList.GetData());
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("Operating.EntityList.%s:%s", m_sysInfo.strMachineType.GetData(), csOperatingList.GetData());
|
|
|
@@ -1081,12 +1082,15 @@ int CVtmLoaderFSM::EntityLoad()
|
|
|
LogWarn(Severity_Low, Error_Succeed, VtmLoader_BootInfoPrint, "开始加载实体");
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI("StartLoadEntity")("开始加载实体");
|
|
|
|
|
|
- //int count, cbNum, slNum, opNum;
|
|
|
- //count = cbNum = slNum = opNum = 0;
|
|
|
+ m_arrExCludedList.Init(64);
|
|
|
+ m_arrExCludedList = csExcludedLoadList.Split('|');
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("ExcludedLoadList:%s, count:%d", csExcludedLoadList.GetData(), m_arrExCludedList.GetCount());
|
|
|
+
|
|
|
m_csEntityList = "GuiConsole|Chromium|VtmLoader|";
|
|
|
CAutoArray<CSimpleStringA> arrCoreBoot;
|
|
|
arrCoreBoot.Init(64);
|
|
|
arrCoreBoot = csCoreBootList.Split('|');
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("arrCoreBoot count:%d", arrCoreBoot.GetCount());
|
|
|
for (int i = 0; i < arrCoreBoot.GetCount(); ++i)
|
|
|
{
|
|
|
CAutoArray<CSimpleStringA> arrEntity;
|
|
|
@@ -1097,6 +1101,10 @@ int CVtmLoaderFSM::EntityLoad()
|
|
|
if (arrEntity[0].Compare("VtmLoader", true) == 0 || arrEntity[0].Compare("Chromium", true) == 0
|
|
|
|| arrEntity[0].Compare("GuiConsole", true) == 0)
|
|
|
continue;
|
|
|
+ //Exclude the "ExcludedLoadList" entity
|
|
|
+ if (IfInExcludedLoadList(arrEntity[0]))
|
|
|
+ continue;
|
|
|
+
|
|
|
m_vCoreBoot.push_back(arrEntity[0]);
|
|
|
m_csEntityList += arrEntity[0] + "|";
|
|
|
if (arrEntity[1].Compare("1") == 0)
|
|
|
@@ -1122,6 +1130,9 @@ int CVtmLoaderFSM::EntityLoad()
|
|
|
if (arrEntity[0].Compare("VtmLoader", true) == 0 || arrEntity[0].Compare("Chromium", true) == 0
|
|
|
|| arrEntity[0].Compare("GuiConsole", true) == 0)
|
|
|
continue;
|
|
|
+ //Exclude the "ExcludedLoadList" entity
|
|
|
+ if (IfInExcludedLoadList(arrEntity[0]))
|
|
|
+ continue;
|
|
|
//去重,防止前面已经加载了
|
|
|
if (find(m_vCoreBoot.begin(), m_vCoreBoot.end(), arrEntity[0].GetData()) != m_vCoreBoot.end())
|
|
|
continue;
|
|
|
@@ -1150,6 +1161,9 @@ int CVtmLoaderFSM::EntityLoad()
|
|
|
if (arrEntity[0].Compare("VtmLoader", true) == 0 || arrEntity[0].Compare("Chromium", true) == 0
|
|
|
|| arrEntity[0].Compare("GuiConsole", true) == 0)
|
|
|
continue;
|
|
|
+ //Exclude the "ExcludedLoadList" entity
|
|
|
+ if (IfInExcludedLoadList(arrEntity[0]))
|
|
|
+ continue;
|
|
|
//去重,防止前面已经加载了
|
|
|
if (find(m_vCoreBoot.begin(), m_vCoreBoot.end(), arrEntity[0].GetData()) != m_vCoreBoot.end()
|
|
|
|| find(m_vSafeLoad.begin(), m_vSafeLoad.end(), arrEntity[0].GetData()) != m_vSafeLoad.end())
|
|
|
@@ -3069,4 +3083,15 @@ void CVtmLoaderFSM::CopyDepFilesToNewDepPath()
|
|
|
}
|
|
|
else
|
|
|
m_eDepCopyStage = DepDirInitCopy_CopyFailed;
|
|
|
+}
|
|
|
+bool CVtmLoaderFSM::IfInExcludedLoadList(CSimpleStringA csEntityName)
|
|
|
+{
|
|
|
+ if (csEntityName.IsNullOrEmpty())
|
|
|
+ return true;
|
|
|
+ for (int i = 0; i < m_arrExCludedList.GetCount(); ++i)
|
|
|
+ {
|
|
|
+ if (csEntityName.Compare(m_arrExCludedList[i], true) == 0)
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
}
|