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)
Type * getPortType(const std::string &name)
base::InputPortInterface & addEventPort(const std::string &name, base::InputPortInterface &port, SlotFunction callback=SlotFunction())
Service * getService() const
boost::function< void(base::PortInterface *)> SlotFunction
bool setName(const std::string &name)
std::vector< base::PortInterface * > Ports
std::vector< std::string > PortNames
Contains TaskContext, Activity, OperationCaller, Operation, Property, InputPort, OutputPort, Attribute.