Example #1
0
        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);
                }
            }
        }
Example #2
0
        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();
        }