コード例 #1
0
ファイル: Driver.cs プロジェクト: srccrow/OpenTabletDriver
 public Driver(ICompositeDeviceHub deviceHub, IReportParserProvider reportParserProvider, IDeviceConfigurationProvider configurationProvider)
 {
     CompositeDeviceHub           = deviceHub;
     _reportParserProvider        = reportParserProvider;
     _deviceConfigurationProvider = configurationProvider;
 }
コード例 #2
0
 public DeviceConfigurationProviderTests()
 {
     subject = new DeviceConfigurationProvider();
 }
コード例 #3
0
        public TabletDriver([NotNull] ICompositeDeviceHub deviceHub, [NotNull] IReportParserProvider reportParserProvider, [NotNull] IDeviceConfigurationProvider configurationProvider)
            : base(deviceHub, reportParserProvider, configurationProvider)
        {
            Log.Output += (sender, logMessage) => Logger.Log($"{logMessage.Group}: {logMessage.Message}", level: (LogLevel)logMessage.Level);

            deviceHub.DevicesChanged += (sender, args) =>
            {
                // it's worth noting that this event fires on *any* device change system-wide, including non-tablet devices.
                if (!Tablets.Any() && args.Additions.Any())
                {
                    cancellationSource?.Cancel();
                    cancellationSource = new CancellationTokenSource();

                    Task.Run(() => detectAsync(cancellationSource.Token), cancellationSource.Token);
                }
            };
        }