Beispiel #1
0
        void OnDevInfoEvent(object sender, NurApi.DevInfoEventArgs e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new MethodInvoker(delegate { OnDevInfoEvent(sender, e); }));
                return;
            }

            string mac = EthHelper.MacToString(e.data.eth.mac);

            NurApi.DevInfoData did;
            if (devices.TryGetValue(mac, out did))
            {
                devices[mac] = e.data;
            }
            else
            {
                devices.Add(mac, e.data);
            }

            deviceView.SelectedItems.Clear();
            deviceView.Items.Clear();
            foreach (NurApi.DevInfoData device in devices.Values)
            {
                string nurVersion = string.Format("{0}.{1}{2}",
                                                  device.nurVer[0].ToString(),
                                                  device.nurVer[1].ToString(),
                                                  Convert.ToChar(device.nurVer[2]));

                ListViewItem item = new ListViewItem(
                    new string[]
                {
                    device.eth.title,
                    EthHelper.IpToString(device.eth.ip),
                    device.eth.serverPort.ToString(),
                    EthHelper.EthAddrTypeToString(device.eth),
                    EthHelper.EthHostModeToString(device.eth),
                    EthHelper.EthHostModeToString(device),
                    EthHelper.MacToString(device.eth.mac),
                    new string(device.altSerial),
                    device.eth.version.ToString(),
                    nurVersion
                });

                item.Tag = device;
                deviceView.Items.Add(item);
            }

            deviceView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
        }
Beispiel #2
0
 void hNur_DevInfoEvent(object sender, NurApi.DevInfoEventArgs e)
 {
     if (e.data.status == 0)
     {
         // Free device found from the network.
         // Create a new NurApi object for it and try to connect
         new Thread(delegate()
         {
             try
             {
                 NurApi newNurApi                = new NurApi(this);
                 newNurApi.ConnectedEvent       += new EventHandler <NurApi.NurEventArgs>(hNur_ConnectedEvent);
                 newNurApi.DisconnectedEvent    += new EventHandler <NurApi.NurEventArgs>(hNur_DisconnectedEvent);
                 newNurApi.InventoryStreamEvent += new EventHandler <NurApi.InventoryStreamEventArgs>(hNur_InventoryStreamReady);
                 newNurApi.ConnectSocket(new System.Net.IPAddress(e.data.eth.ip).ToString(), e.data.eth.serverPort);
                 nurApis.Add(newNurApi);
             }
             catch (Exception)
             {
             }
         }).Start();
     }
 }