40 for (
unsigned int i = 0; i <
transitions.size(); i++) {
49 for (
unsigned int i = 0; i <
states.size(); i++) {
50 if (
states.at(i)->initial) {
67 statesById.insert(std::pair<int, State*>(state->
id, state));
75 ((
State*)owner)->run();
83 bool initState =
true;
87 bool runState =
false;
92 }
else if (
parent == NULL) {
116 long elapsedTime = (finishTime - startTime) / 1000;
120 usleep(elapsedTime*1000);
131 gettimeofday(&a, NULL);
132 return (a.tv_sec * 1000000 + a.tv_usec)/1000;
136 pthread_join(
thread, NULL);
static void * threadRunner(void *)
State(int id, bool initial, int cycleDuration, State *parent, RunTimeGui *gui)
void addTransition(Transition *transition)
std::vector< State * > states
void addState(State *state)
virtual bool checkCondition()=0
std::map< int, State * > statesById
void emitRunningStateById(int id)
std::vector< Transition * > transitions