Ejemplo n.º 1
0
 public ObservableMulticastGroupSettings(MulticastGroupSettings settings)
 {
     _settings  = settings;
     Qualifiers = new ObservableCollection <ObservableQualifierSettings>();
     foreach (var q in _settings.Qualifier)
     {
         var observableQ = new ObservableQualifierSettings(q);
         Qualifiers.Add(observableQ);
     }
     Qualifiers.CollectionChanged += _qualifiers_CollectionChanged;
 }
        private void AddSource(object obj)
        {
            var newSource = new MulticastGroupSettings()
            {
                Name         = "Name",
                GroupAdreass = "::1",
                GroupPort    = 0,
                Qualifier    = new List <QualifierSettings>()
            };

            Settings.Add(new ObservableMulticastGroupSettings(newSource));
        }
        public object GetSettings()
        {
            var settings = new List <MulticastGroupSettings>();

            foreach (var source in Settings)
            {
                var s = new MulticastGroupSettings()
                {
                    Name         = source.Name,
                    GroupAdreass = source.GroupAdreass,
                    GroupPort    = source.Port,
                    Qualifier    = (from q in source.Qualifiers
                                    select new QualifierSettings()
                    {
                        SourceIp = q.SourceIp,
                        SourcePort = q.Port,
                        Discard = q.Discard
                    }).ToList()
                };
                settings.Add(s);
            }
            return(settings);
        }
Ejemplo n.º 4
0
        public MulticastReceiver(MulticastGroupSettings settings)
        {
            _mcastGroup = IPAddress.Parse(settings.GroupAdreass);
            _localPort  = settings.GroupPort;
            _qualifiers = new List <ISourceQualifier>();
            foreach (var q in settings.Qualifier)
            {
                var qOption = QualifierOption.Accept;
                if (q.Discard)
                {
                    qOption = QualifierOption.Discard;
                }

                IPAddress qIp = null;
                if (q.SourceIp != string.Empty)
                {
                    qIp = IPAddress.Parse(q.SourceIp);
                }

                var qualifier = new SourceQualifier(qIp, q.SourcePort, qOption);
                _qualifiers.Add(qualifier);
            }
        }