private void OnServiceAdded(object sender, ServiceAnnouncementEventArgs e) { var detectedVent = new Ventilator { IP = e.Announcement.Addresses.First().ToString(), }; foreach (var txt in e.Announcement.Txt) { var split = txt.Split('='); var id = split[0]; if (id == "fn") { detectedVent.Name = split[1]; } } bool found = false; foreach (var disc in FoundVentilators) { if (disc.IP == detectedVent.IP) { found = true; break; } } if (!found) { FoundVentilators.Add(detectedVent); } }
private void OnServiceRemoved(object sender, ServiceAnnouncementEventArgs e) { IPAddress id = e.Announcement.Addresses.First(); Ventilator toRemove = null; foreach (var disc in FoundVentilators) { if (IPAddress.Parse(disc.IP) == id) { toRemove = disc; break; } } if (toRemove != null) { FoundVentilators.Remove(toRemove); } }