using System.Collections.Generic;
using MECF.Framework.Common.DataCenter;
using OpenSEMI.ClientBase;
namespace Venus_MainPages.Unity
{
public static class ModuleManager
{
///
/// all module need init
///
public static readonly List ModulesID = new List()
{
"LLA","LLB","TM","LP1","LP2"
};
public static Dictionary ModuleInfos { get; private set; } = new Dictionary();
static ModuleManager()
{
bool bInstalledA = (bool)QueryDataClient.Instance.Service.GetConfig("System.PMAIsInstalled");
if (bInstalledA)
ModulesID.Add("PMA");
bool bInstalledB = (bool)QueryDataClient.Instance.Service.GetConfig("System.PMBIsInstalled");
if (bInstalledB)
ModulesID.Add("PMB");
}
public static void Initialize()
{
ModuleInfos.Clear();
foreach (string moduleID in ModulesID)
{
ModuleInfo modInfo = CreateModule(moduleID, true);
ModuleInfos.Add(moduleID, modInfo);
}
}
public static WaferStatusHandler CreateWaferStatusManager()
{
WaferStatusHandler WaferStatusManager;
WaferStatusImp waferStatusImp = new WaferStatusImp(QueryDataClient.Instance.Service);
WaferStatusManager = new WaferStatusHandler(waferStatusImp.GetWaferStatus, ModuleManager.ModulesID);
WaferStatusManager.Handle();
return WaferStatusManager;
}
private static ModuleInfo CreateModule(string p_modid, bool p_install)
{
ModuleInfo m_data;
if (p_install)
m_data = new ModuleInfo(p_modid, p_install, CreateWaferStatusManager().WaferStatusDic[p_modid], false);
else
m_data = new ModuleInfo(p_modid, p_install, null, false);
return m_data;
}
}
}