void OnNodeLoaded(INvtNode node) { if (IsDisposed || Disposing) return; if (node.identity.uris.Length != 0) { try { var devHolder = new DeviceDescriptionHolder(); var scopes = node.identity.scopes.Select(x => x.OriginalString).ToList(); devHolder.Uris = node.identity.uris; devHolder.Address = ""; foreach (var uri in devHolder.Uris) { if (uri.IsAbsoluteUri) devHolder.Address += uri.DnsSafeHost + "; "; } devHolder.Address = devHolder.Address.TrimEnd(';', ' '); if (devHolder.Address == "") { devHolder.IsInvalidUris = true; devHolder.Address = "Invalid Uri"; } devHolder.Name = ScopeHelper.GetName(scopes); devHolder.Location = ScopeHelper.GetLocation(scopes); devHolder.DeviceIconUri = ScopeHelper.GetDeviceIconUri(scopes); MainForm.ONVIFDevices.Add(devHolder); string n = devHolder.Name; if (!string.IsNullOrEmpty(devHolder.Location)) n += " (" + devHolder.Location + ")"; lbONVIFDevices.Items.Add(new MainForm.ListItem2(n, MainForm.ONVIFDevices.Count - 1)); } catch (Exception ex) { Logger.LogExceptionToFile(ex); } } }
private void linkLabel8_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { var p = new Prompt(LocRm.GetString("NetworkAddress"), "http://192.168.0.1/onvif/device_service"); if (p.ShowDialog(this) == DialogResult.OK) { Uri u; if (!Uri.TryCreate(p.Val, UriKind.Absolute, out u)) { MessageBox.Show(this, LocRm.GetString("InvalidURI")); return; } var devHolder = new DeviceDescriptionHolder { Uris = new[] { u }, Address = "" }; devHolder.Address += u.DnsSafeHost + "; "; devHolder.Address = devHolder.Address.TrimEnd(';', ' '); if (devHolder.Address == "") { devHolder.IsInvalidUris = true; devHolder.Address = LocRm.GetString("InvalidURI"); } devHolder.Name = u.AbsoluteUri; devHolder.Location = LocRm.GetString("Unknown"); devHolder.DeviceIconUri = null; MainForm.ONVIFDevices.Add(devHolder); lbONVIFDevices.Items.Add(new MainForm.ListItem2(devHolder.Name, MainForm.ONVIFDevices.Count - 1)); } p.Dispose(); }