public BleCharacteristic(Guid serviceId, Guid characteristicId, ISubscriber <ConnectionEvent> connectionSubscriber, IBleExecutionProvider bleExecutionProvider) { _serviceId = serviceId; _characteristicId = characteristicId; _bleExecutionProvider = bleExecutionProvider; connectionSubscriber.AddListener(this); }
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; }
protected BleService(IBluetoothLE bluetoothService, IBleExecutionProvider bleExecutionProvider, IBleLogger logger) { _bleIfrastructure = new BleInfrastructure(bluetoothService, bleExecutionProvider, logger); }
public IBleCharacteristic CreateCharacteristic(Guid serviceId, Guid characteristicId, ISubscriber <ConnectionEvent> connectionSubscriber, IBleExecutionProvider executionProvider) { return(new BleCharacteristic(serviceId, characteristicId, connectionSubscriber, executionProvider)); }
private IReadOnlyDictionary <Guid, IBleCharacteristic> CreateCharacteristics(IDeviceClassProtocol <T> bleProtocol, ICharacteristicFactory characteristicFactory, IBleExecutionProvider executionProvider) { var characteristics = new Dictionary <Guid, IBleCharacteristic>(); foreach (var service in bleProtocol.Services) { foreach (var characteristicId in service.Characteristics) { characteristics.Add(characteristicId, characteristicFactory.CreateCharacteristic(service.ServiceId, characteristicId, this, executionProvider)); } } return(characteristics); }