Make the FSM_STATE work better with optional loggins set by a define and standardize on using enum class by default.
This commit is contained in:
parent
8df6898d0b
commit
0aeb5b4ceb
8 changed files with 49 additions and 42 deletions
19
builder.hpp
19
builder.hpp
|
@ -19,7 +19,7 @@ struct MatchResult {
|
|||
string message = "";
|
||||
};
|
||||
|
||||
enum BuildState {
|
||||
enum class BuildState {
|
||||
START, WAITING, BUILDING, DONE, FORKING, READING,
|
||||
EXIT, ERROR
|
||||
};
|
||||
|
@ -60,16 +60,17 @@ class Builder : DeadSimpleFSM<BuildState, BuildEvent> {
|
|||
}
|
||||
|
||||
switch(_state) {
|
||||
FSM_STATE(BUILDING, building, ev);
|
||||
FSM_STATE(START, start, ev);
|
||||
FSM_STATE(WAITING, waiting, ev);
|
||||
FSM_STATE(DONE, done, ev);
|
||||
FSM_STATE(FORKING, forking, ev);
|
||||
FSM_STATE(READING, reading, ev);
|
||||
FSM_STATE(EXIT, exit, ev);
|
||||
FSM_STATE(ERROR, exit, ev);
|
||||
FSM_STATE(BuildState, BUILDING, building, ev);
|
||||
FSM_STATE(BuildState, START, start, ev);
|
||||
FSM_STATE(BuildState, WAITING, waiting, ev);
|
||||
FSM_STATE(BuildState, DONE, done, ev);
|
||||
FSM_STATE(BuildState, FORKING, forking, ev);
|
||||
FSM_STATE(BuildState, READING, reading, ev);
|
||||
FSM_STATE(BuildState, EXIT, exit, ev);
|
||||
FSM_STATE(BuildState, ERROR, exit, ev);
|
||||
}
|
||||
} catch(...) {
|
||||
fmt::println("ERROR: unhandled state: {}", int(_state));
|
||||
error(ev);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue