RTT::Corba::ControlTaskProxy Class Reference
[Component IDL and Corba Setup]

This class manages the access of remote TaskContext Corba Servers and a Corba Object Request Broker (Orb) which connects to these servers. More...

#include <rtt/corba/ControlTaskProxy.hpp>

Inheritance diagram for RTT::Corba::ControlTaskProxy:
RTT::TaskContext RTT::Corba::ApplicationServer RTT::OperationInterface RTT::TaskCore

List of all members.

Public Types

typedef std::map
< ControlTaskProxy
*, Corba::ControlTask_ptr > 
PMap
typedef std::vector< std::string > PeerList
 A list of Peer TaskContext names.
typedef std::vector< std::string > ObjectList
 A list of all child objects of this interface.
enum  TaskState {
  Init, PreOperational, FatalError, Stopped,
  Active, Running, RunTimeWarning, RunTimeError
}
 

Describes the different states a component can have.

More...

Public Member Functions

Corba::ControlTask_ptr server () const
 Get the Corba Object of the ControlTask.
virtual bool activate ()
 This method starts the execution of this component in order to process events and commands.
virtual bool start ()
 This method starts the execution engine of this component (if not already running) and executes the updateHook() with each period.
virtual bool stop ()
 This method stops the execution engine of this component.
virtual bool isRunning () const
 Inspect if the component is in the Running, RunTimeWarning or RunTimeError state.
virtual bool configure ()
 This method instructs the component to (re-)read configuration data and try to enter the Stopped state.
virtual bool cleanup ()
 This method instructs a stopped component to enter the pre-operational state again.
virtual bool resetError ()
 If the component entered the FatalError state, call this method to recover.
virtual bool isActive () const
 Inspect if the component is processing events, i.e.
virtual bool isConfigured () const
 Inspect if the component is configured, i.e.
virtual bool inFatalError () const
 Inspect if the component is in the FatalError state.
virtual bool inRunTimeWarning () const
 Inspect if the component is in the RunTimeWarning state.
virtual bool inRunTimeError () const
 Inspect if the component is in the RunTimeError state.
virtual int getErrorCount () const
 Returns the number of times the RunTimeError state was entered.
virtual int getWarningCount () const
 Returns the number of times the RunTimeWarning state was entered.
virtual TaskState getTaskState () const
 Returns the current state of the TaskContext.
virtual void setName (const std::string &n)
 Change the name of this TaskCore.
virtual bool addPeer (TaskContext *peer, std::string alias="")
 Add a one-way connection from this task to a peer task.
virtual void removePeer (const std::string &name)
 Remove a one-way connection from this task to a peer task.
virtual void removePeer (TaskContext *peer)
 Remove a one-way connection from this task to a peer task.
virtual bool connectPeers (TaskContext *peer)
 Add a two-way connection from this task to a peer task.
virtual void disconnectPeers (const std::string &name)
 Remove a two-way connection from this task to a peer task.
virtual PeerList getPeerList () const
 Return a standard container which contains all the Peer names of this TaskContext.
virtual bool hasPeer (const std::string &peer_name) const
 Return true if it knows a peer by that name.
virtual TaskContextgetPeer (const std::string &peer_name) const
 Get a pointer to a peer of this task.
virtual bool connectPorts (TaskContext *peer)
 Add a data flow connection from this task's ports to a peer's ports.
virtual bool ready ()
 Checks the validity of this TaskContext.
virtual const std::string & getName () const
 Returns the name of this interface.
virtual const std::string & getDescription () const
 Returns the description of this interface.
virtual void setDescription (const std::string &descr)
virtual OperationInterfacegetParent ()
 Returns the parent OperationInterface in which this TaskObject lives.
virtual void setParent (OperationInterface *)
 This method is ignored by the TaskContext.
virtual void setEngine (ExecutionEngine *)
 This method is ignored by the TaskContext.
void exportPorts ()
 Call this function to force a TaskContext to export its Data Flow ports as scripting objects.
virtual void disconnect ()
 Disconnect this TaskContext from it's peers.
virtual void reconnect ()
 Reconnect the data ports of this task, without removing the peer relationship.
virtual bool addObject (OperationInterface *obj)
 Add a new TaskObject to this TaskContext.
