Example using CardReaderEventProvider to wait for a card service
Concept
Construct a CardReaderEventProvider object.
Register event handlers.
Request a specific card service.
Process the events raised and consume available service objects.
Example using CardReaderEventProvider
C# | ![]() |
---|---|
.. using BasicCard.Framework; namespace ExampleNamespace { public partial class MainForm : Form { private CardReaderEventProvider eventProvider; private ExampleCardService service=null; public MainForm() { InitializeComponent(); eventProvider = new CardReaderEventProvider(this); eventProvider.ServiceEvent += new EventHandler<CardServiceEventArgs>(eventProvider_ServiceEvent); eventProvider.RequestService(typeof(ExampleCardService), false, null); } private void eventProvider_ServiceEvent(object sender, CardServiceEventArgs e) { switch(e.EventType) { case CardServiceEventType.ServiceAvailable: if (null == service) { service = (ExampleCardService)e.CardService; e.ServiceConsumed = true; UpdateFormData(); } break; case CardServiceEventType.ServiceUnavailable: service = null; UpdateFormData(); break; } } private void UpdateFormData() { try { if (null != service) { // Todo: Use service to show data in form } else { // Todo: Service has become unavailble, update form } } catch (Exception ex) { // Todo: Process exceptions here } } } } |