コード例 #1
0
        public void Discover(Action <PoweredUpBluetoothDeviceInfo> discoveryHandler,
                             CancellationToken cancellationToken = default)
        {
            _logger.LogInformation("BluegigaPoweredUpBluetoothAdapter: Connecting to BgBleService");

            _tokenSource = new CancellationTokenSource();
            var applicationCancellationTokenSource =
                CancellationTokenSource.CreateLinkedTokenSource(cancellationToken,
                                                                _tokenSource.Token);

            var discoveryCompleteTokenSource = new CancellationTokenSource();

            _bleService = new BgBleService(applicationCancellationTokenSource, _bleRepository, _logger);
            _bleService.Process(discoveryCompleteTokenSource).ConfigureAwait(false);

            while (!discoveryCompleteTokenSource.IsCancellationRequested)
            {
                WaitHandle.WaitAny(new[] { cancellationToken.WaitHandle }, 500);
            }

            _logger.LogInformation("BluegigaPoweredUpBluetoothAdapter: BgBleService Processing Complete");
            foreach (var bgBleDevice in _bleService.Devices.Values)
            {
                discoveryHandler?.Invoke(new PoweredUpBluetoothDeviceInfo
                {
                    ManufacturerData = bgBleDevice.Advertisement.Data,
                    BluetoothAddress = bgBleDevice.BluetoothAddress
                });
            }
        }
 public BluegigaPoweredUpBluetoothCharacteristic(BgBleService bgBleService,
     BgBleDeviceCharacteristic bgBleDeviceCharacteristic)
 {
     _bgBleService = bgBleService;
     _bgBleDeviceCharacteristic = bgBleDeviceCharacteristic;
 }
コード例 #3
0
 protected virtual void Dispose(bool disposing)
 {
     _bgBleService       = null;
     _bgBleDeviceService = null;
 }
コード例 #4
0
 public BluegigaPoweredUpBluetoothService(BgBleService bgBleService, BgBleDeviceService bgBleDeviceService)
 {
     _bgBleService       = bgBleService;
     _bgBleDeviceService = bgBleDeviceService;
 }