private DeviceService() { deviceScanner = new UsbDeviceScanner.UsbDeviceScanner(); deviceScanner.JabraUsbHidDeviceAdded += OnJabraHidDeviceAdded; deviceScanner.JabraUsbHidDeviceRemoved += OnJabraHidDeviceRemoved; deviceScanner.Start(); var devices = deviceScanner.AttachedJabraHidDevices; foreach (var deviceInfo in devices) { connectedUsbDevices.Add(deviceInfo, new TelephonyDevice(new UsbHidDevice.UsbHidDevice(deviceInfo))); connectedUsbDevices[deviceInfo].ButtonInput += DeviceService_ButtonInput; } }
public void Dispose() { try { foreach (var connectedDevice in connectedUsbDevices) { connectedDevice.Value.Dispose(); } deviceScanner.Dispose(); deviceScanner = null; connectedUsbDevices = null; } catch (Exception) { } }