.TH "ScXMLStateMachine" 3 "Tue Jun 23 2026 23:48:38" "Version 4.0.10" "Coin" \" -*- nroff -*- .ad l .nh .SH NAME ScXMLStateMachine \- Manager for processing events and setting states in SCXML structures\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits \fBScXMLEventTarget\fP\&. .PP Inherited by \fBSoScXMLStateMachine\fP\&. .SS "Public Member Functions" .in +1c .ti -1c .RI "virtual \fBSoType\fP \fBgetTypeId\fP (void) const" .br .RI "Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and "downward" casting\&. " .ti -1c .RI "virtual void \fBsetName\fP (const \fBSbName\fP &name)" .br .ti -1c .RI "const \fBSbName\fP & \fBgetName\fP (void) const" .br .ti -1c .RI "virtual void \fBsetDescription\fP (\fBScXMLDocument\fP *document)" .br .ti -1c .RI "const \fBScXMLDocument\fP * \fBgetDescription\fP (void) const" .br .ti -1c .RI "virtual void \fBsetSessionId\fP (const \fBSbName\fP &sessionid)" .br .ti -1c .RI "const \fBSbName\fP & \fBgetSessionId\fP (void) const" .br .ti -1c .RI "virtual void \fBinitialize\fP (void)" .br .ti -1c .RI "virtual SbBool \fBisActive\fP (void) const" .br .ti -1c .RI "virtual SbBool \fBisFinished\fP (void) const" .br .ti -1c .RI "virtual int \fBgetNumActiveStates\fP (void) const" .br .ti -1c .RI "virtual const \fBScXMLElt\fP * \fBgetActiveState\fP (int idx) const" .br .ti -1c .RI "virtual void \fBaddDeleteCallback\fP (ScXMLStateMachineDeleteCB *callback, void *userdata)" .br .ti -1c .RI "virtual void \fBremoveDeleteCallback\fP (ScXMLStateMachineDeleteCB *callback, void *userdata)" .br .ti -1c .RI "virtual void \fBaddStateChangeCallback\fP (ScXMLStateChangeCB *callback, void *userdata)" .br .ti -1c .RI "virtual void \fBremoveStateChangeCallback\fP (ScXMLStateChangeCB *callback, void *userdata)" .br .ti -1c .RI "virtual void \fBsetVariable\fP (const char *name, const char *value)" .br .ti -1c .RI "virtual const char * \fBgetVariable\fP (const char *name) const" .br .ti -1c .RI "virtual void \fBsetLogLevel\fP (int loglevel)" .br .ti -1c .RI "int \fBgetLogLevel\fP (void) const" .br .ti -1c .RI "virtual void \fBsetEvaluator\fP (\fBScXMLEvaluator\fP *evaluator)" .br .ti -1c .RI "\fBScXMLEvaluator\fP * \fBgetEvaluator\fP (void) const" .br .ti -1c .RI "SbBool \fBisModuleEnabled\fP (const char *modulename) const" .br .ti -1c .RI "int \fBgetNumEnabledModules\fP (void) const" .br .ti -1c .RI "const char * \fBgetEnabledModuleName\fP (int idx) const" .br .ti -1c .RI "void \fBsetEnabledModulesList\fP (const \fBSbList\fP< const char * > &modulenames)" .br .in -1c Public Member Functions inherited from \fBScXMLEventTarget\fP .in +1c .ti -1c .RI "virtual void \fBsetEventTargetType\fP (const char *targettype)" .br .ti -1c .RI "const char * \fBgetEventTargetType\fP (void) const" .br .ti -1c .RI "virtual void \fBsetEventTargetName\fP (const char *targetname)" .br .ti -1c .RI "const char * \fBgetEventTargetName\fP (void) const" .br .ti -1c .RI "virtual const \fBScXMLEvent\fP * \fBgetCurrentEvent\fP (void) const" .br .ti -1c .RI "virtual void \fBqueueEvent\fP (const \fBScXMLEvent\fP *event)" .br .ti -1c .RI "virtual void \fBqueueEvent\fP (const \fBSbName\fP &eventid)" .br .ti -1c .RI "virtual SbBool \fBprocessEventQueue\fP (void)" .br .ti -1c .RI "virtual SbBool \fBsendExternalEvent\fP (const \fBScXMLSendElt\fP *sendelt)" .br .ti -1c .RI "virtual SbBool \fBsendInternalEvent\fP (const \fBScXMLEventElt\fP *sendelt)" .br .ti -1c .RI "virtual void \fBqueueInternalEvent\fP (const \fBScXMLEvent\fP *event)" .br .ti -1c .RI "virtual void \fBqueueInternalEvent\fP (const \fBSbName\fP &eventid)" .br .in -1c Public Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "SbBool \fBisOfType\fP (\fBSoType\fP type) const" .br .RI "Returns \fRTRUE\fP if the type of this object is either of the same type or inherited from \fItype\fP\&. " .in -1c .SS "Static Public Member Functions" .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void * \fBcreateInstance\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .ti -1c .RI "static \fBScXMLStateMachine\fP * \fBgetStateMachineForSessionId\fP (const \fBSbName\fP &sessionid)" .br .in -1c Static Public Member Functions inherited from \fBScXMLEventTarget\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .ti -1c .RI "static void \fBinitClass\fP (void)" .br .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .in -1c Static Public Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "static \fBSoType\fP \fBgetClassTypeId\fP (void)" .br .RI "This static method returns the \fBSoType\fP object associated with objects of this class\&. " .ti -1c .RI "static void \fBinitClass\fP (void)" .br .RI "Sets up initialization for data common to all instances of this class, like submitting necessary information to the Coin type system\&. " .ti -1c .RI "static void \fBcleanClass\fP (void)" .br .RI "Does the opposite of initClass, deallocates any class specific resources and resets the class to an uninitialized state with respect to the Coin type system\&. " .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "virtual SbBool \fBprocessOneEvent\fP (const \fBScXMLEvent\fP *event)" .br .in -1c Protected Member Functions inherited from \fBScXMLEventTarget\fP .in +1c .ti -1c .RI "virtual void \fBsetCurrentEvent\fP (const \fBScXMLEvent\fP *event)" .br .ti -1c .RI "virtual const \fBScXMLEvent\fP * \fBgetNextEvent\fP (void)" .br .ti -1c .RI "virtual const \fBScXMLEvent\fP * \fBgetNextInternalEvent\fP (void)" .br .ti -1c .RI "virtual const \fBScXMLEvent\fP * \fBgetNextExternalEvent\fP (void)" .br .in -1c .SS "Additional Inherited Members" Static Protected Member Functions inherited from \fBScXMLEventTarget\fP .in +1c .ti -1c .RI "static void \fBregisterEventTarget\fP (\fBScXMLEventTarget\fP *target, const char *sessionid=NULL)" .br .ti -1c .RI "static void \fBunregisterEventTarget\fP (\fBScXMLEventTarget\fP *target, const char *sessionid=NULL)" .br .ti -1c .RI "static \fBScXMLEventTarget\fP * \fBgetEventTarget\fP (const char *targettype, const char *targetname, const char *sessionid=NULL)" .br .in -1c Static Protected Member Functions inherited from \fBScXMLObject\fP .in +1c .ti -1c .RI "static void \fBregisterClassType\fP (const char *xmlns, const char *classname, \fBSoType\fP type)" .br .ti -1c .RI "static void \fBregisterInvokeClassType\fP (const char *xmlns, const char *targettype, const char *source, \fBSoType\fP type)" .br .in -1c Protected Attributes inherited from \fBScXMLEventTarget\fP .in +1c .ti -1c .RI "char * \fBtargetname\fP" .br .ti -1c .RI "char * \fBtargettype\fP" .br .ti -1c .RI "const \fBScXMLEvent\fP * \fBcurrentevent\fP" .br .ti -1c .RI "SbBool \fBisprocessingqueue\fP" .br .in -1c .SH "Detailed Description" .PP Manager for processing events and setting states in SCXML structures\&. .PP \fBSince\fP .RS 4 Coin 3\&.0 .RE .PP .SH "Member Function Documentation" .PP .SS "\fBSoType\fP ScXMLStateMachine::getTypeId (void ) const\fR [virtual]\fP" .PP Returns the type identification of an object derived from a class inheriting \fBSoBase\fP\&. This is used for runtime type checking and "downward" casting\&. .PP \fBSee also\fP .RS 4 \fBSoBase::getTypeId() const\fP .RE .PP .PP Implements \fBScXMLEventTarget\fP\&. .PP Reimplemented in \fBSoScXMLStateMachine\fP\&. .SS "void ScXMLStateMachine::setSessionId (const \fBSbName\fP & sessionidarg)\fR [virtual]\fP" This sets the session identifier for the state machine\&. Using this is optional, since state machines are already assigned unique session ids at construction-time\&. .SS "const \fBSbName\fP & ScXMLStateMachine::getSessionId (void ) const" Returns the session identifier string for the state machine\&. .SS "void ScXMLStateMachine::initialize (void )\fR [virtual]\fP" Fire up the engine\&. .SS "SbBool ScXMLStateMachine::isActive (void ) const\fR [virtual]\fP" Returns whether the state machine is active or not\&. .SS "SbBool ScXMLStateMachine::isFinished (void ) const\fR [virtual]\fP" Returns whether the state machine has run to completion or not\&. .SS "int ScXMLStateMachine::getNumActiveStates (void ) const\fR [virtual]\fP" This method returns the current event during event processing, and \fRNULL\fP when not processing events\&. .PP Event processing is in special cases done with \fRNULL\fP as the current event, as for instance during state machine initialization\&. .PP Returns the number of active states in the state machine\&. This number should currently be 1, but in the future, when is implemented, it can be greater\&. .SS "const \fBScXMLElt\fP * ScXMLStateMachine::getActiveState (int idx) const\fR [virtual]\fP" Returns the Nth active state\&. .SS "void ScXMLStateMachine::addDeleteCallback (ScXMLStateMachineDeleteCB * cb, void * userdata)\fR [virtual]\fP" Registers a callback to be called when the state machine object is being deleted\&. .SS "void ScXMLStateMachine::removeDeleteCallback (ScXMLStateMachineDeleteCB * cb, void * userdata)\fR [virtual]\fP" Unregisters a callback to be called when the state machine object is being deleted\&. .SS "void ScXMLStateMachine::addStateChangeCallback (ScXMLStateChangeCB * callback, void * userdata)\fR [virtual]\fP" Registers a callback to be called when the state machine exits or enters a state\&. .SS "void ScXMLStateMachine::removeStateChangeCallback (ScXMLStateChangeCB * callback, void * userdata)\fR [virtual]\fP" Unregisters a callback to be called when the state machine exits or enters a state\&. .SS "const char * ScXMLStateMachine::getVariable (const char * name) const\fR [virtual]\fP" .PP Reimplemented in \fBSoScXMLStateMachine\fP\&. .SS "SbBool ScXMLStateMachine::processOneEvent (const \fBScXMLEvent\fP * event)\fR [protected]\fP, \fR [virtual]\fP" Processes one event\&. This is an internal inner event-loop utility function\&. .PP Reimplemented from \fBScXMLEventTarget\fP\&. .SH "Author" .PP Generated automatically by Doxygen for Coin from the source code\&.