Exemplo n.º 1
0
        private void addChannelInNameOrder(Collection <Channel> sortedChannels, Channel newChannel)
        {
            TVStation newStation = TVStation.FindStation(newChannel.OriginalNetworkID, newChannel.TransportStreamID, newChannel.ServiceID);

            if (newStation == null)
            {
                newStation = new TVStation("No Name");
            }

            foreach (Channel oldChannel in sortedChannels)
            {
                TVStation oldStation = TVStation.FindStation(oldChannel.OriginalNetworkID, oldChannel.TransportStreamID, oldChannel.ServiceID);
                if (oldStation == null)
                {
                    oldStation = new TVStation("No Name");
                }

                if (oldStation.Name.CompareTo(newStation.Name) > 0)
                {
                    sortedChannels.Insert(sortedChannels.IndexOf(oldChannel), newChannel);
                    return;
                }
            }

            sortedChannels.Add(newChannel);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Log all the channel mappings.
        /// </summary>
        /// <param name="logger">The logger instance to be used.</param>
        public void LogChannelMapping(Logger logger)
        {
            TVStation station = TVStation.FindStation(OriginalNetworkID, TransportStreamID, ServiceID);

            string stationName;

            if (station != null)
            {
                stationName = station.Name;
            }
            else
            {
                stationName = "** No Station **";
            }

            StringBuilder flagString = new StringBuilder();

            if (Flags != null)
            {
                flagString.Append("0x");

                foreach (byte flagByte in Flags)
                {
                    flagString.Append(flagByte.ToString("X").PadLeft(2, '0'));
                }
            }
            else
            {
                flagString.Append("N/A");
            }

            logger.Write("Channel: ONID " + OriginalNetworkID +
                         " TSID " + TransportStreamID +
                         " SID " + ServiceID +
                         " Channel ID: " + ChannelID +
                         " User Channel: " + UserChannel +
                         " Bouquet: " + BouquetID +
                         " Region: " + Region +
                         " Flags: " + flagString +
                         " Name: " + stationName);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get a description of this instance.
        /// </summary>
        /// <returns>A string describing this instance.</returns>
        public override string ToString()
        {
            TVStation station = TVStation.FindStation(originalNetworkID, transportStreamID, serviceID);
            string    stationName;

            if (station != null)
            {
                stationName = station.Name;
            }
            else
            {
                stationName = "** No Station **";
            }

            return("ONID " + OriginalNetworkID +
                   " TSID " + TransportStreamID +
                   " SID " + ServiceID +
                   " Channel ID: " + ChannelID +
                   " User Channel: " + UserChannel +
                   " Bouquet: " + BouquetID +
                   " Region: " + Region +
                   " Station: " + stationName);
        }
Exemplo n.º 4
0
        private static void createAreaRegionChannelFile(string fileName)
        {
            string regionChannelFileName = Path.Combine(Path.GetDirectoryName(fileName), "AreaRegionChannelInfo.xml");

            try
            {
                Logger.Instance.Write("Deleting any existing version of Area/Region channel file");
                File.SetAttributes(regionChannelFileName, FileAttributes.Normal);
                File.Delete(regionChannelFileName);
            }
            catch (IOException e)
            {
                Logger.Instance.Write("File delete exception: " + e.Message);
            }

            Logger.Instance.Write("Creating Area/Region channel file: " + regionChannelFileName);

            XmlWriterSettings settings = new XmlWriterSettings();

            settings.Indent = true;
            settings.NewLineOnAttributes = true;
            settings.Encoding            = new UTF8Encoding(false);
            settings.CloseOutput         = true;

            using (XmlWriter xmlWriter = XmlWriter.Create(regionChannelFileName, settings))
            {
                xmlWriter.WriteStartDocument();
                xmlWriter.WriteStartElement("areas");

                foreach (Bouquet bouquet in Bouquet.Bouquets)
                {
                    bool writeStart = true;

                    foreach (Region region in bouquet.Regions)
                    {
                        bool include = checkArea(bouquet.BouquetID, region.Code);
                        if (include)
                        {
                            if (writeStart)
                            {
                                xmlWriter.WriteStartElement("area");
                                xmlWriter.WriteAttributeString("id", bouquet.BouquetID.ToString());
                                xmlWriter.WriteAttributeString("name", bouquet.Name.ToString());
                                writeStart = false;
                            }

                            xmlWriter.WriteStartElement("region");
                            xmlWriter.WriteAttributeString("id", region.Code.ToString());

                            foreach (Channel channel in region.GetChannelsInChannelNumberOrder())
                            {
                                {
                                    TVStation station = TVStation.FindStation(channel.OriginalNetworkID, channel.TransportStreamID, channel.ServiceID);
                                    if (station != null)
                                    {
                                        xmlWriter.WriteStartElement("channel");

                                        xmlWriter.WriteAttributeString("id", channel.UserChannel.ToString());
                                        xmlWriter.WriteAttributeString("nid", channel.OriginalNetworkID.ToString());
                                        xmlWriter.WriteAttributeString("tid", channel.TransportStreamID.ToString());
                                        xmlWriter.WriteAttributeString("sid", channel.ServiceID.ToString());

                                        if (station.NewName == null)
                                        {
                                            xmlWriter.WriteAttributeString("name", station.Name);
                                        }
                                        else
                                        {
                                            xmlWriter.WriteAttributeString("name", station.NewName);
                                        }

                                        xmlWriter.WriteEndElement();
                                    }
                                }
                            }

                            xmlWriter.WriteEndElement();
                        }
                    }

                    if (!writeStart)
                    {
                        xmlWriter.WriteEndElement();
                    }
                }

                xmlWriter.WriteEndElement();
                xmlWriter.WriteEndDocument();

                xmlWriter.Flush();
                xmlWriter.Close();
            }
        }