OperationInterface Class Reference

#include <rtt/OperationInterface.hpp>

Inheritance diagram for OperationInterface:

TaskContext TaskObject ControlTaskProxy ProgramTask StateMachineTask

List of all members.


Detailed Description

The interface for accessing and executing 'operations', being commands, methods, events and attributes.

OperationInterface objects can be hierarchically nested.

Definition at line 61 of file OperationInterface.hpp.


Public Types

typedef std::vector
< std::string > 
ObjectList
 A list of all child objects of this interface.

Public Member Functions

 OperationInterface ()
 OperationInterface (ExecutionEngine *ee)
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
AttributeRepository
attributes () const
virtual ~OperationInterface ()
virtual void clear ()
virtual const
std::string & 
getName () const =0
 Returns the name of this interface.
virtual const
std::string & 
getDescription () const =0
 Returns the description of this interface.
virtual bool addObject (OperationInterface *obj)
 Add a new child interface to this interface.
virtual
OperationInterface
getObject (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.
virtual
OperationInterface
getParent ()=0
 Returns the parent OperationInterface in which this TaskObject lives.
virtual void setParent (OperationInterface *newparent)=0
 Set a new parent for this interface.
virtual void setEngine (ExecutionEngine *newengine)=0
 Set the execution engine of the parent TaskContext.

Protected Types

typedef std::vector
< OperationInterface * > 
Objects

Protected Attributes

CommandRepository mcommands
MethodRepository mmethods
AttributeRepository mattributes
Objects mobjects
 the Child TaskObjects.

Member Function Documentation

bool addObject ( OperationInterface obj  )  [virtual]

Add a new child interface to this interface.

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

Reimplemented in TaskContext.

Definition at line 32 of file OperationInterface.cpp.

References RTT::Error, OperationInterface::getName(), OperationInterface::getObject(), OperationInterface::getParent(), OperationInterface::mobjects, and OperationInterface::setParent().

Referenced by TaskContext::addObject(), ControlTaskProxy::fetchObjects(), ParsedStateMachine::setName(), and TaskObject::TaskObject().

OperationInterface * getObject ( const std::string &  obj_name  )  [virtual]

Get a pointer to a previously added TaskObject.

Parameters:
obj_name The name of the TaskObject
Returns:
the pointer

Definition at line 48 of file OperationInterface.cpp.

References OperationInterface::mobjects.

Referenced by OperationInterface::addObject(), RTT::detail::DumpObject(), ControlTaskProxy::fetchObjects(), ParsedStateMachine::handleUnload(), MarshallingAccess::MarshallingAccess(), ParserExecutionAccess::ParserExecutionAccess(), ParserScriptingAccess::ParserScriptingAccess(), and OperationInterface::removeObject().

std::vector< std::string > getObjectList (  )  const [virtual]

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

Returns:
a list of string names.

Definition at line 61 of file OperationInterface.cpp.

References OperationInterface::getName(), and OperationInterface::mobjects.

Referenced by RTT::detail::DumpObject().

bool removeObject ( const std::string &  obj_name  )  [virtual]

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.

Definition at line 70 of file OperationInterface.cpp.

References OperationInterface::attributes(), AttributeRepository::clear(), EventService::clear(), CommandRepository::clear(), MethodRepository::clear(), OperationInterface::commands(), OperationInterface::events(), OperationInterface::getObject(), OperationInterface::getParent(), OperationInterface::methods(), and OperationInterface::mobjects.

Referenced by TaskContext::clear(), and FunctionGraph::handleUnload().

virtual OperationInterface* getParent (  )  [pure virtual]

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.

Implemented in TaskContext, and TaskObject.

Referenced by OperationInterface::addObject(), and OperationInterface::removeObject().

virtual void setParent ( OperationInterface newparent  )  [pure virtual]

Set a new parent for this interface.

Do not call this method directly. This function is automatically called when a TaskObject is added to another TaskObject.

Implemented in TaskContext, and TaskObject.

Referenced by OperationInterface::addObject().

virtual void setEngine ( ExecutionEngine newengine  )  [pure virtual]

Set the execution engine of the parent TaskContext.

Do not call this method directly. This function is automatically called when a TaskObject is added to a TaskContext.

Implemented in TaskContext, and TaskObject.

Referenced by TaskContext::addObject().


The documentation for this class was generated from the following files:
Generated on Tue Mar 25 17:41:56 2008 for OrocosReal-TimeToolkit by  doxygen 1.5.3