Exemple #1
0
        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>();
        }
Exemple #2
0
        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);
        }
Exemple #3
0
 private void DeviceWatcher_Stopped(DeviceWatcher sender, object args)
 {
     StopScanningForDevices();
     ScanTimeoutElapsed?.Invoke(this, new EventArgs());
 }