Orocos Real-Time Toolkit  2.8.3
Public Member Functions | Protected Attributes | List of all members
RTT::base::ExecutableInterface Class Referenceabstract

Objects that implement this interface are to be executed in the ExecutionEngine. More...

#include <rtt/base/ExecutableInterface.hpp>

Inheritance diagram for RTT::base::ExecutableInterface:
RTT::scripting::ProgramInterface RTT::scripting::StateMachine RTT::scripting::FunctionGraph RTT::scripting::ParsedStateMachine

Public Member Functions

void loaded (ExecutionEngine *ee)
 Called by the ExecutionEngine ee to tell this object it is being loaded. More...
 
void unloaded ()
 Called by the ExecutionEngine ee to tell this object it is being unloaded. More...
 
 ExecutableInterface ()
 
virtual ~ExecutableInterface ()
 
virtual void loading ()
 Informs this object that it got loaded in an ExecutionEngine. More...
 
bool isLoaded ()
 Returns true if this object is loaded in an ExecutionEngine. More...
 
ExecutionEnginegetEngine ()
 Returns the ExecutionEngine this object is loaded into or null otherwise. More...
 
virtual bool execute ()=0
 Executes a piece of functionality. More...
 
virtual void unloading ()
 Informs this object that it got unloaded from an ExecutionEngine. More...
 

Protected Attributes

ExecutionEngineengine
 

Detailed Description

Objects that implement this interface are to be executed in the ExecutionEngine.

One can insert and remove objects that implement this interface safely in and out the ExecutionEngine.

Be careful that all these functions may be called from a hard real-time context.

Definition at line 58 of file ExecutableInterface.hpp.

Constructor & Destructor Documentation

RTT::base::ExecutableInterface::ExecutableInterface ( )
inline

Definition at line 80 of file ExecutableInterface.hpp.

virtual RTT::base::ExecutableInterface::~ExecutableInterface ( )
inlinevirtual

Definition at line 81 of file ExecutableInterface.hpp.

Member Function Documentation

virtual bool RTT::base::ExecutableInterface::execute ( )
pure virtual

Executes a piece of functionality.

Called by the ExecutionEngine directly.

Returns
false if this object should no longer be executed.

Implemented in RTT::scripting::StateMachine, RTT::scripting::FunctionGraph, and RTT::scripting::ProgramInterface.

Referenced by RTT::ExecutionEngine::processFunctions().

ExecutionEngine* RTT::base::ExecutableInterface::getEngine ( )
inline
bool RTT::base::ExecutableInterface::isLoaded ( )
inline
void RTT::base::ExecutableInterface::loaded ( ExecutionEngine ee)
inline

Called by the ExecutionEngine ee to tell this object it is being loaded.

The engine pointer is set first and the user's loading() function is called next.

Parameters
eeThe pointer to the engine calling us.

Definition at line 70 of file ExecutableInterface.hpp.

Referenced by RTT::scripting::StateInterface::loaded(), and RTT::ExecutionEngine::runFunction().

virtual void RTT::base::ExecutableInterface::loading ( )
inlinevirtual

Informs this object that it got loaded in an ExecutionEngine.

Called by load() after the engine pointer is set.

Reimplemented in RTT::scripting::StateMachine, and RTT::scripting::FunctionGraph.

Definition at line 89 of file ExecutableInterface.hpp.

void RTT::base::ExecutableInterface::unloaded ( )
inline

Called by the ExecutionEngine ee to tell this object it is being unloaded.

The user's loading() function is called first and the engine pointer is cleared next.

Definition at line 78 of file ExecutableInterface.hpp.

Referenced by RTT::ExecutionEngine::processFunctions(), RTT::ExecutionEngine::removeFunction(), and RTT::ExecutionEngine::~ExecutionEngine().

virtual void RTT::base::ExecutableInterface::unloading ( )
inlinevirtual

Informs this object that it got unloaded from an ExecutionEngine.

Called by unload() before the engine pointer is cleared.

Reimplemented in RTT::scripting::StateMachine, RTT::scripting::FunctionGraph, and RTT::scripting::ParsedStateMachine.

Definition at line 118 of file ExecutableInterface.hpp.

Member Data Documentation

ExecutionEngine* RTT::base::ExecutableInterface::engine
protected

Definition at line 61 of file ExecutableInterface.hpp.


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