Go to the source code of this file.
Define Documentation
Definition at line 89 of file FSM.h.
Definition at line 90 of file FSM.h.
Value:
Definition at line 115 of file FSM.h.
Value:DMDEBUG( string outname("STT("+fsm_name+":"+call_ctx.str()+"/"+#X+")");cout<<outname<<"{ "; )\
std::string state_name(#X);\
decision_making::CallContext state_call_ctx(call_ctx, state_name);\
ON_FSM_STATE_START(state_name, call_ctx, *events_queue);
Definition at line 109 of file FSM.h.
Definition at line 16 of file FSM.h.
Value:
Definition at line 82 of file FSM.h.
Value:bool fsm_stop = false; \
while(not fsm_stop and not events_queue->isTerminated() DM_SYSTEM_STOP){ \
switch(state){ { {
Definition at line 98 of file FSM.h.
Value:__DEFSUBEVENTQUEUE(NAME) __DEFSUBCTEXT(NAME) \
SUBMACHINESTHREADS.add(events_queu##NAME); \
SUBMACHINESTHREADS.add(call_ctx##NAME); \
decision_making::EventQueue& __t_events_queu##NAME = __SHR_TO_REF(events_queu##NAME);\
decision_making::CallContext& __t_call_ctx##NAME = __SHR_TO_REF(call_ctx##NAME);\
__BT_CREATE_BT_CALL_FUNCTION(NAME, __t_call_ctx##NAME, __t_events_queu##NAME)\
SUBMACHINESTHREADS.add(\
__CALL_BT_FUNCTION(NAME, boost::ref(__t_call_ctx##NAME), boost::ref(__t_events_queu##NAME)) \
);
Definition at line 175 of file FSM.h.
Value:__DEFSUBEVENTQUEUE(NAME) \
SUBMACHINESTHREADS.add(events_queu##NAME); \
SUBMACHINESTHREADS.add(\
new boost::thread(boost::bind(&Fsm##NAME, &state_call_ctx, events_queu##NAME.get()) ));
Definition at line 168 of file FSM.h.
Value:__DEFSUBEVENTQUEUE(TASK) __DEFSUBCTEXT(TASK) \
SUBMACHINESTHREADS.add(events_queu##TASK); \
SUBMACHINESTHREADS.add(call_ctx##TASK); \
SUBMACHINESTHREADS.add(\
new boost::thread( CALL_REMOTE(TASK, boost::ref(__SHR_TO_REF(call_ctx##TASK)), boost::ref(__SHR_TO_REF(events_queu##TASK))) ));
Definition at line 161 of file FSM.h.
Value:}}}} \
DMDEBUG( cout<<" FSM("<<fsm_name<<":FINISH) "; ) \
ON_FSM_END(fsm_name, call_ctx, *events_queue, fsm_result);\
return fsm_result;
Definition at line 103 of file FSM.h.
Value:
Definition at line 78 of file FSM.h.
Value:
Definition at line 133 of file FSM.h.
Value:
Definition at line 143 of file FSM.h.
Value:
Definition at line 136 of file FSM.h.
Value:class __ON_STATE_EXIT_STRUCT:public decision_making::ScoppedThreadsOnExit{public:\
__ON_STATE_EXIT_STRUCT(CallContext& state_call_ctx, EventQueue* events_queue):decision_making::ScoppedThreadsOnExit(state_call_ctx, events_queue){}\
virtual void exit(){
Definition at line 186 of file FSM.h.
Value:
Definition at line 191 of file FSM.h.
Value:
Definition at line 149 of file FSM.h.
Value:
Definition at line 91 of file FSM.h.
Value:}}}break; \
case X: { \
decision_making::ScoppedThreads SUBMACHINESTHREADS; \
__STARTOFSTATE(X) __ENDOFSTATE
Definition at line 127 of file FSM.h.
Definition at line 87 of file FSM.h.
Value:fsm_stop=true; \
FSM_RAISE(EVENT); \
fsm_result = RESULT; \
break;
Definition at line 199 of file FSM.h.