/// <summary> /// Add a found service. /// If it is new one, add it to the map for services /// </summary> /// <param name="service">A found service</param> private void AddService(DNSSDService service) { if (!serviceMap.ContainsKey(service.name)) { AddServiceToResult(service); } }
/// <summary> /// Event handler when a service is found /// </summary> /// <param name="sender">Event sender</param> /// <param name="e">Event argument</param> private void OnServiceFound(object sender, DNSSDDiscoveryEventArgs e) { // Create a new service instance DNSSDService service = new DNSSDService(e.name, e.type, e.port, e.ipv4, e.ipv6); AddService(service); }
/// <summary> /// Create a new TableSection for a new found service /// </summary> /// <param name="service">A new found service</param> /// <returns>TableSection</returns> private TableSection AddServiceTableSection(DNSSDService service) { // Service information is added as TableSection // IP address and Port number are shown return(new TableSection(service.name) { CreateTextCell("IPv4 Address", service.ipv4.ToString()), CreateTextCell("IPv6 Address", service.ipv6.ToString()), CreateTextCell("Port Number", service.port.ToString()), }); }
/// <summary> /// Show a new found service in result list /// </summary> /// <param name="service">A new found service</param> private void AddServiceToResult(DNSSDService service) { TableSection section = AddServiceTableSection(service); resultView.Root.Add(section); }