Пример #1
0
        void OnAvailabilityDeviceChanged(object sender, DeviceChangeArgs e)
        {
            if (!e.DevicePath.Contains(SearchPattern))
            {
                return;
            }

            DeviceInformation deviceInfo;

            switch (e.ChangeType)
            {
            case DeviceChange.Added:
                deviceInfo = DeviceManager.EnumerateAllDevices().First(d => d.Path == e.DevicePath);
                Contract.Assert(!AvailableDevices.Contains(deviceInfo));
                InsertDeviceInfo(deviceInfo);
                Log.InfoFormat(Strings.USB_Device_Plugged_0, deviceInfo.Description);
                break;

            case DeviceChange.Removed:
                deviceInfo = AvailableDevices.First(d => d.Path == e.DevicePath);
                Contract.Assert(AvailableDevices.Contains(deviceInfo));
                AvailableDevices.Remove(deviceInfo);
                Log.InfoFormat(Strings.USB_Device_Unplugged_0, deviceInfo.Description);
                break;
            }
        }
Пример #2
0
        public DeviceMonitor(IDeviceManager deviceManager, string searchPattern)
        {
            Contract.Requires <ArgumentNullException>(deviceManager != null);
            Contract.Requires <ArgumentNullException>(searchPattern != null);
            DeviceManager = deviceManager;
            DeviceManager.DeviceChanged += OnAvailabilityDeviceChanged;
            SearchPattern = searchPattern;

            var availableDevices =
                DeviceManager
                .EnumerateAllDevices()
                .Where(d => d.Path.Contains(SearchPattern))
                .OrderBy(d => d.Path);

            AvailableDevices = new BindingList <DeviceInformation>(availableDevices.ToList());
        }
Пример #3
0
        public DeviceMonitor(IDeviceManager deviceManager, string searchPattern)
        {
            Contract.Requires<ArgumentNullException>(deviceManager != null);
            Contract.Requires<ArgumentNullException>(searchPattern != null);
            DeviceManager = deviceManager;
            DeviceManager.DeviceChanged += OnAvailabilityDeviceChanged;
            SearchPattern = searchPattern;

            var availableDevices =
                DeviceManager
                    .EnumerateAllDevices()
                    .Where(d => d.Path.Contains(SearchPattern))
                    .OrderBy(d => d.Path);

            AvailableDevices = new BindingList<DeviceInformation>(availableDevices.ToList());
        }