void setActivity (ActivityInterface *new_act)
 Sets the activity of this TaskContext.
ActivityInterfacegetActivity ()
 Get a pointer to the activity running this component.
virtual void clear ()
 Clear the complete interface of this Component.
void updateHook ()
 Hook called in the Running state.
virtual void updateHook (std::vector< PortInterface * > const &updated_ports)
 This method gets called when new data is available on some input ports.
ScriptingAccess * scripting ()
 Get access to high level controls for programs, state machines and scripting statements.
const ScriptingAccess * scripting () const
 Get access to high level controls for programs, state machines and scripting statements.
ExecutionAccessexecution ()
 Get access to high level controls for controlling programs and state machines.
const ExecutionAccessexecution () const
 Get access to high level controls for controlling programs and state machines.
MarshallingAccessmarshalling ()
 Get access to high level controls for (de)serializing properties to/from an XML format.
const MarshallingAccessmarshalling () const
 Get access to high level controls for (de)serializing properties to/from an XML format.
PropertyBagproperties ()
 The properties of this TaskContext.
const PropertyBagproperties () const
 The properties of this TaskContext.
DataFlowInterface * ports ()
 Get the Data flow ports of this task.
const DataFlowInterface * ports () const
 Get the Data flow ports of this task.
CommandRepositorycommands ()
 Returns the commands of this interface.
const CommandRepositorycommands () const
MethodRepositorymethods ()
 Returns the methods of this interface.
const MethodRepositorymethods () const
EventServiceevents ()
 The task-local events ( 'signals' ) of this TaskContext.
const EventServiceevents () const
 The task-local events ( 'signals' ) of this TaskContext.
AttributeRepositoryattributes ()
 Returns the attributes of this interface.
const AttributeRepositoryattributes () const
virtual OperationInterfacegetObject (const std::string &obj_name)
 Get a pointer to a previously added TaskObject.
virtual ObjectList getObjectList () const
 Get a list of all the object names of this interface.
virtual bool removeObject (const std::string &obj_name)
 Remove and delete a previously added TaskObject.
void setExecutionEngine (ExecutionEngine *engine)
 Use this method to re-set the execution engine of this task core.
const ExecutionEngineengine () const
 Get a const pointer to the ExecutionEngine of this Task.
ExecutionEngineengine ()
 Get a pointer to the ExecutionEngine of this Task.
Script Methods

These TaskCore functions are exported in a TaskContext as script methods and are for configuration, starting and stopping its ExecutionEngine.

virtual double getPeriod () const
 Get the configured execution period of this component.
virtual bool doUpdate ()
 Invoke this method to execute the ExecutionEngine and the update() method.
virtual bool doTrigger ()
 Invoke this method to trigger the thread of this TaskContext to execute its ExecutionEngine and the update() method.

Static Public Member Functions

static void DestroyOrb ()
 Invoke this method once to cleanup the orb.
static ControlTaskProxyCreate (std::string name, bool is_ior=false)
 Factory method: create a CORBA Proxy for an existing ControlTaskServer.
static TaskContextCreate (::RTT::Corba::ControlTask_ptr task, bool force_remote=false)
 Factory method: create a CORBA Proxy for an existing ControlTaskServer.
static PortableServer::POA_ptr ProxyPOA ()
 Returns the default POA for all proxies.
static bool RTT_CORBA_API InitOrb (int argc, char *argv[], Seconds orb_timeout=0)
 Invoke this method once to initialise the Orb which will run the task servers.

Static Public Attributes

static PMap proxies
static CORBA::ORB_var orb
 The orb of this process.
static PortableServer::POA_var rootPOA
 The root POA of this process.

Protected Types

typedef std::map< std::string,
TaskContext * > 
PeerMap
typedef std::vector
< TaskContext * > 
Users
typedef std::vector
< OperationInterface * > 
Objects

Protected Member Functions

 ControlTaskProxy (std::string location, bool is_ior)
 Private constructor which creates a new connection to a stringified ior or taskname in NameServer.
 ControlTaskProxy (::RTT::Corba::ControlTask_ptr t)
 Private constructor which creates a new connection to a corba object.
