1 #ifndef COIN_SCXMLSTATEMACHINE_H
2 #define COIN_SCXMLSTATEMACHINE_H
27 #include <Inventor/scxml/ScXMLObject.h>
29 #include <Inventor/SbName.h>
30 #include <Inventor/tools/SbPimplPtr.h>
36 typedef void ScXMLStateMachineDeleteCB(
void * userdata,
38 typedef void ScXMLStateChangeCB(
void * userdata,
40 const char * stateidentifier,
49 static void initClass(
void);
54 virtual void setName(
const SbName & name);
55 const SbName & getName(
void)
const;
57 virtual void setDescription(ScXMLDocument * document);
58 const ScXMLDocument * getDescription(
void)
const;
60 virtual void initialize(
void);
62 virtual void queueEvent(
const ScXMLEvent * event, SbBool dealloc = FALSE);
63 virtual void queueEvent(
const SbName & eventid);
64 virtual SbBool processEventQueue(
void);
66 virtual SbBool isActive(
void)
const;
67 virtual SbBool isFinished(
void)
const;
69 virtual const ScXMLEvent * getCurrentEvent(
void)
const;
71 virtual int getNumActiveStates(
void)
const;
72 virtual const ScXMLObject * getActiveState(
int idx)
const;
74 virtual const ScXMLObject * getState(
const char * identifier)
const;
76 virtual void addDeleteCallback(ScXMLStateMachineDeleteCB * callback,
78 virtual void removeDeleteCallback(ScXMLStateMachineDeleteCB * callback,
81 virtual void addStateChangeCallback(ScXMLStateChangeCB * callback,
83 virtual void removeStateChangeCallback(ScXMLStateChangeCB * callback,
86 virtual SbBool processOneEvent(
const ScXMLEvent * event);
88 virtual void setCurrentEvent(
const ScXMLEvent * event);
95 SbPimplPtr<PImpl> pimpl;
99 #endif // !COIN_SCXMLSTATEMACHINE_H
Base class for events sent to SCXML state machines.
Definition: ScXMLEvent.h:29
Base class for all SCXML objects.
Definition: ScXMLObject.h:32
The SbName class stores strings by reference.The class is used by Coin for storing keywords...
Definition: SbName.h:31
Manager for processing events and setting states in SCXML structures.
Definition: ScXMLStateMachine.h:44