Coin Logo http://www.sim.no/
http://www.coin3d.org/

ScXMLStateMachine Class Reference
[State Chart XML Classes]

Manager for processing events and setting states in SCXML structures. More...

#include <Inventor/scxml/ScXMLStateMachine.h>

Inheritance diagram for ScXMLStateMachine:

ScXMLObject SoScXMLStateMachine

List of all members.

Public Member Functions

virtual SoType getTypeId (void) const
virtual void setName (const SbName &name)
const SbNamegetName (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 ScXMLEventgetCurrentEvent (void) const
virtual int getNumActiveStates (void) const
virtual const ScXMLObjectgetActiveState (int idx) const
virtual const ScXMLObjectgetState (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)


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 ( int  idx  )  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.


The documentation for this class was generated from the following files:

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.

Generated for Coin by Doxygen 1.5.6.