| http://www.sim.no/ http://www.coin3d.org/

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
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:

## 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)
Public Member Functions inherited from ScXMLObject
SbBool | isOfType (SoType type) const
void | setXMLAttribute (const char *attribute, const char *value)
const char * | getXMLAttribute (const char *attribute) const
virtual SbBool | handleXMLAttributes (void)
virtual void | setContainer (ScXMLObject *container)
ScXMLObject * | getContainer (void) const
SbBool | isContainedIn (const ScXMLObject *object) const

## Static Public Member Functions

static SoType | getClassTypeId (void)
static void * | createInstance (void)
static void | initClass (void)
Static Public Member Functions inherited from ScXMLObject
static SoType | getClassTypeId (void)
static void | initClass (void)

## Protected Member Functions

virtual SbBool | processOneEvent (const ScXMLEvent *event)
virtual void | setCurrentEvent (const ScXMLEvent *event)

## Additional Inherited Members

Static Protected Member Functions inherited from ScXMLObject
static void | registerClassType (const char *xmlns, const char *classname, SoType type)
static void | registerInvokeClassType (const char *xmlns, const char *targettype, const char *source, SoType type)

## Detailed Description

Manager for processing events and setting states in SCXML structures.

Since
  Coin 3.0

## Member Function Documentation

## ◆ initialize()

void ScXMLStateMachine::initialize | ( | void |  | ) |

virtual

Fire up the engine.

## ◆ processEventQueue()

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.

## ◆ isActive()

SbBool ScXMLStateMachine::isActive | ( | void |  | ) | const

virtual

Returns whether the state machine is active or not.

## ◆ isFinished()

SbBool ScXMLStateMachine::isFinished | ( | void |  | ) | const

virtual

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

## ◆ getCurrentEvent()

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.

## ◆ getNumActiveStates()

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.

## ◆ getActiveState()

const ScXMLObject * ScXMLStateMachine::getActiveState | ( | int | idx | ) | const

virtual

Returns the Nth active state.

## ◆ getState()

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.

## ◆ addDeleteCallback()

void ScXMLStateMachine::addDeleteCallback | ( | ScXMLStateMachineDeleteCB * | cb,
|  | void * | userdata
| ) |  |

virtual

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

## ◆ removeDeleteCallback()

void ScXMLStateMachine::removeDeleteCallback | ( | ScXMLStateMachineDeleteCB * | cb,
|  | void * | userdata
| ) |  |

virtual

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

## ◆ addStateChangeCallback()

void ScXMLStateMachine::addStateChangeCallback | ( | ScXMLStateChangeCB * | callback,
|  | void * | userdata
| ) |  |

virtual

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

## ◆ removeStateChangeCallback()

void ScXMLStateMachine::removeStateChangeCallback | ( | ScXMLStateChangeCB * | callback,
|  | void * | userdata
| ) |  |

virtual

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

## ◆ processOneEvent()

SbBool ScXMLStateMachine::processOneEvent | ( | const ScXMLEvent * | event | ) |

protectedvirtual

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

## ◆ setCurrentEvent()

void ScXMLStateMachine::setCurrentEvent | ( | const ScXMLEvent * | event | ) |

protectedvirtual

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:

- ScXMLStateMachine.h
- ScXMLStateMachine.cpp

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