39 #ifndef ORO_EXECUTION_DATA_FLOW_INTERFACE_HPP 40 #define ORO_EXECUTION_DATA_FLOW_INTERFACE_HPP 48 #include <boost/function.hpp> 65 typedef std::vector<base::PortInterface*>
Ports;
90 if ( !chkPtr(
"addPort", name, &port) )
return port;
118 if ( !chkPtr(
"addEventPort", name, &port) )
return port;
120 return addEventPort(port,callback);
150 void removePort(
const std::string& name);
156 Ports getPorts()
const;
163 PortNames getPortNames()
const;
179 std::string getPortDescription(
const std::string& name)
const;
191 bool setPortDescription(
const std::string& name,
const std::string description);
226 SlotFunction callback = SlotFunction() );
237 void removeLocalPort(
const std::string& name);
243 template<
class Type>
245 return dynamic_cast<Type*
>( this->getPort(name) );
254 #ifdef ORO_SIGNALLING_PORTS 262 void cleanupHandles();
274 Service* createPortObject(
const std::string& name);
276 bool chkPtr(
const std::string &where,
const std::string& name,
const void* ptr);
285 #ifdef ORO_SIGNALLING_PORTS 290 typedef std::vector< Handle > Handles;
base::PortInterface & addPort(const std::string &name, base::PortInterface &port)
Name and add a Port to the interface of this task and add a Service with the same name of the port...
The Interface of a TaskContext which exposes its data-flow ports.
Type * getPortType(const std::string &name)
Get a port of a specific type.
base::InputPortInterface & addEventPort(const std::string &name, base::InputPortInterface &port, SlotFunction callback=SlotFunction())
Name and add an Event triggering Port to the interface of this task and add a Service with the same n...
Ports mports
All our ports.
This class allows storage and retrieval of operations, ports, attributes and properties provided by a...
Service * getService() const
Returns the service this interface belongs to.
boost::function< void(base::PortInterface *)> SlotFunction
bool setName(const std::string &name)
Change the name of this unconnected Port.
std::vector< base::PortInterface * > Ports
A sequence of pointers to ports.
std::vector< std::string > PortNames
A sequence of names of ports.
The TaskContext is the C++ representation of an Orocos component.
Service * mservice
The parent Service.
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.
The base class of every data flow port.