internal void load(FileInfo fileInfo)
        {
            ISDBTerrestrialFrequency isdbFrequency = null;
            XmlReader reader = null;

            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreWhitespace = true;

            try
            {
                reader = XmlReader.Create(fileInfo.FullName, settings);
            }
            catch (IOException)
            {
                Logger.Instance.Write("Failed to open " + fileInfo.Name);
                return;
            }

            try
            {
                while (!reader.EOF)
                {
                    reader.Read();
                    if (reader.IsStartElement())
                    {
                        switch (reader.Name)
                        {
                            case "Channel":
                                if (isdbFrequency != null)
                                    AddFrequency(isdbFrequency);

                                isdbFrequency = new ISDBTerrestrialFrequency();
                                isdbFrequency.Provider = this;                                

                                break;
                            default:
                                if (isdbFrequency != null)
                                    isdbFrequency.load(reader);
                                break;
                        }
                    }
                }

                if (isdbFrequency != null)
                    AddFrequency(isdbFrequency);
            }
            catch (XmlException e)
            {
                Logger.Instance.Write("Failed to load file " + fileInfo.Name);
                Logger.Instance.Write("Data exception: " + e.Message);
            }
            catch (IOException e)
            {
                Logger.Instance.Write("Failed to load file " + fileInfo.Name);
                Logger.Instance.Write("I/O exception: " + e.Message);
            }

            if (reader != null)
                reader.Close();
        }
        /// <summary>
        /// Generate a copy of this frequency.
        /// </summary>
        /// <returns>A new instance with the same properties as the old instance.</returns>
        public override TuningFrequency Clone()
        {
            ISDBTerrestrialFrequency newFrequency = new ISDBTerrestrialFrequency();
            base.Clone(newFrequency);

            newFrequency.Bandwidth = bandwidth;

            return (newFrequency);
        }
Esempio n. 3
0
        /// <summary>
        /// Generate a copy of this frequency.
        /// </summary>
        /// <returns>A new instance with the same properties as the old instance.</returns>
        public override TuningFrequency Clone()
        {
            ISDBTerrestrialFrequency newFrequency = new ISDBTerrestrialFrequency();

            base.Clone(newFrequency);

            newFrequency.Bandwidth = bandwidth;

            return(newFrequency);
        }
Esempio n. 4
0
 /// <summary>
 /// Initialize a new instance of the TuningSpec class for a ISDB errestrial frequency.
 /// </summary>
 /// <param name="frequency">The terrestrial frequency to tune to.</param>
 public TuningSpec(ISDBTerrestrialFrequency frequency)
 {
     this.frequency = frequency;
     bandwidth = frequency.Bandwidth;
 }
        internal void load(FileInfo fileInfo)
        {
            ISDBTerrestrialFrequency isdbFrequency = null;
            XmlReader reader = null;

            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreWhitespace = true;

            try
            {
                reader = XmlReader.Create(fileInfo.FullName, settings);
            }
            catch (IOException)
            {
                Logger.Instance.Write("Failed to open " + fileInfo.Name);
                return;
            }

            try
            {
                while (!reader.EOF)
                {
                    reader.Read();
                    if (reader.IsStartElement())
                    {
                        switch (reader.Name)
                        {
                            case "Channel":
                                if (isdbFrequency != null)
                                    AddFrequency(isdbFrequency);

                                isdbFrequency = new ISDBTerrestrialFrequency();
                                isdbFrequency.Provider = this;

                                break;
                            default:
                                if (isdbFrequency != null)
                                    isdbFrequency.load(reader);
                                break;
                        }
                    }
                }

                if (isdbFrequency != null)
                    AddFrequency(isdbFrequency);
            }
            catch (XmlException e)
            {
                Logger.Instance.Write("Failed to load file " + fileInfo.Name);
                Logger.Instance.Write("Data exception: " + e.Message);
            }
            catch (IOException e)
            {
                Logger.Instance.Write("Failed to load file " + fileInfo.Name);
                Logger.Instance.Write("I/O exception: " + e.Message);
            }

            if (reader != null)
                reader.Close();
        }