void synchronizeOnce ()
void synchronize ()
void fetchObjects (OperationInterface *parent, ControlObject_ptr mtask)
void addUser (TaskContext *user)
 Inform this TaskContext that user is using our services.
void removeUser (TaskContext *user)
 Inform this TaskContext that user is no longer using our services.
void setup ()
void dataOnPort (PortInterface *)
 This callback is called each time data arrived on an event port.
virtual bool configureHook ()
 Implement this method such that it contains the code which will be executed when configure() is called.
virtual void cleanupHook ()
 Implement this method such that it contains the code which will be executed when cleanup() is called.
virtual bool activateHook ()
 Implement this method such that it contains the code which will be executed when activate() is called.
virtual bool startHook ()
 Implement this method such that it contains the code which will be executed when start() is called.
virtual bool startup ()
 Function where the user must insert his 'startup' code.
virtual bool breakUpdateHook ()
 Implement this function if your code might block for long times inside the updateHook() function.
virtual void errorHook ()
 Implement this method to contain code that must be executed in the RunTimeError state, instead of updateHook().
virtual void update ()
 Function where the user must insert his 'application' code.
virtual void stopHook ()
 Implement this method such that it contains the code which will be executed when stop() is called.
virtual void shutdown ()
 Function where the user must insert his 'shutdown' code.
virtual bool resetHook ()
 Implement this method to recover from the FatalError state.
virtual void warning ()
 Call this method in a Running state to indicate a run-time warning condition.
virtual void error ()
 Call this method in a Running state to indicate a run-time error condition.
virtual void fatal ()
 Call this method from any place to indicate that this component encountered a fatal error.
virtual void recovered ()
 Call this method in a Running state to indicate that the run-time warning or error conditions are gone and nominal operation is resumed.

Protected Attributes

Corba::ControlTask_var mtask
std::string mdescription
PeerMap _task_map
 map of the tasks we are using
Users musers
 map of the tasks that are using us.
Objects mobjects
 the TaskObjects.
ScriptingAccess * mscriptAcc
ExecutionAccessmengAcc
MarshallingAccessmarshAcc
std::vector< PortInterface * > updated_ports
CommandRepository mcommands
MethodRepository mmethods
AttributeRepository mattributes
std::string mtask_name
ExecutionEngineee
 The execution engine which calls update() and processes our commands, events etc.
TaskState mTaskState
int runtime_warnings
int runtime_errors

Static Protected Attributes

static PortableServer::POA_var proxy_poa
 For now one POA handles all proxies.

Friends

class ExecutionEngine

Detailed Description

This class manages the access of remote TaskContext Corba Servers and a Corba Object Request Broker (Orb) which connects to these servers.

Definition at line 79 of file ControlTaskProxy.hpp.


Member Enumeration Documentation

enum RTT::TaskCore::TaskState [inherited]

Describes the different states a component can have.

When a TaskContext is being constructed, it is in the Init state. After the construction ends, the component arrives in the PreOperational (additional configuration required) or the Stopped (ready to run) state. Invoking start() will make a transition to the Running state and stop() back to the Stopped state. The Running state executes the updateHook() and processes events and commands. Invoking activate() will make a transition to the Active state in which only events and commands are processed. Within the Active state: start() will continue to the Running state, and a stop() will go back to the Stopped state. Finally, there is an FatalError state, in which the component can enter by calling the protected method fatalError(). In this state, the ExecutionEngine is stopped and updateHook() is no longer called. The public resetError() method allows one to leave the FatalError state and enter the Stopped state, or if the error is unrecoverable, the PreOperational state.

Next to the fatal error, two run-time error levels are available in the Running state as well. These levels allow 'automatic' recovery by the component in case the problem is temporal. When the task is Running, it may call the protected warning() method in order to signal a possible problem. In this RunTimeWarning substate, the updateHook() is still called. One can leave this substate by calling the protected recovered() method. In case of more severe problems, one may call the protected method error() when the component is Running. The component will enter the RunTimeError state and will cause the errorHook() to be called instead of updateHook(). When recovered() is called, this run-time error state is left and the nominal Running state is entered again.

In order to keep track of these run-time errors, a counter is provided for each sub-state indicating how many times it was entered. See getWarningCount() and getErrorCount().

