public ChannelList GetChannelList(SignalSource searchMask) { foreach (ChannelList list in channelLists) { if (FlagsHelper.IsSet(searchMask, SignalSource.Analog | SignalSource.Digital) && !FlagsHelper.IsSet(list.SignalSource, searchMask & (SignalSource.Analog | SignalSource.Digital))) { continue; } if (FlagsHelper.IsSet(searchMask, SignalSource.AvInput | SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat) && !FlagsHelper.IsSet(list.SignalSource, searchMask & (SignalSource.AvInput | SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat))) { continue; } if (FlagsHelper.IsSet(searchMask, SignalSource.IP) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.IP)) { continue; } if (FlagsHelper.IsSet(searchMask, SignalSource.TVAndRadioAndData) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.TVAndRadioAndData)) { continue; } if (FlagsHelper.IsSet(searchMask, SignalSource.AllProvider) && !FlagsHelper.IsSet(list.SignalSource, searchMask & SignalSource.AllProvider)) { continue; } return(list); } return(null); }
private string CreateCaption(SignalSource signalSource) { var sb = new StringBuilder(); if (FlagsHelper.IsSet(signalSource, SignalSource.DVBT)) { sb.Append("DVB-T"); } else if (FlagsHelper.IsSet(signalSource, SignalSource.DVBC)) { sb.Append("DVB-C"); } else if (FlagsHelper.IsSet(signalSource, SignalSource.DVBS)) { sb.Append("DVB-S"); } else if (FlagsHelper.IsSet(signalSource, SignalSource.IP)) { sb.Append("IP"); } else if (FlagsHelper.IsSet(signalSource, SignalSource.Analog)) { sb.Append("Analog"); } sb.Append(" "); if (FlagsHelper.IsSet(signalSource, SignalSource.TV)) { sb.Append("TV"); } else if (FlagsHelper.IsSet(signalSource, SignalSource.Radio)) { sb.Append("Radio"); } else { sb.Append("Data"); } return(sb.ToString()); }
} = new List <string>(); // initialized by MainForm public ChannelList(SignalSource source, string caption) { if (!FlagsHelper.IsSet(source, SignalSource.Analog | SignalSource.Digital)) { FlagsHelper.Set(source, SignalSource.Analog | SignalSource.Digital); } if (!FlagsHelper.IsSet(source, SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat)) { FlagsHelper.Set(source, SignalSource.Antenna | SignalSource.Cable | SignalSource.Sat); } if (!FlagsHelper.IsSet(source, SignalSource.TVAndRadioAndData)) { FlagsHelper.Set(source, SignalSource.TVAndRadioAndData); } SignalSource = source; ShortCaption = caption; FirstProgramNumber = (source & SignalSource.Digital) != 0 ? 1 : 0; VisibleColumnFieldNames = DefaultVisibleColumns.ToList(); // create copy of default list, so it can be modified }