/// <summary> /// /// </summary> protected void EnableDevicesMonitor() { deviceMonitor = DeviceMonitorFactory.Instance.Create(SCardScope.System); deviceMonitor.Initialized += OnDevicesInitialized; deviceMonitor.StatusChanged += OnDevicesStatusChanged; deviceMonitor.MonitorException += OnDevicesMonitorException; deviceMonitor.Start(); }
protected override void BecauseOf() { _sut.Start(); // Give the monitor thread 5 seconds (until we fail this test) _getStatusChangeCall.WaitOne(TimeSpan.FromSeconds(5)); Thread.Sleep(TimeSpan.FromMilliseconds(100)); }
static void Main(string[] args) { Console.WriteLine("m = Start monitor"); Console.WriteLine("e = Start monitor with exception"); Console.WriteLine("s = Stop current monitor"); Console.WriteLine("q = Quit program"); ConsoleKeyInfo key = default(ConsoleKeyInfo); while (key.KeyChar != 'q') { key = Console.ReadKey(); if (key.KeyChar == 'm') { if (monitor == null || currentStatus == MonitorStatus.STOPPED) { Console.WriteLine("Starting monitor with refresh interval of 2 seconds"); monitor = new TimerMonitor(); monitor.DataReceived += new EventHandler<DataReceivedEventArgs<DateTime>>(monitor_DataReceived); monitor.MonitorStatusChanged += new EventHandler<MonitorStatusEventArgs>(monitor_MonitorStatusChanged); monitor.Start(2000); } } if (key.KeyChar == 'e') { if (monitor == null || currentStatus == MonitorStatus.STOPPED) { Console.WriteLine("Starting monitor with exception occuring on the 20th second"); monitor = new TimerMonitorWithException(); monitor.MonitorStatusChanged += new EventHandler<MonitorStatusEventArgs>(monitor_MonitorStatusChanged); monitor.DataReceived += new EventHandler<DataReceivedEventArgs<DateTime>>(monitor_DataReceived); monitor.Start(20); } } if (key.KeyChar == 's') { if (monitor != null && currentStatus == MonitorStatus.STARTED) { monitor.Stop(); } } } if (monitor != null && currentStatus == MonitorStatus.STARTED) { monitor.Stop(); monitor.Dispose(); } }
public Pcsc() { using (var context = ContextFactory.Instance.Establish(SCardScope.System)) { var readers = context.GetReaders(); Debug.WriteLine($"NUM READERS: {readers.Count()}"); foreach (var reader in readers) { Debug.WriteLine($"READER: {reader}"); } UpdateReaders(readers.ToList()); } _readersMonitor = DeviceMonitorFactory.Instance.Create(SCardScope.System); _readersMonitor.StatusChanged += OnReadersStatusChanged; _readersMonitor.Start(); }
static void Main(string[] args) { Console.WriteLine("m = Start monitor"); Console.WriteLine("s = Stop current monitor"); Console.WriteLine("q = Quit program"); ConsoleKeyInfo key = default(ConsoleKeyInfo); while (key.KeyChar != 'q') { key = Console.ReadKey(); if (key.KeyChar == 'm') { if (monitor == null || currentStatus == MonitorStatus.STOPPED) { Console.WriteLine("Starting monitor"); monitor = new TimerMonitor(); monitor.DataReceived += new EventHandler<DataReceivedEventArgs<DateTime>>(monitor_DataReceived); monitor.MonitorStatusChanged += new EventHandler<MonitorStatusEventArgs>(monitor_MonitorStatusChanged); monitor.Start(); } } if (key.KeyChar == 's') { if (monitor != null && currentStatus == MonitorStatus.STARTED) { monitor.Stop(); } } } if (monitor != null && currentStatus == MonitorStatus.STARTED) { monitor.Stop(); monitor.Dispose(); } }