Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="aSender"></param>
        /// <param name="aEventArgs"></param>

        public void TerminalLostEvent(object aSender, CardTerminalEventArgs aEventArgs)
        {
            Debug.WriteLine(aSender);
            if (base.InvokeRequired)
            {
                object[] vParms = new object[2];
                vParms[0] = aSender;
                vParms[1] = aEventArgs;
                base.BeginInvoke(new CardTerminalEventHandler(TerminalLostEvent), vParms);
            }
            else
            {
                if (CardTerminalManager.Singleton.StartedUp)
                {
                    DisplayText("Lost reader: " + aEventArgs.Slot.CardTerminalName);

                    // CardTerminalManager.Singleton.Shutdown();
                    // update number of readers
                    CardTerminalManager.Singleton.DelistCardTerminal(aEventArgs.Slot.CardTerminal); // remove from monitored list of readers

                    if (CardTerminalManager.Singleton.SlotCount == 0)
                    {
                        this.m_aPromptLabel.Text = "Connect reader ...";
                        // start looking for reader insertion
                        // done automatically by the singleton. The singleton raises a "new reader" event if it
                        // finds a new reader.
                    }
                    DisplayNumberOfAvailableReaders();
                }
            }
        }
Exemple #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="aSender"></param>
 /// <param name="aEventArgs"></param>
 public void InsertedEvent(object aSender, CardTerminalEventArgs aEventArgs)
 {
     if (base.InvokeRequired)
     {
         object[] vParms = new object[2];
         vParms[0] = aSender;
         vParms[1] = aEventArgs;
         base.BeginInvoke(new CardTerminalEventHandler(InsertedEvent),
                          vParms);
     }
     else
     {
         // 01APR2011
         // We catch any exceptions during card I/O. This is particularly important
         // for fuzzy communication conditions. Example: a contactless card that
         // is not in the field throughout the whole I/O might cause an error within
         // the unmanaged Windows API code. SmartCardAPI catches this in a general
         // exception.
         try
         {
             this.AnalyzeCard(aEventArgs.Slot);
         }
         catch
         {
             //DisplayText("last read failed");
         }
     }
 }
Exemple #3
0
 private void terminalManager_CardRemovedEvent(object aSender, CardTerminalEventArgs aEventArgs)
 {
     if (aEventArgs.TerminalName == _currentTerminalName)
     {
         ResetData();
         //SetText(labelStatus, "Wyjęto kartę");
         _terminalManager.StopPolling();
     }
 }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="aSender"></param>
        /// <param name="aEventArgs"></param>

        public void RemovedEvent(object aSender, CardTerminalEventArgs aEventArgs)
        {
            Debug.WriteLine(aSender); //29MAR2011
            if (base.InvokeRequired)
            {
                object[] vParms = new object[2];
                vParms[0] = aSender;
                vParms[1] = aEventArgs;
                base.BeginInvoke(new CardTerminalEventHandler(RemovedEvent),
                                 vParms);
            }
            else
            {
                this.PromptAnyCard(aEventArgs.Slot.CardTerminalName);
            }
        }
Exemple #5
0
        /// <summary>
        /// We add the reader to be monitored.
        /// </summary>
        /// <param name="aSender"></param>
        /// <param name="aEventArgs"></param>

        public void TerminalFoundEvent(object aSender, CardTerminalEventArgs aEventArgs)
        {
            Debug.WriteLine(aSender);
            if (base.InvokeRequired)
            {
                object[] vParms = new object[2];
                vParms[0] = aSender;
                vParms[1] = aEventArgs;
                base.BeginInvoke(new CardTerminalEventHandler(TerminalFoundEvent), vParms);
            }
            else
            {
                if (CardTerminalManager.Singleton.StartedUp)
                {
                    DisplayNumberOfAvailableReaders();
                    DisplayText("Found reader: " + aEventArgs.Slot.CardTerminalName);
                    this.m_aPromptLabel.Text = "Insert card ...";
                }
            }
        }