Go to the documentation of this file.
27 #ifndef SCXML4CPP_EXECUTOR_H
28 #define SCXML4CPP_EXECUTOR_H
31 #error This is a C++ include file and cannot be used from plain C
34 #ifndef SCXML4CPP_STATECOMPARATOR_H
35 #include "scxml4cpp/StateComparator.h"
38 #ifndef SCXML4CPP_EVENTQUEUE_H
39 #include "scxml4cpp/EventQueue.h"
42 #ifndef SCXML4CPP_HELPER_H
43 #include "scxml4cpp/Helper.h"
68 std::string
formatStatus(
const bool usefullyqualified =
false);
71 void printStatus(
const bool usefullyqualified =
false);
102 std::set<State*> mCurrentStatus;
103 std::set<State*> mPreviousStatus;
104 std::set<State*> mStatesToInvoke;
105 std::queue<Event*> mInternalEvents;
113 std::list<EventListener*> mEventListeners;
114 std::list<StatusListener*> mStatusListeners;
117 void processInternalEvents();
118 void exitInterpreter();
119 std::list<Transition*> selectEventlessTransitions();
120 std::list<Transition*> selectTransitions(
Event* e);
121 void microstep(std::list<Transition*>& enabledTransitions);
122 void exitStates(std::list<Transition*>& enabledTransitions);
123 void executeTransitionContent(std::list<Transition*>& enabledTransitions);
124 void enterStates(std::list<Transition*>& enabledTransitions);
125 void addStatesToEnter(
State* s,
State* root, std::list<State*>& statesToEnter,
126 std::list<State*>& statesForDefaultEntry);
128 void notifyEventListeners(
Event* e);
129 void notifyStatusListeners(std::set<State*>& status);
137 #endif // SCXML4CPP_EXECUTOR_H
void start()
Definition: Executor.cpp:260
void addStatusListener(StatusListener *statusListener)
Definition: Executor.cpp:104
void removeAllEventListener()
Definition: Executor.cpp:99
void removeAllStatusListener()
Definition: Executor.cpp:120
@ REJECT
Definition: Executor.h:63
std::set< State * > getStatus()
Definition: Executor.cpp:140
Definition: testCoroActivity.cpp:16
Definition: Executor.h:61
Definition: StateMachine.h:45
void printStatus(const bool usefullyqualified=false)
Definition: Executor.cpp:145
void setContext(Context *)
Definition: Executor.cpp:67
void run()
Definition: Executor.cpp:250
EventHandlingPolicy getEventHandlingPolicy()
Definition: Executor.cpp:78
void setEventHandlingPolicy(const EventHandlingPolicy policy)
Definition: Executor.cpp:73
Executor(StateMachine &, Context *, EventQueue &)
Definition: Executor.cpp:52
@ SILENT
Definition: Executor.h:63
Definition: StateComparator.h:40
void removeStatusListener(StatusListener *statusListener)
Definition: Executor.cpp:112
void processEvent()
Definition: Executor.cpp:314
@ DEFFERRED
Definition: Executor.h:63
std::string formatModel()
Definition: Executor.cpp:135
Definition: EventListener.h:40
void removeEventListener(EventListener *eventListener)
Definition: Executor.cpp:91
EventHandlingPolicy
Definition: Executor.h:63
void postEvent(Event *e)
Definition: Executor.cpp:301
void stopSM()
Definition: Executor.cpp:283
Definition: StatusListener.h:41
void stop()
Definition: Executor.cpp:267
bool isFinal()
Definition: Executor.cpp:296
bool isRunning()
Definition: Executor.cpp:291
~Executor()
Definition: Executor.cpp:65
void addEventListener(EventListener *eventListener)
Definition: Executor.cpp:83
std::string formatStatus(const bool usefullyqualified=false)
Definition: Executor.cpp:130
Definition: EventQueue.h:44
void startSM()
Definition: Executor.cpp:150