コード例 #1
0
        private void LoadConfiguration()
        {
            XmlConfiguration.Module = this;
            _configuration          = XmlConfiguration.Reload();
            _inputs.Clear();
            for (int i = 0; i < _configuration.FCUs.Length; i++)
            {
                _inputs.AddRange(_configuration.FCUs[i].Variables);
                _configuration.FCUs[i].Log    = _log;
                _configuration.FCUs[i].Module = this;
            }

            for (int i = 0; i < _configuration.COMNAVs.Length; i++)
            {
                _inputs.AddRange(_configuration.COMNAVs[i].Variables);
                _configuration.COMNAVs[i].Log    = _log;
                _configuration.COMNAVs[i].Module = this;
            }

            for (int i = 0; i < _configuration.EFISs.Length; i++)
            {
                _inputs.AddRange(_configuration.EFISs[i].Variables);
                _configuration.EFISs[i].Log    = _log;
                _configuration.EFISs[i].Module = this;
            }
        }
コード例 #2
0
        public static XmlConfiguration Load()
        {
            if (__instance != null)
            {
                return(__instance);
            }

            if (!File.Exists(ConfigurationFilePath))
            {
                throw new FileNotFoundException(ConfigurationFilePath);
            }
            XmlConfiguration c   = new XmlConfiguration();
            XmlDocument      xml = new XmlDocument();

            xml.Load(ConfigurationFilePath);

            // wczytanie interfejsów
            List <FCU>  fcus  = new List <FCU>();
            XmlNodeList nodes = xml.SelectNodes("/configuration/devices/fcu");

            if (nodes != null && nodes.Count > 0)
            {
                foreach (XmlNode node in nodes)
                {
                    fcus.Add(new FCU(Module, node));
                }
            }
            c.FCUs = fcus.ToArray();

            List <COMNAV> comnavs = new List <COMNAV>();

            nodes = xml.SelectNodes("/configuration/devices/comNav");
            if (nodes != null && nodes.Count > 0)
            {
                foreach (XmlNode node in nodes)
                {
                    comnavs.Add(new COMNAV(Module, node));
                }
            }
            c.COMNAVs = comnavs.ToArray();

            List <EFIS> efis = new List <EFIS>();

            nodes = xml.SelectNodes("/configuration/devices/efis");
            if (nodes != null && nodes.Count > 0)
            {
                foreach (XmlNode node in nodes)
                {
                    efis.Add(new EFIS(Module, node));
                }
            }
            c.EFISs = efis.ToArray();

            __instance = c;

            return(__instance);
        }
コード例 #3
0
 public static XmlConfiguration Reload()
 {
     __instance = null;
     return(Load());
 }