In order to check if these transitions are allowed, hook functions are executed, which can be filled in by the component builder.

  • A transition from PreOperational to Stopped is checked by calling the configureHook() method. If this method returns true, the transition is made, otherwise, the state remains PreOperational.
  • A transition from Stopped to Running is checked by calling the startHook() method. If this method returns true, the transition is made, otherwise, the state remains Stopped.
  • A transition from Stopped to Active is checked by calling the activateHook() method. If this method returns true, the transition is made, otherwise, the state remains Stopped.
  • A transition from Active to Running is checked by calling the startHook() method. If this method returns true, the transition is made, otherwise, the state remains Active.
  • A transition from Running to Stopped is always allowed and the stopHook() method is called to inform the component of this transtion.
  • A transition from Active to Stopped is always allowed and the stopHook() method is called to inform the component of this transtion.
  • A transition from Stopped to PreOperational is always allowed and the cleanupHook() method is called to inform the component of this transtion.
  • A transition from the FatalError state to the Stopped state is checked by calling the resetHook(): If it returns true, the Stopped state is entered, if it returns false, the PreOperational state is entered, and the user is as such forced to call configure() in order to enter the Stopped state again.
Enumerator:
PreOperational 

The state during component construction.

FatalError 

The state indicating additional configuration is required.

Stopped 

The state indicating the component encountered a fatal error and is unable to execute.

Active 

The state indicating the component is ready to run.

Running 

The state indicating the component is processing events and commands.

RunTimeWarning 

The state indicating the component is running [green].

RunTimeError 

The state indicating that a run-time warning has occured [yellow] and needs attention.

The state indicating that a run-time error has occured [red] and needs attention.

Definition at line 131 of file TaskCore.hpp.


Member Function Documentation

virtual bool RTT::Corba::ControlTaskProxy::activate (  )  [virtual]

This method starts the execution of this component in order to process events and commands.

This function calls activateHook() which must return true in order to allow this processing. You can override this method to do something else or in addition to starting the ExecutionEngine.

Return values:
false 
true if the Active state was entered.

Reimplemented from RTT::TaskCore.

virtual bool RTT::TaskCore::activateHook (  )  [protected, virtual, inherited]

Implement this method such that it contains the code which will be executed when activate() is called.

Return false if the component may not be activated.

virtual bool RTT::TaskContext::addObject ( OperationInterface obj  )  [virtual, inherited]

Add a new TaskObject to this TaskContext.

Parameters:
obj This object becomes owned by this TaskContext.
Returns:
true if it cuold be added, false if such object already exists.

Reimplemented from RTT::OperationInterface.

virtual bool RTT::Corba::ControlTaskProxy::addPeer ( TaskContext peer,
std::string  alias = "" 
) [virtual]

Add a one-way connection from this task to a peer task.

Parameters:
peer The peer to add.
alias An optional alias (another name) for the peer. defaults to peer->getName()

Reimplemented from RTT::TaskContext.

virtual bool RTT::TaskCore::breakUpdateHook (  )  [protected, virtual, inherited]

Implement this function if your code might block for long times inside the updateHook() function.

Insert in this hook the code to wake up that code or signal it otherwise that updateHook() is requested to return (for example by setting a flag). The method returns false by default.

Returns:
true if well received and updateHook() will soon return. False otherwise.
virtual bool RTT::Corba::ControlTaskProxy::cleanup (  )  [virtual]

This method instructs a stopped component to enter the pre-operational state again.

It calls cleanupHook(). The run-time error and warning counters are reset to zero as well.

Returns:
true if the component was in the Stopped state.

Reimplemented from RTT::TaskCore.

virtual void RTT::TaskCore::cleanupHook (  )  [protected, virtual, inherited]

Implement this method such that it contains the code which will be executed when cleanup() is called.

The default implementation is an empty function.

virtual void RTT::TaskContext::clear (  )  [virtual, inherited]

Clear the complete interface of this Component.

This method removes all objects and all methods, commands, events, properties and ports from the interface of this TaskContext.

Reimplemented from RTT::OperationInterface.

virtual bool RTT::Corba::ControlTaskProxy::configure (  )  [virtual]

This method instructs the component to (re-)read configuration data and try to enter the Stopped state.

This can only succeed if the component is not running and configureHook() returns true.

