Example #1
0
        public AutoConnectBehavior(IConnectable connectable, IExecutor executor, IBleLogger logger)
        {
            _connectable = connectable;
            _executor    = executor;
            _logger      = logger;

            _connectable.AddListener(this);
        }
Example #2
0
        public BleConnectionManager(IAdapter bleAdapter, IBleAvailability bleAvailabilityManager, IBleLogger logger)
        {
            _bleAdapter      = bleAdapter;
            _bleAvailability = bleAvailabilityManager;
            _logger          = logger;

            _bleAdapter.DeviceConnected      += OnDeviceConnected;
            _bleAdapter.DeviceDisconnected   += OnDeviceDisconnected;
            _bleAdapter.DeviceConnectionLost += OnDeviceConnectionLost;
        }
Example #3
0
        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;
        }
Example #4
0
        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
                );
        }
Example #6
0
        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));
        }
Example #7
0
 public Executor(IBleLogger bleLogger)
 {
     _bleLogger = bleLogger;
 }
Example #8
0
 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);
 }
Example #9
0
 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));
 }
Example #10
0
 public DeviceBehaviorFactory(IBleDeviceCoreFunctionality bleDeviceCore, IExecutor executor, IBleLogger logger)
 {
     _bleDeviceCore = bleDeviceCore;
     _executor      = executor;
     _logger        = logger;
 }
Example #11
0
 protected BleService(IBluetoothLE bluetoothService, IBleExecutionProvider bleExecutionProvider, IBleLogger logger)
 {
     _bleIfrastructure = new BleInfrastructure(bluetoothService, bleExecutionProvider, logger);
 }