Builder is now using the FSM I wrote. Still not as clean as I like but big improvement.
This commit is contained in:
parent
dcf1a4020d
commit
a7c5de6ac3
4 changed files with 176 additions and 129 deletions
14
fsmtest.cpp
14
fsmtest.cpp
|
@ -14,24 +14,24 @@ enum MyEvent {
|
|||
class MyFSM : DeadSimpleFSM<MyState, MyEvent> {
|
||||
public:
|
||||
void event(MyEvent ev) override {
|
||||
switch(ev) {
|
||||
FSM_T(STARTED, start);
|
||||
FSM_T(PUSH, push);
|
||||
FSM_T(QUIT, quit);
|
||||
switch(_state) {
|
||||
FSM_STATE(START, start, ev);
|
||||
FSM_STATE(RUNNING, push, ev);
|
||||
FSM_STATE(END, quit, ev);
|
||||
}
|
||||
}
|
||||
|
||||
void start() {
|
||||
void start(MyEvent ev) {
|
||||
println("<<< START");
|
||||
state(RUNNING);
|
||||
}
|
||||
|
||||
void push() {
|
||||
void push(MyEvent ev) {
|
||||
println("<<< RUN");
|
||||
state(RUNNING);
|
||||
}
|
||||
|
||||
void quit() {
|
||||
void quit(MyEvent ev) {
|
||||
println("<<< STOP");
|
||||
state(END);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue