Ejemplo n.º 1
0
        public int MvCfInit()
        {
            this.Mediater            = new MacMachineMediater();
            this.Mediater.MachineMgr = this;

            this.Config = MacMachineMgrCfg.LoadFromXmlFile();                 //先載入整機的Config

            this.HalContext = new MacHalContext(this.Config.ManifestCfgPath); //將Manifest路徑交給HalContext載入
            this.HalContext.MvCfInit();

            foreach (var row in this.Config.MachineCtrls)
            {
                //Create machine controller
                var machine = Activator.CreateInstance(row.MachineCtrlType.Type) as MacMachineCtrlBase;
                this.CtrlMachines[row.ID] = machine;

                //Initial machine controller
                machine.Mediater = this.Mediater;



                //Assign HAL to machine controller
                var hal = this.HalContext.HalDevices.Where(x => x.Value.ID == row.HalId).FirstOrDefault();
                machine.halAssembly = hal.Value as MacHalAssemblyBase;


                machine.halAssembly.HalConnect();
            }
            MvUtil.Foreach(this.CtrlMachines.Values, m => m.MvCfInit());

            return(0);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// serialize (序列化) manifest object, and save as xml file
 /// </summary>
 /// <param name="cfg">MachineManifest object</param>
 /// <param name="filePath">xml file path for saving</param>
 public static void SaveToXmlFile(MacMachineMgrCfg cfg, string filePath)
 {
     MvUtil.SaveToXmlFile <MacMachineMgrCfg>(cfg, filePath);
 }