Orocos Real-Time Toolkit  2.9.0
Public Member Functions | List of all members
RTT::scripting::StateInterface Class Referenceabstract

A State contains an entry, run, handle and exit program. More...

#include <rtt/scripting/StateInterface.hpp>

Inheritance diagram for RTT::scripting::StateInterface:
RTT::scripting::StateDescription

Public Member Functions

virtual ~StateInterface ()
 
virtual void loaded (ExecutionEngine *ee)
 
virtual const std::string & getName () const =0
 Get the name of this state. More...
 
virtual ProgramInterfacegetEntryProgram () const =0
 Get the entry program of this State. More...
 
virtual ProgramInterfacegetRunProgram () const =0
 Get the run program of this State. More...
 
virtual ProgramInterfacegetHandleProgram () const =0
 Get the handle program of this State. More...
 
virtual ProgramInterfacegetExitProgram () const =0
 Get the exit program of this State. More...
 
virtual int getEntryPoint () const =0
 Get the beginning definition of this State. More...
 
virtual StateInterfacecopy (std::map< const base::DataSourceBase *, base::DataSourceBase * > &replacementdss) const =0
 

Detailed Description

A State contains an entry, run, handle and exit program.

The entry and exit programs will be called when the state is entered of left. The handle program will be called each time the state is requested and no transition is made. The run program will be called before any transition is evaluated.

Thus when we are in state A and want to switch to state B, the following happens :

* in State A :
*   call A->run();
* if ( transition to B allowed )
*   call A->onExit();
*   call B->onEntry();
*   return true;
* else
*   call A->handle();
*   return false;
* 

Error recovery can be handled inside these programs, if even that fails, the programs return false and the state machine containing this state is considered in error.

Definition at line 81 of file StateInterface.hpp.

Constructor & Destructor Documentation

StateInterface::~StateInterface ( )
virtual

Definition at line 51 of file StateInterface.cpp.

Member Function Documentation

virtual StateInterface* RTT::scripting::StateInterface::copy ( std::map< const base::DataSourceBase *, base::DataSourceBase * > &  replacementdss) const
pure virtual
virtual int RTT::scripting::StateInterface::getEntryPoint ( ) const
pure virtual

Get the beginning definition of this State.

Implemented in RTT::scripting::StateDescription.

Referenced by RTT::scripting::StateMachine::getLineNumber().

virtual ProgramInterface* RTT::scripting::StateInterface::getEntryProgram ( ) const
pure virtual

Get the entry program of this State.

Implemented in RTT::scripting::StateDescription.

Referenced by RTT::scripting::StateMachine::enterState(), and loaded().

virtual ProgramInterface* RTT::scripting::StateInterface::getExitProgram ( ) const
pure virtual

Get the exit program of this State.

Implemented in RTT::scripting::StateDescription.

Referenced by RTT::scripting::StateMachine::leaveState(), and loaded().

virtual ProgramInterface* RTT::scripting::StateInterface::getHandleProgram ( ) const
pure virtual

Get the handle program of this State.

Implemented in RTT::scripting::StateDescription.

Referenced by RTT::scripting::StateMachine::handleState(), and loaded().

virtual const std::string& RTT::scripting::StateInterface::getName ( ) const
pure virtual
virtual ProgramInterface* RTT::scripting::StateInterface::getRunProgram ( ) const
pure virtual

Get the run program of this State.

Implemented in RTT::scripting::StateDescription.

Referenced by loaded(), and RTT::scripting::StateMachine::runState().

void StateInterface::loaded ( ExecutionEngine ee)
virtual

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