Currently, only one next state is defined, but multiple states could be employed to allow concurrent states within an operating FSM. (Not really a big deal, but of lower priority.)
| Method Summary | |
|
CFSMTransition(CFSMStatePtr source)Void CFSMTransition constructor. |
|
~CFSMTransition()CFSMTransition Deconstructor. |
CFSMTransitionPtr |
addAction(CFSMObject * base,
FSMObjectFunction pObjectFcn,
String name)Add raw void action, that if doesn't exist will be created and added to the end of the action list. |
CFSMTransitionPtr |
addAction(CFSMObject * base,
FSMvoidFunction pVoidFcn,
String name )Add raw fsmobject action, that if doesn't exist will be created and added to the end of the action list. |
CFSMTransitionPtr |
addAction(CFSMActionPtr action)Add action that transition executes at the end of the action list. |
CFSMTransitionPtr |
addCondition(CFSMConditionPtr condition)Add condition that transition executes at the end of the action list. |
bool |
evaluateCondition()Evaluate state condition(s) for this transition. |
CFSMActionPtrVector |
getActions()Get actions that transition executes (in order). |
CFSMConditionPtrVector |
getConditions()Get conditions that transition executes (in order). |
CFSMEventPtr |
getEvent()Get event that triggers transition. |
CFSMStatePtr |
getNextState()Get next state in transition. |
void |
releaseTransition() |
void |
setActions(CFSMActionPtrVector newactions)Set transition to execute new actions. |
void |
setConditions(CFSMConditionPtrVector newconditions)Set transition to execute new conditions. |
void |
setEvent(CFSMEventPtr newevent)Set transition to occur on new event. |
void |
setNextState(CFSMStatePtr newnext)Set transition to change to a new next state. |
| Methods in class CFSMObject |
String diagnostics() String getName() String getType() void setName(String aname)
|
| Methods in class RefCount |
RefCount(void) ~RefCount() static String classInfo() void DecRef() void flagDelete(int i) String getType() size_t howMany() int IncRef()
|
| Method Detail |
CFSMTransition(CFSMStatePtr source)
~CFSMTransition()
CFSMTransitionPtr addAction(CFSMObject * base,
FSMObjectFunction pObjectFcn,
String name)
CFSMTransitionPtr addAction(CFSMObject * base,
FSMvoidFunction pVoidFcn,
String name )
CFSMTransitionPtr addAction(CFSMActionPtr action)
CFSMTransitionPtr addCondition(CFSMConditionPtr condition)
bool evaluateCondition()
CFSMActionPtrVector getActions()
CFSMConditionPtrVector getConditions()
CFSMEventPtr getEvent()
CFSMStatePtr getNextState()
void releaseTransition()
void setActions(CFSMActionPtrVector newactions)
void setConditions(CFSMConditionPtrVector newconditions)
void setEvent(CFSMEventPtr newevent)
void setNextState(CFSMStatePtr newnext)