Reimplemented from RTT::TaskCore.

virtual bool RTT::TaskCore::configureHook (  )  [protected, virtual, inherited]

Implement this method such that it contains the code which will be executed when configure() is called.

The default implementation is an empty function which returns true.

Return values:
true to indicate that configuration succeeded and the Stopped state may be entered.
false to indicate that configuration failed and the Preoperational state is entered.
static TaskContext* RTT::Corba::ControlTaskProxy::Create ( ::RTT::Corba::ControlTask_ptr  task,
bool  force_remote = false 
) [static]

Factory method: create a CORBA Proxy for an existing ControlTaskServer.

This method may in fact return the real TaskContext in case the servant of task is in the same process.

Parameters:
task The Object to create a proxy for.
Return values:
0 if the ORB is not initialised
Returns:
A new or previously created CORBA proxy for task, or the TaskContext itself.
static ControlTaskProxy* RTT::Corba::ControlTaskProxy::Create ( std::string  name,
bool  is_ior = false 
) [static]

Factory method: create a CORBA Proxy for an existing ControlTaskServer.

Parameters:
name The name of the ControlTaskServer to connect to or the Object Reference of the object to connect to
is_ior set to true if name is an IOR. Defaults to false.
Return values:
0 if the ORB is not initialised
Returns:
A new or previously created CORBA proxy for name.
virtual void RTT::TaskContext::disconnect (  )  [virtual, inherited]

Disconnect this TaskContext from it's peers.

All its Data Flow Ports are disconnected from the connections but the connections themselves may continue to exist to serve other TaskContexts. This method invokes removePeer() as well on the peers listed in this->getPeerList().

virtual bool RTT::TaskCore::doTrigger (  )  [virtual, inherited]

Invoke this method to trigger the thread of this TaskContext to execute its ExecutionEngine and the update() method.

This method maps to the 'trigger()' method in the scripting language.

Return values:
false if this->engine()->getActivity()->trigger() == false
true otherwise.
virtual bool RTT::TaskCore::doUpdate (  )  [virtual, inherited]

Invoke this method to execute the ExecutionEngine and the update() method.

This method maps to the 'update()' method in the scripting language.

Return values:
false if this->engine()->getActivity()->execute() == false
true otherwise.
virtual void RTT::TaskCore::error (  )  [protected, virtual, inherited]

Call this method in a Running state to indicate a run-time error condition.

errorHook() will be called instead of updateHook(). If the warning condition is solved, call recovered().

virtual void RTT::TaskCore::errorHook (  )  [protected, virtual, inherited]

Implement this method to contain code that must be executed in the RunTimeError state, instead of updateHook().

This allows you to specify the behaviour in an erroneous component. errorHook() is called as long as the component is not recovered(). After recovered(), the updateHook() is called again.

const ExecutionAccess* RTT::TaskContext::execution (  )  const [inline, inherited]

Get access to high level controls for controlling programs and state machines.

It is the implementation of the 'engine' TaskObject.

Definition at line 279 of file TaskContext.hpp.

ExecutionAccess* RTT::TaskContext::execution (  )  [inline, inherited]

Get access to high level controls for controlling programs and state machines.

It is the implementation of the 'engine' TaskObject.

Definition at line 268 of file TaskContext.hpp.

void RTT::TaskContext::exportPorts (  )  [inherited]

Call this function to force a TaskContext to export its Data Flow ports as scripting objects.

Deprecated:
Do not use this function, it is no longer required.
virtual void RTT::TaskCore::fatal (  )  [protected, virtual, inherited]

Call this method from any place to indicate that this component encountered a fatal error.

The ExecutionEngine is stopped, stopHook() is called and the component waits for a resetError().

ActivityInterface* RTT::TaskContext::getActivity (  )  [inherited]

Get a pointer to the activity running this component.

Returns:
Our activity.
virtual OperationInterface* RTT::OperationInterface::getObject ( const std::string &  obj_name  )  [virtual, inherited]

Get a pointer to a previously added TaskObject.

Parameters:
obj_name The name of the TaskObject
Returns:
the pointer
virtual ObjectList RTT::OperationInterface::getObjectList (  )  const [virtual, inherited]

Get a list of all the object names of this interface.

