internal void InitNetBrowser () { _serviceList = new List<NSNetService> (); _netBrowser = new NSNetServiceBrowser (); _source = new ServicesTableSource (this); servicesTable.Source = _source; _netBrowser.SearchForServices ("_bonjourdemoservice._tcp", ""); _netBrowser.FoundService += delegate(object sender, NSNetServiceEventArgs e) { logView.AppendTextLine (String.Format ("{0} added", e.Service.Name)); _serviceList.Add (e.Service); e.Service.AddressResolved += ServiceAddressResolved; // NOTE: could also insert and remove rows in a // more fine grained fashion here as well servicesTable.ReloadData (); }; _netBrowser.ServiceRemoved += delegate(object sender, NSNetServiceEventArgs e) { logView.AppendTextLine (String.Format ("{0} removed", e.Service.Name)); var nsService = _serviceList.Single (s => s.Name.Equals (e.Service.Name)); _serviceList.Remove (nsService); servicesTable.ReloadData (); }; }
internal void InitNetBrowser() { _serviceList = new List <NSNetService> (); _netBrowser = new NSNetServiceBrowser(); _source = new ServicesTableSource(this); servicesTable.Source = _source; _netBrowser.SearchForServices("_bonjourdemoservice._tcp", ""); _netBrowser.FoundService += delegate(object sender, NSNetServiceEventArgs e) { logView.AppendTextLine(String.Format("{0} added", e.Service.Name)); _serviceList.Add(e.Service); e.Service.AddressResolved += ServiceAddressResolved; // NOTE: could also insert and remove rows in a // more fine grained fashion here as well servicesTable.ReloadData(); }; _netBrowser.ServiceRemoved += delegate(object sender, NSNetServiceEventArgs e) { logView.AppendTextLine(String.Format("{0} removed", e.Service.Name)); var nsService = _serviceList.Single(s => s.Name.Equals(e.Service.Name)); _serviceList.Remove(nsService); servicesTable.ReloadData(); }; }