ScXMLStateMachine(3) Manager for processing events and setting states in SCXML structures.

SYNOPSIS


#include <Inventor/scxml/ScXMLStateMachine.h>

Inherits ScXMLObject.

Inherited by SoScXMLStateMachine.

Public Member Functions


virtual SoType getTypeId (void) const

virtual void setName (const SbName &name)

const SbName & getName (void) const

virtual void setDescription (ScXMLDocument *document)

const ScXMLDocument * getDescription (void) const

virtual void initialize (void)

virtual void queueEvent (const ScXMLEvent *event, SbBool dealloc=FALSE)

virtual void queueEvent (const SbName &eventid)

virtual SbBool processEventQueue (void)

virtual SbBool isActive (void) const

virtual SbBool isFinished (void) const

virtual const ScXMLEvent * getCurrentEvent (void) const

virtual int getNumActiveStates (void) const

virtual const ScXMLObject * getActiveState (int idx) const

virtual const ScXMLObject * getState (const char *identifier) const

virtual void addDeleteCallback (ScXMLStateMachineDeleteCB *callback, void *userdata)

virtual void removeDeleteCallback (ScXMLStateMachineDeleteCB *callback, void *userdata)

virtual void addStateChangeCallback (ScXMLStateChangeCB *callback, void *userdata)

virtual void removeStateChangeCallback (ScXMLStateChangeCB *callback, void *userdata)

Static Public Member Functions


static SoType getClassTypeId (void)

static void * createInstance (void)

static void initClass (void)

Protected Member Functions


virtual SbBool processOneEvent (const ScXMLEvent *event)

virtual void setCurrentEvent (const ScXMLEvent *event)

Additional Inherited Members

Detailed Description

Manager for processing events and setting states in SCXML structures.

Since:

Coin 3.0

Member Function Documentation

void ScXMLStateMachine::initialize (void) [virtual]

Fire up the engine.

SbBool ScXMLStateMachine::processEventQueue (void) [virtual]

Recursive calling of this function will be handled by letting the recursive call return immediately, while the first call will continue processing the event queue until it is empty.

SbBool ScXMLStateMachine::isActive (void) const [virtual]

Returns whether the state machine is active or not.

SbBool ScXMLStateMachine::isFinished (void) const [virtual]

Returns whether the state machine has run to completion or not.

const ScXMLEvent * ScXMLStateMachine::getCurrentEvent (void) const [virtual]

This method returns the current event during event processing, and NULL when not processing events.

Event processing is in special cases done with NULL as the current event, as for instance during state machine initialization.

int ScXMLStateMachine::getNumActiveStates (void) const [virtual]

Returns the number of active states in the state machine. This number should currently be 1, but in the future, when <parallel> is implemented, it can be more.

const ScXMLObject * ScXMLStateMachine::getActiveState (intidx) const [virtual]

Returns the Nth active state.

const ScXMLObject * ScXMLStateMachine::getState (const char *identifier) const [virtual]

Returns the state machine state object with the given identifier, or NULL if no object is found that has the given identifier.

void ScXMLStateMachine::addDeleteCallback (ScXMLStateMachineDeleteCB *cb, void *userdata) [virtual]

Registers a callback to be called when the state machine object is being deleted.

void ScXMLStateMachine::removeDeleteCallback (ScXMLStateMachineDeleteCB *cb, void *userdata) [virtual]

Unregisters a callback to be called when the state machine object is being deleted.

void ScXMLStateMachine::addStateChangeCallback (ScXMLStateChangeCB *callback, void *userdata) [virtual]

Registers a callback to be called when the state machine exits or enters a state.

void ScXMLStateMachine::removeStateChangeCallback (ScXMLStateChangeCB *callback, void *userdata) [virtual]

Unregisters a callback to be called when the state machine exits or enters a state.

SbBool ScXMLStateMachine::processOneEvent (const ScXMLEvent *event) [protected], [virtual]

Processes one event. This is an internal inner event-loop utility function.

void ScXMLStateMachine::setCurrentEvent (const ScXMLEvent *event) [protected], [virtual]

Sets a pointer for the event that is 'current' during event processing. This is an internal method, and updating the current event is handled automatically.

Author

Generated automatically by Doxygen for Coin from the source code.