public BluetoothManager() { _watcher = new BluetoothLEAdvertisementWatcher { ScanningMode = BluetoothLEScanningMode.Passive }; _watcher.Received += AdvertisementRecieved; ScanTimeout = 10000; _scanTimeoutTimer = new System.Timers.Timer { Interval = ScanTimeout, AutoReset = false }; _scanTimeoutTimer.Elapsed += (s, args) => { StopScan(); ScanTimeoutElapsed?.Invoke(this, null); }; _devicesDiscovered = new HashSet <ulong>(); }
public BleAdapter(IAdapter adapter) { _adapter = adapter; _adapter.DeviceDiscovered += (sender, args) => DeviceDiscovered?.Invoke(sender, BleDevice.Wrap(args.Device)); _adapter.DeviceConnected += (sender, args) => DeviceConnected?.Invoke(sender, args.Adapt <DeviceConnectionEventArgs>()); _adapter.DeviceDisconnected += (sender, args) => DeviceDisconnected?.Invoke(sender, args.Adapt <DeviceConnectionEventArgs>()); _adapter.ScanTimeoutElapsed += (sender, args) => ScanTimeoutElapsed?.Invoke(sender, args); }
private void DeviceWatcher_Stopped(DeviceWatcher sender, object args) { StopScanningForDevices(); ScanTimeoutElapsed?.Invoke(this, new EventArgs()); }