public void Initialize( ConfiguredEndpointCollection endpoints, LocalDiscoveryServer lds, GlobalDiscoveryServer gds, QueryServersFilter filters) { m_lds = lds; m_gds = gds; m_filters = filters; DiscoveryTreeView.Nodes.Clear(); TreeNode node = new TreeNode("Local Machine"); node.SelectedImageIndex = node.ImageIndex = ImageIndex.Computer; node.Tag = RootFolders.LocalMachine; node.Nodes.Add(new TreeNode()); DiscoveryTreeView.Nodes.Add(node); node = new TreeNode("Local Network"); node.SelectedImageIndex = node.ImageIndex = ImageIndex.LocalNetwork; node.Tag = RootFolders.LocalNetwork; node.Nodes.Add(new TreeNode()); DiscoveryTreeView.Nodes.Add(node); node = new TreeNode("Global Discovery"); node.SelectedImageIndex = node.ImageIndex = ImageIndex.GlobalNetwork; node.Tag = RootFolders.GlobalDiscovery; node.Nodes.Add(new TreeNode()); DiscoveryTreeView.Nodes.Add(node); if (endpoints != null) { m_endpoints = endpoints; node = new TreeNode("Custom Discovery"); node.SelectedImageIndex = node.ImageIndex = ImageIndex.ClosedFolder; node.Tag = RootFolders.CustomDiscovery; TreeNode child = new TreeNode("<double click to add server>"); child.SelectedImageIndex = child.ImageIndex = ImageIndex.Add; child.Tag = RootFolders.Add; node.Nodes.Add(child); DiscoveryTreeView.Nodes.Add(node); foreach (ConfiguredEndpoint ce in m_endpoints.Endpoints) { child = new TreeNode(Utils.Format("{0}", ce.ToString())); child.SelectedImageIndex = child.ImageIndex = (ce.Description.SecurityMode == MessageSecurityMode.None && ce.EndpointUrl.Scheme != Utils.UriSchemeHttps) ? ImageIndex.InSecure : ImageIndex.Secure; child.Tag = ce; node.Nodes.Add(child); } } }
public EndpointDescription ShowDialog( IWin32Window owner, ConfiguredEndpointCollection endpoints, LocalDiscoveryServer lds, GlobalDiscoveryServer gds, QueryServersFilter filters) { DiscoveryControl.Initialize(endpoints, lds, gds, filters); if (base.ShowDialog(owner) != System.Windows.Forms.DialogResult.OK) { return(null); } return(DiscoveryControl.SelectedEndpoint); }
/// <summary> /// Selects the default GDS. /// </summary> /// <param name="lds">The LDS to use.</param> /// <returns> /// TRUE if successful; FALSE otherwise. /// </returns> public bool SelectDefaultGds(LocalDiscoveryServer lds) { List <string> gdsUrls = new List <string>(); try { DateTime lastResetTime; if (lds == null) { lds = new LocalDiscoveryServer(this.Application.ApplicationConfiguration); } // gdsUrls.Add("opc.tcp://bronze-b:58810/GlobalDiscoveryServer"); var servers = lds.FindServersOnNetwork(0, 1000, out lastResetTime); foreach (var server in servers) { if (server.ServerCapabilities != null && server.ServerCapabilities.Contains(ServerCapability.GlobalDiscoveryServer)) { gdsUrls.Add(server.DiscoveryUrl); } } } catch (Exception exception) { Utils.Trace(exception, "Unexpected error connecting to LDS"); } string url = new SelectGdsDialog().ShowDialog(null, this, gdsUrls); if (url != null) { return(true); } return(false); }