39 #ifndef ORO_EXECUTION_ENGINE_HPP 40 #define ORO_EXECUTION_ENGINE_HPP 51 #include <boost/function.hpp> 149 void waitForMessages(
const boost::function<
bool(
void)>& pred);
165 void setExceptionTask();
214 void waitForMessagesInternal( boost::function<
bool(
void)>
const& pred);
228 void waitAndProcessMessages(boost::function<
bool(
void)>
const& pred);
259 void processMessages();
260 void processPortCallbacks();
261 void processFunctions();
264 virtual bool initialize();
274 virtual bool breakLoop();
276 virtual void finalize();
278 virtual bool hasWork();
We can't use typedefs since C++ doesn't allow it for templated classes without specifying all the tem...
ExecutionEngine * mmaster
A master ExecutionEngine which should process our messages.
A class for running a certain piece of code in a thread.
internal::MWSRQueue< base::PortInterface * > * port_queue
The port callback queue.
An object oriented wrapper around a condition variable.
internal::MWSRQueue< base::ExecutableInterface * > * f_queue
Stores all functions we're executing.
An execution engine serialises (executes one after the other) the execution of all commands...
base::TaskCore * getTaskCore() const
Returns the owner of this execution engine.
A thread which is being run.
internal::MWSRQueue< base::DisposableInterface * > * mqueue
Our Message queue.
Interface to start/stop and query a Activity.
An object that is executable and is freed after execution.
This object represents the default Multi-Writer, Single-Reader queue implementation used by Orocos ob...
base::TaskCore * taskc
The parent or 'owner' of this ExecutionEngine, may be null.
Objects that implement this interface are to be executed in the ExecutionEngine.
An object oriented wrapper around a non recursive mutex.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
The base class of every data flow port.