Exemplo n.º 1
0
 /// <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));
        }
Exemplo n.º 3
0
        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();
            }
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 5
0
        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();
            }
        }