public TelnetFSM(FSMConfiguration fsmConfiguration) { #region Sample //builder.In(States.OnFloor) // .ExecuteOnEntry(this.AnnounceFloor) // .ExecuteOnExit(Beep) // .ExecuteOnExit(Beep) // just beep a second time // .On(Events.CloseDoor).Goto(States.DoorClosed) // .On(Events.OpenDoor).Goto(States.DoorOpen) // .On(Events.GoUp) // .If(CheckOverload).Goto(States.MovingUp) // .Otherwise().Execute(this.AnnounceOverload) // .On(Events.GoDown) // .If(CheckOverload).Goto(States.MovingDown) // .Otherwise().Execute(this.AnnounceOverload); //builder.In(States.Moving) // .On(Events.Stop).Goto(States.OnFloor); //proxyRunMachine.DefineHierarchyOn(States.WaitConncet); //fSMData.elevator.AddExtension(new Appccelerate.Log4Net.StateMachineLogExtension<States, Events>("fSMData.elevator")); #endregion startFSM(fsmConfiguration); connected(); }
private void startFSM(FSMConfiguration fsmConfiguration) { mainFSMConfiguration = fsmConfiguration; fSMData.tcaTSLPath = fsmConfiguration.tslPath; fSMData.comPortName = fsmConfiguration.defaultComPortName; fSMData.ruSerialPort = new RuSerialPort(); fSMData.tCACommand = new TCAControl.TCACommandWarpper(fSMData.tcaTSLPath); proxyRunMachine = new StateMachineDefinitionBuilder <States, Events>(); proxyRunMachine.WithInitialState(States.Connncted); proxyRunMachine.In(States.Connncted).On(Events.CT11Command).Goto(States.CT11Mode).Execute(ct11Mode); proxyRunMachine.In(States.Connncted).On(Events.RuCommand).Goto(States.RuMode).Execute(ruMode); proxyRunMachine.In(States.Connncted).On(Events.TCAIcolishCommand).Goto(States.TCAIcolishMode).Execute(tCAIcolishMode); proxyRunMachine.In(States.TCAIcolishMode).On(Events.GoBack).Goto(States.Connncted).Execute(connected); proxyRunMachine.In(States.CT11Mode).On(Events.RuCommand).Goto(States.RuMode).Execute(ruMode); proxyRunMachine.In(States.CT11Mode).On(Events.GoBack).Goto(States.Connncted).Execute(connected); proxyRunMachine.In(States.RuMode).On(Events.CT11Command).Goto(States.CT11Mode).Execute(ct11Mode); proxyRunMachine.In(States.RuMode).On(Events.GoBack).Goto(States.Connncted).Execute(connected); var definition = proxyRunMachine.Build(); fSMData.elevator = definition.CreateActiveStateMachine(); fSMData.elevator.Start(); //Action must Instantiate after FSM member Instantiate connectedAction = new ConnectedAction(ref fSMData); ruModeAction = new RuModeAction(ref fSMData); ct11ModeAction = new CT11ModeAction(ref fSMData); tCAIcolishAction = new TCAIcolishAction(ref fSMData); }
public TelnetServer(FSMConfiguration fsmConfiguration) { _fsmConfiguration = fsmConfiguration; baseActionDic.Add("", sendPromt); baseActionDic.Add("help", printHelp); baseActionDic.Add("Exit", sessionClose); startServer(_fsmConfiguration.serverPort); }
public void restartFSM(FSMConfiguration fsmConfiguration) { stopFSM(); startFSM(fsmConfiguration); }
public void restartSession(FSMConfiguration fsmConfiguration) { telnetFSM.restartFSM(fsmConfiguration); }
public ProxyUserSession(FSMConfiguration fsmConfiguration) { telnetFSM = new TelnetFSM(fsmConfiguration); }
public void updateFSMConfiguration(FSMConfiguration fsmConfiguration) { _fsmConfiguration = fsmConfiguration; }