public GenericAccess( ILogger logger, IScheduler scheduler, IDevice device, IGattCharacteristicsProviderFactory providerFactory, IRawValueReader rawValueReader, IRawValueWriter rawValueWriter, ICharacteristicBaseToStringConverter toStringConverter, IDescriptionToUuid descriptionToUuid, [NotNull] Func <ISubject <IEnumerable <byte> > > subjectFactory, [NotNull] IAllGattCharacteristicsProvider allGattCharacteristicsProvider) : base(logger, scheduler, device, providerFactory, rawValueReader, rawValueWriter, toStringConverter, descriptionToUuid) { Guard.ArgumentNotNull(subjectFactory, nameof(subjectFactory)); Guard.ArgumentNotNull(allGattCharacteristicsProvider, nameof(allGattCharacteristicsProvider)); _allGattCharacteristicsProvider = allGattCharacteristicsProvider; DeviceNameChanged = subjectFactory( ); ResolutionChanged = subjectFactory( ); ParametersChanged = subjectFactory( ); AppearanceChanged = subjectFactory( ); }
public GenericAttribute( ILogger logger, IScheduler scheduler, IDevice device, IGattCharacteristicsProviderFactory providerFactory, IRawValueReader rawValueReader, IRawValueWriter rawValueWriter, ICharacteristicBaseToStringConverter toStringConverter, IDescriptionToUuid descriptionToUuid, [NotNull] IAllGattCharacteristicsProvider allGattCharacteristicsProvider) : base(logger, scheduler, device, providerFactory, rawValueReader, rawValueWriter, toStringConverter, descriptionToUuid) { Guard.ArgumentNotNull(allGattCharacteristicsProvider, nameof(allGattCharacteristicsProvider)); _allGattCharacteristicsProvider = allGattCharacteristicsProvider; }