Returns:
a list of string names.
virtual OperationInterface* RTT::TaskContext::getParent (  )  [inline, virtual, inherited]

Returns the parent OperationInterface in which this TaskObject lives.

A TaskObject can have only one parent.

Returns:
null in case no parent is set, the parent otherwise.

Implements RTT::OperationInterface.

Definition at line 94 of file TaskContext.hpp.

virtual TaskContext* RTT::Corba::ControlTaskProxy::getPeer ( const std::string &  peer_name  )  const [virtual]

Get a pointer to a peer of this task.

Returns:
null if no such peer.

Reimplemented from RTT::TaskContext.

virtual double RTT::TaskCore::getPeriod (  )  const [virtual, inherited]

Get the configured execution period of this component.

Note that this value only is used when the component isActive() or isRunning().

Return values:
0.0 if the component is non-periodic (event based).
a negative number when the component is not executable.
a positive value when the component is periodic. The period is expressed in seconds.
Todo:
: add a bool setPeriod(double) function to allow changing the period at run-time.
static bool RTT_CORBA_API RTT::Corba::ApplicationServer::InitOrb ( int  argc,
char *  argv[],
Seconds  orb_timeout = 0 
) [static, inherited]

Invoke this method once to initialise the Orb which will run the task servers.

Parameters:
orb_timeout timeout value for each remote call, expressed in seconds. The resolution is up to 100 nano seconds. Anything smaller will be interpreted as a zero.
virtual bool RTT::Corba::ControlTaskProxy::isActive (  )  const [virtual]

Inspect if the component is processing events, i.e.

in the Active or Running state.

Reimplemented from RTT::TaskCore.

virtual bool RTT::Corba::ControlTaskProxy::isConfigured (  )  const [virtual]

Inspect if the component is configured, i.e.

in the Stopped, Active or Running state.

Reimplemented from RTT::TaskCore.

virtual bool RTT::Corba::ControlTaskProxy::isRunning (  )  const [virtual]

Inspect if the component is in the Running, RunTimeWarning or RunTimeError state.

As RunTimeWarning and RunTimeError are substates of Running, this method also returns true when the component is in one of these states. See inRunTimeError() and inRunTimeWarning() for testing these error conditions.

Reimplemented from RTT::TaskCore.

virtual bool RTT::Corba::ControlTaskProxy::ready (  )  [virtual]

Checks the validity of this TaskContext.

When this method returns false, the TaskContext should not be used and various methods may throw exceptions. Use this in case the TaskContext could be a remote object. Will always return true when this TaskContext is local.

Reimplemented from RTT::TaskContext.

virtual void RTT::TaskContext::reconnect (  )  [virtual, inherited]

Reconnect the data ports of this task, without removing the peer relationship.

Use this if you changed a port name of an already connected task.

virtual void RTT::TaskCore::recovered (  )  [protected, virtual, inherited]

Call this method in a Running state to indicate that the run-time warning or error conditions are gone and nominal operation is resumed.

You can not use this method to recover from a fatal() error. Use resetError() instead.

virtual bool RTT::OperationInterface::removeObject ( const std::string &  obj_name  )  [virtual, inherited]

Remove and delete a previously added TaskObject.

Deletion will only occur if obj_name's parent is this. You can avoid deletion by first calling

 this->getObject( obj_name )->setParent(0); 
Parameters:
obj_name The name of the TaskObject to remove
Returns:
true if found and removed, false otherwise.
virtual bool RTT::Corba::ControlTaskProxy::resetError (  )  [virtual]

If the component entered the FatalError state, call this method to recover.

It will call the user function resetHook(): if it returns false, the PreOperational state is entered, if it returns true, the Stopped state is entered. You can not use this method to recover from the RunTimeWarning or RunTimeError states, use recover() instead.

Return values:
true if the component is in the Stopped or PreOperational state.
false if the component was not in the FatalError state.

Reimplemented from RTT::TaskCore.

virtual bool RTT::TaskCore::resetHook (  )  [protected, virtual, inherited]

Implement this method to recover from the FatalError state.

Return false if no recovery was possible and the PreOperational state must be entered. Return true to allow transition to the Stopped state.

Corba::ControlTask_ptr RTT::Corba::ControlTaskProxy::server (  )  const

