/// <summary> /// Configures the state machine. /// </summary> private void ConfigureStateMachine() { _stateMachine = StateMachineFactory.Create(ProcessorStatus.Initializing) .Permit(ProcessorStatus.Initializing, ProcessorStatus.Configured) .Permit(ProcessorStatus.Configured, ProcessorStatus.Started, t => _inputGateway.Start()) .Permit(ProcessorStatus.Started, ProcessorStatus.Stopped, t => _inputGateway.Stop()) .Permit(ProcessorStatus.Stopped, ProcessorStatus.Started, t => _inputGateway.Start()) .Permit(ProcessorStatus.Stopped, ProcessorStatus.Configured); }
/// <summary> /// Called when [start control]. /// </summary> /// <param name="t">The t.</param> private void OnStartControl(TriggerArs t) { _inputGateway.Purge(); _inputGateway.Start(); if (Monitor != null) { Monitor.Start(); } InvokeOnStart(); }
/// <summary> /// Inputs the gateway start. /// </summary> /// <param name="t">The t.</param> private void InputGatewayStart(TriggerArs t) { _inputGateway.Start(); InvokeOnStart(); }