public AutoConnectBehavior(IConnectable connectable, IExecutor executor, IBleLogger logger) { _connectable = connectable; _executor = executor; _logger = logger; _connectable.AddListener(this); }
public BleConnectionManager(IAdapter bleAdapter, IBleAvailability bleAvailabilityManager, IBleLogger logger) { _bleAdapter = bleAdapter; _bleAvailability = bleAvailabilityManager; _logger = logger; _bleAdapter.DeviceConnected += OnDeviceConnected; _bleAdapter.DeviceDisconnected += OnDeviceDisconnected; _bleAdapter.DeviceConnectionLost += OnDeviceConnectionLost; }
public BleSearchManager(IAdapter bleAdapter, IBleAvailability bleAvailabilityManager, IExecutor executor, IBleLogger logger) { _bleAdapter = bleAdapter; _bleAvailabilityManager = bleAvailabilityManager; _executor = executor; _logger = logger; _bleAdapter.ScanMode = ScanMode.Balanced; _bleAdapter.ScanTimeout = int.MaxValue; }
public BleInfrastructure(IBluetoothLE bluetoothService, IBleExecutionProvider bleExecutionProvider, IBleLogger logger) { Executor = new Executor(logger); BleAvailability = new BleAvailabilityService(bluetoothService, logger); SearchManager = new BleSearchManager(bluetoothService.Adapter, BleAvailability, Executor, logger); ConnectionManager = new BleConnectionManager(bluetoothService.Adapter, BleAvailability, logger); CharacteristicFactory = new CharacteristicFactory(); ExecutionProvider = bleExecutionProvider; Logger = logger; }
public BleAvailabilityService(IBluetoothLE bleService, IBleLogger logger) { _bleService = bleService; _eventSubscriber = new EventSubscriber <BluetoothStateChangedArgs, BluetoothState>( handler => _bleService.StateChanged += handler, handler => _bleService.StateChanged -= handler, e => e.NewState, logger ); }
public SearchAdapter(IAdapter bleAdapter, IObserver <IDevice> observer, IDeviceFilter deviceFilter, bool stopAfterFirstResult, IExecutor executor, IBleLogger logger, CancellationToken cancellationToken) { _bleAdapter = bleAdapter; _observer = observer; _deviceFilter = deviceFilter; _stopAfterFirstResult = stopAfterFirstResult; _executor = executor; _logger = logger; _searchCancellation = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); _searchCancellation.Token.Register(OnSearchInterrupted, false); _logger?.Log(LogSender, $"Starting search {DateTime.Now} (stopAfterFirstResult={stopAfterFirstResult})"); _executor.RunWithoutAwaiting(() => TryStartSearchAsync(_searchCancellation.Token)); }
public Executor(IBleLogger bleLogger) { _bleLogger = bleLogger; }
public static Task <IReadOnlyList <IDevice> > SearchAsync(this IAdapter bleAdapter, IDeviceFilter deviceFilter, bool stopAfterFirstResult, IExecutor executor, IBleLogger logger, CancellationToken cancellationToken) { return(new ObserverTaskBuilder <IDevice>(observer => bleAdapter.Search(observer, deviceFilter, stopAfterFirstResult, executor, logger, cancellationToken)).Task); }
public static SearchAdapter Search(this IAdapter bleAdapter, IObserver <IDevice> observer, IDeviceFilter deviceFilter, bool stopAfterFirstResult, IExecutor executor, IBleLogger logger, CancellationToken cancellationToken) { return(new SearchAdapter(bleAdapter, observer, deviceFilter, stopAfterFirstResult, executor, logger, cancellationToken)); }
public DeviceBehaviorFactory(IBleDeviceCoreFunctionality bleDeviceCore, IExecutor executor, IBleLogger logger) { _bleDeviceCore = bleDeviceCore; _executor = executor; _logger = logger; }
protected BleService(IBluetoothLE bluetoothService, IBleExecutionProvider bleExecutionProvider, IBleLogger logger) { _bleIfrastructure = new BleInfrastructure(bluetoothService, bleExecutionProvider, logger); }