Get the Corba Object of the ControlTask.

This object universally identifies the remote ControlTaskServer and can be used to tell other (remote) objects where to find it.

void RTT::TaskContext::setActivity ( ActivityInterface new_act  )  [inherited]

Sets the activity of this TaskContext.

The activity is owned by the TaskContext and you should not hold a pointer to it after this call. Use getActivity() lateron to retrieve a safe pointer to it.

Parameters:
new_act The new activity for this TaskContext, which becomes owned by this TaskContext.
virtual void RTT::TaskContext::setEngine ( ExecutionEngine  )  [inline, virtual, inherited]

This method is ignored by the TaskContext.

See also:
TaskCore::setExecutionEngine for (re-)setting a new ExecutionEngine, which is a base class of TaskContext.

Implements RTT::OperationInterface.

Definition at line 106 of file TaskContext.hpp.

void RTT::TaskCore::setExecutionEngine ( ExecutionEngine engine  )  [inherited]

Use this method to re-set the execution engine of this task core.

Parameters:
engine The new execution engine which will execute this TaskCore or null if a new execution engine must be created (the old is deleted in that case).
Postcondition:
The TaskCore is being run by engine or a new execution engine.
virtual void RTT::TaskCore::shutdown (  )  [protected, virtual, inherited]

Function where the user must insert his 'shutdown' code.

This function is called by the ExecutionEngine after it stops its processors. The default implementation is an empty function.

Deprecated:
Use the stopHook() function instead.
virtual bool RTT::Corba::ControlTaskProxy::start (  )  [virtual]

This method starts the execution engine of this component (if not already running) and executes the updateHook() with each period.

This function calls the user function startHook(), which must return true in order to allow this component to run.

Return values:
false 
true if the Running state was entered.

Reimplemented from RTT::TaskContext.

virtual bool RTT::TaskCore::startHook (  )  [protected, virtual, inherited]

Implement this method such that it contains the code which will be executed when start() is called.

The default implementation is an empty function which returns true.

Return values:
true to indicate that the component may run and the Running state may be entered.
false to indicate that the component may not run and the Stopped state is entered.
virtual bool RTT::TaskCore::startup (  )  [protected, virtual, inherited]

Function where the user must insert his 'startup' code.

This function is called by the ExecutionEngine before it starts its processors. If it returns false, the startup of the TaskCore is aborted. The default implementation is an empty function which returns true.

Deprecated:
Use the startHook() function instead.
virtual bool RTT::Corba::ControlTaskProxy::stop (  )  [virtual]

This method stops the execution engine of this component.

You can override this method to do something else or in addition to stopping the engine. This function calls cleanupHook() as well.

Returns:
false if the component was not Running or not Active.

Reimplemented from RTT::TaskCore.

virtual void RTT::TaskCore::stopHook (  )  [protected, virtual, inherited]

Implement this method such that it contains the code which will be executed when stop() is called.

The default implementation is an empty function.

virtual void RTT::TaskCore::update (  )  [protected, virtual, inherited]

Function where the user must insert his 'application' code.

When the ExecutionEngine's Activity is a PeriodicActivity, this function is called by the ExecutionEngine in each periodic step after all command, event,... processors. When it's Task is a NonPeriodicActivity, this function is called after an Event or Command is received and executed. It should not loop forever, since no commands or events are processed when this function executes. The default implementation is an empty function.

Deprecated:
Use the updateHook() function instead.
virtual void RTT::TaskContext::updateHook ( std::vector< PortInterface * > const &  updated_ports  )  [virtual, inherited]

This method gets called when new data is available on some input ports.

The ports are listed as argument to the method

The default implementation does nothing;

void RTT::TaskContext::updateHook (  )  [virtual, inherited]

Hook called in the Running state.

This default implementation calls updateHook(updated_ports)

Reimplemented from RTT::TaskCore.

virtual void RTT::TaskCore::warning (  )  [protected, virtual, inherited]

Call this method in a Running state to indicate a run-time warning condition.

If the warning condition is solved, call recovered().


The documentation for this class was generated from the following file:
Generated on Thu Dec 23 13:22:45 2010 for Orocos Real-Time Toolkit by  doxygen 1.6.3