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; } } }