Exemple #1
0
        public void scanPorts()
        {
            List <XsPortInfo> scannedDevicesSet = new List <XsPortInfo>();
            XsPortInfoArray   scannedDevices    = XsScanner.scanPorts();

            // Check if we found new devices.
            for (uint i = 0; i < scannedDevices.size(); i++)
            {
                XsPortInfo port = scannedDevices.at(i);
                scannedDevicesSet.Add(port);
                if (!findPortInfo(port))
                {
                    if (port.deviceId().isWirelessMaster())
                    {
                        if (WirelessMasterDetected != null)
                        {
                            WirelessMasterDetected(this, new PortInfoArg(port));
                        }
                    }
                    else if (port.deviceId().isMtw())
                    {
                        if (DockedMtwDetected != null)
                        {
                            DockedMtwDetected(this, new PortInfoArg(port));
                        }
                    }
                }
            }

            // Check if we have lost devices (that are not opened already).
            foreach (XsPortInfo portD in _DetectedDevices)
            {
                bool   found = false;
                String did   = portD.deviceId().toXsString().toString();
                foreach (XsPortInfo portS in scannedDevicesSet)
                {
                    if (portS.deviceId().toXsString().toString() == portD.deviceId().toXsString().toString())
                    {
                        found = true;
                    }
                }
                if (!found)
                {
                    if (portD.deviceId().isMtw() && MtwUndocked != null)
                    {
                        MtwUndocked(this, new PortInfoArg(portD));
                    }
                }
            }

            _DetectedDevices = scannedDevicesSet;
        }
Exemple #2
0
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(XsScanner obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }