GDCM
2.2.0
|
ULTransitionTable The transition table of all the ULEvents, new ULActions, and ULStates. More...
#include <gdcmULTransitionTable.h>
Public Member Functions | |
ULTransitionTable () | |
void | HandleEvent (Subject *s, ULEvent &inEvent, ULConnection &inConnection, bool &outWaitingForEvent, EEventID &outRaisedEvent) const |
void | PrintTable () const |
ULTransitionTable The transition table of all the ULEvents, new ULActions, and ULStates.
Based roughly on the solutions in player2.cpp in the boost examples and this so question: http://stackoverflow.com/questions/1647631/c-state-machine-design
The transition table is constructed of TableRows. Each row is based on an event, and an event handler in the TransitionTable object takes a given event, and then finds the given row.
Then, given the current state of the connection, determines the appropriate action to take and then the state to transition to next.
gdcm::network::ULTransitionTable::ULTransitionTable | ( | ) |
void gdcm::network::ULTransitionTable::HandleEvent | ( | Subject * | s, |
ULEvent & | inEvent, | ||
ULConnection & | inConnection, | ||
bool & | outWaitingForEvent, | ||
EEventID & | outRaisedEvent | ||
) | const |
void gdcm::network::ULTransitionTable::PrintTable | ( | ) | const |