123456789101112131415161718192021222324252627282930313233343536373839 |
- using System;
- using System.Collections.Generic;
- using Wayne.Lib.StateEngine;
- using Wayne.Lib.StateEngine.Generic;
- using WayneChina_IcCardReader_SinoChem.MessageEntity.Incoming;
- namespace SinochemInternetPlusApp.States.ICCardMode
- {
- internal class WaitForCardEject : TimeoutState<FuelingPoint>
- {
- protected override void HandleNonTimeoutEvent(StateEngineEvent stateEngineEvent, ref Transition transition)
- {
- if (stateEngineEvent.Type.Equals(EventType.ReaderStateChanged))
- {
- GenericEvent<CardReaderStateEventArgs> readerEvent = stateEngineEvent as GenericEvent<CardReaderStateEventArgs>;
- if (readerEvent != null && readerEvent.EventArgs != null)
- {
- if (readerEvent.EventArgs.CardReaderState.State == CardReaderState.Idle)
- {
- DebugLog("card ejected");
- readerEvent.Handled = true;
- transition = new Transition(this, TransitionType.Done);
- }
- }
- }
- }
- protected override void Timeout(ref Transition transition)
- {
- transition = new Transition(this, TransitionType.Timeout);
- }
-
-
-
- protected override int TimeoutInterval =>
- TimeoutValues.GetValueInMilliSec(TimeoutValues.FuelingPoint.ICCardMode_WaitForCardEject, 60);
- }
- }
|