1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using Wayne.ForecourtControl.Fusion.StatusStateMachine.States;
- using Wayne.Lib.StateEngine;
- using Wayne.Lib.StateEngine.Generic;
- namespace Wayne.ForecourtControl.Fusion.ReadDeviceStatus.States
- {
- [StateDescription(StateDescriptionType.Summary, "Idle state")]
- [EventDescription(EventType.ReadDeviceStatus, BasicTransitionType.Done)]
- [EventDescription(EventType.GetConfiguration, TransitionType.ReadConfiguration)]
- class Idle : State<ReadDeviceStatusController>
- {
- #region Overrides of State
- /// <summary>
- /// Override to receive incoming events. If the event is handled, the
- /// application must set the event.Handled = true.
- /// </summary>
- /// <param name="stateEngineEvent">The event object that should be handled.</param>
- /// <param name="transition">Out parameter that should be set to either the reference to a transition object or null.</param>
- protected override void HandleEvent(StateEngineEvent stateEngineEvent, ref Transition transition)
- {
- base.HandleEvent(stateEngineEvent, ref transition);
- if (stateEngineEvent.Type.Equals(EventType.ReadDeviceStatus))
- {
- stateEngineEvent.Handled = true;
- transition = new Transition(this, BasicTransitionType.Done);
- }
- if (stateEngineEvent.Type.Equals(EventType.GetConfiguration))
- {
- stateEngineEvent.Handled = true;
- Main.Configuration = new ConfigurationSet();
- transition = new Transition(this, TransitionType.ReadConfiguration);
- }
- else
- {
- stateEngineEvent.Handled = true;
- DebugLog("Unhandled event set to handled !");
- }
- }
- #endregion
- }
- }
|