#include <InputPort.hpp>
A component's data input port. An Orocos input port is used to receive data samples from a distant publisher. The InputPort is read() and returns true if a sample is available.
Ideally, your algorithm should not assume a certain connection policy being used from output to input. So it should work on data connections and buffer connections.
Definition at line 63 of file InputPort.hpp.
RTT::InputPort< T >::InputPort | ( | InputPort< T > const & | orig | ) | [private] |
You are not allowed to copy ports. In case you want to create a container of ports, use pointers to ports instead of the port object itself.
RTT::InputPort< T >::InputPort | ( | std::string const & | name = "unnamed" , |
ConnPolicy const & | default_policy = ConnPolicy() |
||
) | [inline] |
Definition at line 96 of file InputPort.hpp.
virtual RTT::InputPort< T >::~InputPort | ( | ) | [inline, virtual] |
Definition at line 100 of file InputPort.hpp.
virtual base::PortInterface* RTT::InputPort< T >::antiClone | ( | ) | const [inline, virtual] |
Create the anti-clone (inverse port) of this port with the same name A port for reading will return a new port for writing and vice versa.
Implements RTT::base::PortInterface.
Definition at line 211 of file InputPort.hpp.
virtual base::PortInterface* RTT::InputPort< T >::clone | ( | ) | const [inline, virtual] |
Create a clone of this port with the same name
Implements RTT::base::PortInterface.
Definition at line 203 of file InputPort.hpp.
virtual bool RTT::InputPort< T >::connectionAdded | ( | base::ChannelElementBase::shared_ptr | channel_input, |
ConnPolicy const & | policy | ||
) | [inline, private, virtual] |
Definition at line 67 of file InputPort.hpp.
virtual Service* RTT::InputPort< T >::createPortObject | ( | ) | [inline, virtual] |
Create accessor Object for this Port, for addition to a TaskContext Object interface.
Reimplemented from RTT::base::PortInterface.
Definition at line 232 of file InputPort.hpp.
virtual bool RTT::InputPort< T >::createStream | ( | ConnPolicy const & | policy | ) | [inline, virtual] |
Creates a data stream from or to this port using connection-less transports. Typically, policy.transport and policy.name_id must be properly filled in such that the data stream can be set up and input and output port can find each other. You need to call this method on two ports (input and output) using the same transport and (probably) same name_id.
policy | The connection policy describing how the stream must be set up. |
Implements RTT::base::PortInterface.
Definition at line 222 of file InputPort.hpp.
bool RTT::InputPort< T >::do_read | ( | typename base::ChannelElement< T >::reference_t | sample, |
FlowStatus & | result, | ||
bool | copy_old_data, | ||
const internal::ConnectionManager::ChannelDescriptor & | descriptor | ||
) | [inline, private] |
Definition at line 69 of file InputPort.hpp.
void RTT::InputPort< T >::getDataSample | ( | T & | sample | ) | [inline] |
Get a sample of the data on this port, without actually reading the port's data. It's the complement of OutputPort::setDataSample() and serves to retrieve the size of a variable sized data type T. Returns default T if !connected() or if the OutputPort did not use setDataSample(). Returns an example T otherwise. In case multiple inputs are connected to this port a sample from the currently read connection will be returned.
Definition at line 188 of file InputPort.hpp.
base::DataSourceBase* RTT::InputPort< T >::getDataSource | ( | ) | [inline, virtual] |
Returns a base::DataSourceBase interface to read this port. The returned data source is always a new object.
Implements RTT::base::InputPortInterface.
Definition at line 217 of file InputPort.hpp.
virtual const types::TypeInfo* RTT::InputPort< T >::getTypeInfo | ( | ) | const [inline, virtual] |
Returns the types::TypeInfo object for the port's type
Implements RTT::base::PortInterface.
Definition at line 197 of file InputPort.hpp.
InputPort& RTT::InputPort< T >::operator= | ( | InputPort< T > const & | orig | ) | [private] |
FlowStatus RTT::InputPort< T >::read | ( | base::DataSourceBase::shared_ptr | source | ) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 103 of file InputPort.hpp.
FlowStatus RTT::InputPort< T >::read | ( | base::DataSourceBase::shared_ptr | source, |
bool | copy_old_data | ||
) | [inline, virtual] |
Reads the port and updates the value hold by the given data source. This is only valid for local ports.
source has to be an assignable data source
Reimplemented from RTT::base::InputPortInterface.
Definition at line 106 of file InputPort.hpp.
FlowStatus RTT::InputPort< T >::read | ( | typename base::ChannelElement< T >::reference_t | sample | ) | [inline] |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 137 of file InputPort.hpp.
FlowStatus RTT::InputPort< T >::read | ( | typename base::ChannelElement< T >::reference_t | sample, |
bool | copy_old_data | ||
) | [inline] |
Reads a sample from the connection. sample is a reference which will get updated if a new sample is available.
The method returns an enum FlowStatus, which describes what type of sample (old or new data) or if a sample was returned (no data)
With the argument
Definition at line 151 of file InputPort.hpp.
FlowStatus RTT::InputPort< T >::readNewest | ( | base::DataSourceBase::shared_ptr | source, |
bool | copy_old_data = true |
||
) | [inline] |
Read all new samples that are available on this port, and returns the last one.
Returns RTT::NewData if at least one new sample was available, and either RTT::OldData or RTT::NoData otherwise.
Definition at line 124 of file InputPort.hpp.
FlowStatus RTT::InputPort< T >::readNewest | ( | typename base::ChannelElement< T >::reference_t | sample, |
bool | copy_old_data = true |
||
) | [inline] |
Read all new samples that are available on this port, and returns the last one.
Returns RTT::NewData if at least one new sample was available, and either RTT::OldData or RTT::NoData otherwise.
Definition at line 170 of file InputPort.hpp.
friend class internal::ConnOutputEndpoint< T > [friend] |
Definition at line 65 of file InputPort.hpp.