Example #1
0
        internal void OnUpdatedChannelInfo(string channelsXml)
        {
            var serializer = new XmlSerializer(typeof(ChannelList));

            using (StringReader reader = new StringReader(channelsXml))
            {
                var newChannels = (ChannelList)serializer.Deserialize(reader);
                foreach (Channel channel in newChannels.Channels)
                {
                    channel.Connection = this.Connection;
                }
                Channels = newChannels.Channels;

                UpdatedChannels?.Invoke(this, EventArgs.Empty);
            }
        }
Example #2
0
 internal void OnUpdatedServerInfo(List <string> channels)
 {
     Channels = channels.Select(s =>
     {
         var channelData = s.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
         if (channelData.Length > 2 &&
             int.TryParse(channelData[0], out var id) &&
             Enum.TryParse($"m{channelData[1]}", true, out VideoMode videoMode))
         {
             return new Channel(id, videoMode)
             {
                 Connection = this.Connection
             }
         }
         ;
         return(null);
     })
                .Where(c => c != null)
                .ToArray();
     UpdatedChannels?.Invoke(this, EventArgs.Empty);
 }