Orocos Real-Time Toolkit
2.9.0
|
Proxy for a remote output port. More...
#include <rtt/transports/corba/RemotePorts.hpp>
Public Member Functions | |
RemoteOutputPort (types::TypeInfo const *type_info, CDataFlowInterface_ptr dataflow, std::string const &name, PortableServer::POA_ptr poa) | |
bool | keepsLastWrittenValue () const |
Returns true if this port records the last written value. More... | |
void | keepLastWrittenValue (bool new_flag) |
Change the setting for keeping the last written value. More... | |
virtual bool | disconnect (PortInterface *port) |
Removes the channel that connects this port to port . More... | |
bool | createConnection (base::InputPortInterface &sink, ConnPolicy const &policy) |
Connects this write port to the given read port, using the given connection policy. More... | |
virtual base::DataSourceBase::shared_ptr | getDataSource () const |
Returns a Data source that stores the last written value, or a null pointer if this port does not keep its last written value. More... | |
base::PortInterface * | clone () const |
Create a local clone of this port with the same name. More... | |
base::PortInterface * | antiClone () const |
Create a local clone of this port with the same name. More... | |
PortableServer::POA_ptr | _default_POA () |
CDataFlowInterface_ptr | getDataFlowInterface () const |
internal::ConnID * | getPortID () const |
types::TypeInfo const * | getTypeInfo () const |
int | serverProtocol () const |
bool | connected () const |
bool | createStream (const ConnPolicy &policy) |
virtual bool | addConnection (internal::ConnID *port_id, base::ChannelElementBase::shared_ptr channel_input, ConnPolicy const &policy) |
virtual void | disconnect () |
base::ChannelElementBase * | getEndpoint () const |
virtual WriteStatus | write (DataSourceBase::shared_ptr source) |
Write this port using the value stored in source. More... | |
bool | createDataConnection (InputPortInterface &sink, int lock_policy=ConnPolicy::LOCK_FREE) |
Connects this write port to the given read port, using a single-data policy with the given locking mechanism. More... | |
bool | createBufferConnection (InputPortInterface &sink, int size, int lock_policy=ConnPolicy::LOCK_FREE) |
Connects this write port to the given read port, using a buffered policy, with the buffer of the given size and the given locking mechanism. More... | |
bool | createConnection (InputPortInterface &sink) |
Connects this write port to the given read port, using as policy the default policy of the sink port. More... | |
virtual bool | createConnection (internal::SharedConnectionBase::shared_ptr shared_connection, ConnPolicy const &policy=ConnPolicy()) |
Connects the port to an existing shared connection instance. More... | |
virtual bool | connectTo (PortInterface *other, ConnPolicy const &policy) |
Connects this port with other, using the given policy. More... | |
virtual bool | connectTo (PortInterface *other) |
Connects this port with other, using the default policy of the input. More... | |
const std::string & | getName () const |
Get the name of this Port. More... | |
bool | setName (const std::string &name) |
Change the name of this unconnected Port. More... | |
const std::string & | getDescription () const |
Get the documentation of this port. More... | |
PortInterface & | doc (const std::string &desc) |
Set the documentation of this port. More... | |
virtual bool | connectedTo (PortInterface *port) |
Returns true if this port is connected to the given port. More... | |
virtual bool | isLocal () const |
Returns true if this port is located on this process, and false otherwise. More... | |
virtual Service * | createPortObject () |
Create accessor Object for this Port, for addition to a TaskContext Object interface. More... | |
virtual bool | removeConnection (internal::ConnID *cid) |
Removes a user created connection from this port. More... | |
void | setInterface (DataFlowInterface *iface) |
Once a port is added to a DataFlowInterface, it gets a pointer to that interface. More... | |
DataFlowInterface * | getInterface () const |
Returns the DataFlowInterface this port belongs to or null if it was not added to such an interface. More... | |
virtual internal::ConnectionManager * | getManager () |
Returns the connection manager of this port (if any). More... | |
virtual internal::SharedConnectionBase::shared_ptr | getSharedConnection () const |
Returns a pointer to the shared connection element this port may be connected to. More... | |
Protected Member Functions | |
bool | connectionAdded (base::ChannelElementBase::shared_ptr channel, ConnPolicy const &policy) |
Protected Attributes | |
types::TypeInfo const * | type_info |
CDataFlowInterface_var | dataflow |
PortableServer::POA_var | mpoa |
DataFlowInterface * | iface |
internal::ConnectionManager | cmanager |
Proxy for a remote output port.
Allows for creation of a connection from the remote port to a local input port.
Definition at line 97 of file RemotePorts.hpp.
RemoteOutputPort::RemoteOutputPort | ( | types::TypeInfo const * | type_info, |
CDataFlowInterface_ptr | dataflow, | ||
std::string const & | name, | ||
PortableServer::POA_ptr | poa | ||
) |
Definition at line 238 of file RemotePorts.cpp.
|
inherited |
|
virtualinherited |
Reimplemented from RTT::base::OutputPortInterface.
|
virtual |
Create a local clone of this port with the same name.
If this port is a local port, this is an object of the inverse direction (read for write and write for read), and same name. If this object is a remote port, then it is a local port of the inverse direction and with the same name.
Implements RTT::base::PortInterface.
Definition at line 315 of file RemotePorts.cpp.
References RTT::base::PortInterface::getName(), RTT::types::TypeInfo::inputPort(), and RTT::corba::RemotePort< base::OutputPortInterface >::type_info.
|
virtual |
Create a local clone of this port with the same name.
If this port is a local port, this is an object of the same type and same name. If this object is a remote port, then it is a local port of the same type and same name.
Implements RTT::base::PortInterface.
Definition at line 312 of file RemotePorts.cpp.
References RTT::base::PortInterface::getName(), RTT::types::TypeInfo::outputPort(), and RTT::corba::RemotePort< base::OutputPortInterface >::type_info.
|
virtualinherited |
Reimplemented from RTT::base::OutputPortInterface.
|
virtualinherited |
Returns true if this port is connected to the given port.
Definition at line 67 of file PortInterface.cpp.
References RTT::base::PortInterface::cmanager, and RTT::internal::ConnectionManager::connectedTo().
Referenced by RTT::internal::ConnFactory::createConnection().
|
inlineprotectedvirtualinherited |
Implements RTT::base::OutputPortInterface.
Definition at line 69 of file RemotePorts.hpp.
References RTT::corba::RemotePort< PortClass >::_default_POA(), RTT::corba::RemotePort< PortClass >::addConnection(), RTT::corba::RemotePort< PortClass >::connected(), RTT::corba::RemotePort< PortClass >::createStream(), RTT::corba::RemotePort< PortClass >::disconnect(), RTT::corba::RemotePort< PortClass >::getDataFlowInterface(), RTT::corba::RemotePort< PortClass >::getEndpoint(), RTT::corba::RemotePort< PortClass >::getPortID(), RTT::corba::RemotePort< PortClass >::getTypeInfo(), RTT::corba::RemotePort< PortClass >::RemotePort(), and RTT::corba::RemotePort< PortClass >::serverProtocol().
|
virtualinherited |
Connects this port with other, using the given policy.
Unlike OutputPortInterface::createConnection, other can be the write port and this
the read port.
Implements RTT::base::PortInterface.
Definition at line 98 of file OutputPortInterface.cpp.
References RTT::base::OutputPortInterface::createConnection().
|
virtualinherited |
Connects this port with other, using the default policy of the input.
Unlike OutputPortInterface::createConnection, other can be the write port and this
the read port.
Implements RTT::base::PortInterface.
Definition at line 106 of file OutputPortInterface.cpp.
References RTT::base::OutputPortInterface::createConnection().
|
inherited |
Connects this write port to the given read port, using a buffered policy, with the buffer of the given size and the given locking mechanism.
Definition at line 87 of file OutputPortInterface.cpp.
References RTT::ConnPolicy::buffer(), RTT::internal::ConnFactory::createAndCheckSharedConnection(), RTT::base::OutputPortInterface::createConnection(), and RTT::base::InputPortInterface::getDefaultPolicy().
|
virtual |
Connects this write port to the given read port, using the given connection policy.
Implements RTT::base::OutputPortInterface.
Definition at line 275 of file RemotePorts.cpp.
References CORBA_EXCEPTION_INFO, RTT::corba::CConnPolicy::data_size, RTT::ConnPolicy::data_size, RTT::corba::RemotePort< base::OutputPortInterface >::dataflow, RTT::Error, RTT::corba::RemotePort< PortClass >::getDataFlowInterface(), RTT::base::PortInterface::getInterface(), RTT::base::PortInterface::getName(), RTT::corba::CDataFlowInterface_i::getRemoteInterface(), RTT::corba::RemotePort< base::OutputPortInterface >::mpoa, RTT::corba::CConnPolicy::name_id, RTT::ConnPolicy::name_id, and toCORBA().
|
inherited |
Connects this write port to the given read port, using as policy the default policy of the sink port.
Referenced by RTT::OutputPort< T >::antiClone(), RTT::base::InputPortInterface::connectTo(), RTT::base::OutputPortInterface::connectTo(), RTT::base::OutputPortInterface::createBufferConnection(), RTT::base::OutputPortInterface::createDataConnection(), and RTT::corba::CDataFlowInterface_i::deregisterChannel().
|
virtualinherited |
Connects the port to an existing shared connection instance.
Implements RTT::base::PortInterface.
|
inherited |
Connects this write port to the given read port, using a single-data policy with the given locking mechanism.
Definition at line 84 of file OutputPortInterface.cpp.
References RTT::base::OutputPortInterface::createConnection(), and RTT::ConnPolicy::data().
|
virtualinherited |
Create accessor Object for this Port, for addition to a TaskContext Object interface.
Reimplemented in RTT::OutputPort< T >, and RTT::InputPort< T >.
Definition at line 79 of file PortInterface.cpp.
References RTT::Service::addSynchronousOperation(), RTT::base::PortInterface::connected(), RTT::base::PortInterface::disconnect(), RTT::base::PortInterface::getName(), RTT::DataFlowInterface::getOwner(), and RTT::base::PortInterface::iface.
Referenced by RTT::InputPort< T >::createPortObject(), RTT::DataFlowInterface::createPortObject(), and RTT::OutputPort< T >::createPortObject().
|
virtualinherited |
Implements RTT::base::PortInterface.
|
virtualinherited |
Reimplemented from RTT::base::OutputPortInterface.
|
virtual |
Removes the channel that connects this port to port
.
Reimplemented from RTT::base::OutputPortInterface.
Definition at line 256 of file RemotePorts.cpp.
References RTT::corba::RemotePort< base::OutputPortInterface >::dataflow, RTT::Error, RTT::corba::RemotePort< PortClass >::getDataFlowInterface(), and RTT::base::PortInterface::getName().
|
inherited |
Set the documentation of this port.
desc | The description of the port |
Definition at line 60 of file PortInterface.cpp.
References RTT::base::PortInterface::iface, and RTT::DataFlowInterface::setPortDescription().
Referenced by RTT::InputPort< T >::createPortObject(), and RTT::corba::TaskContextProxy::synchronizePorts().
|
inherited |
|
virtual |
Returns a Data source that stores the last written value, or a null pointer if this port does not keep its last written value.
Implements RTT::base::OutputPortInterface.
Definition at line 250 of file RemotePorts.cpp.
|
inlineinherited |
Get the documentation of this port.
Definition at line 93 of file PortInterface.hpp.
Referenced by RTT::corba::CDataFlowInterface_i::_default_POA().
|
virtualinherited |
Implements RTT::base::PortInterface.
|
inherited |
Returns the DataFlowInterface this port belongs to or null if it was not added to such an interface.
Definition at line 104 of file PortInterface.cpp.
References RTT::base::PortInterface::iface.
Referenced by RTT::corba::RemoteInputPort::buildRemoteChannelOutput(), createConnection(), and RTT::mqueue::MQSendRecv::setupStream().
|
inlinevirtualinherited |
Returns the connection manager of this port (if any).
This method provides access to the internals of this port in order to allow connection introspection.
Definition at line 222 of file PortInterface.hpp.
Referenced by RTT::internal::ConnInputEndpoint< T >::disconnect(), and RTT::internal::ConnOutputEndpoint< T >::disconnect().
|
inlineinherited |
Get the name of this Port.
Definition at line 79 of file PortInterface.hpp.
Referenced by RTT::DataFlowInterface::addEventPort(), RTT::DataFlowInterface::addLocalEventPort(), RTT::DataFlowInterface::addLocalPort(), RTT::DataFlowInterface::addPort(), antiClone(), RTT::corba::RemoteInputPort::antiClone(), RTT::InputPort< T >::antiClone(), RTT::OutputPort< T >::antiClone(), RTT::corba::CorbaFallBackProtocol::buildChannelInput(), RTT::internal::ConnFactory::buildChannelInput(), RTT::corba::CorbaFallBackProtocol::buildChannelOutput(), RTT::internal::ConnFactory::buildChannelOutput(), RTT::corba::RemoteInputPort::buildRemoteChannelOutput(), RTT::internal::ConnFactory::buildRemoteChannelOutput(), RTT::internal::ConnFactory::buildSharedConnection(), clone(), RTT::corba::RemoteInputPort::clone(), RTT::InputPort< T >::clone(), RTT::OutputPort< T >::clone(), RTT::TaskContext::connectPorts(), RTT::base::InputPortInterface::connectTo(), RTT::internal::ConnFactory::createAndCheckConnection(), RTT::internal::ConnFactory::createAndCheckSharedConnection(), RTT::internal::ConnFactory::createAndCheckStream(), createConnection(), RTT::corba::RemoteInputPort::createConnection(), RTT::internal::ConnFactory::createConnection(), RTT::base::PortInterface::createPortObject(), RTT::corba::CorbaFallBackProtocol::createStream(), RTT::corba::CDataFlowInterface_i::deregisterChannel(), disconnect(), RTT::internal::ConnectionManager::eraseConnection(), RTT::internal::ConnFactory::findSharedConnection(), RTT::OutputPort< T >::setDataSample(), RTT::mqueue::MQSendRecv::setupStream(), and RTT::OutputPort< T >::write().
|
virtualinherited |
Reimplemented from RTT::base::PortInterface.
|
virtualinherited |
Returns a pointer to the shared connection element this port may be connected to.
Definition at line 109 of file PortInterface.cpp.
References RTT::base::PortInterface::cmanager, and RTT::internal::ConnectionManager::getSharedConnection().
Referenced by RTT::internal::ConnFactory::createAndCheckSharedConnection(), and RTT::internal::ConnFactory::findSharedConnection().
|
virtualinherited |
Implements RTT::base::PortInterface.
|
virtualinherited |
Returns true if this port is located on this process, and false otherwise.
Definition at line 71 of file PortInterface.cpp.
References RTT::base::PortInterface::serverProtocol().
Referenced by RTT::internal::ConnFactory::buildSharedConnection(), RTT::internal::ConnFactory::createAndCheckSharedConnection(), and RTT::internal::ConnFactory::createConnection().
|
virtual |
Change the setting for keeping the last written value.
Setting this to false will clear up any unneeded storage. If set, this port can initialize new connections with a data sample and allows real-time data transport of dynamically sized objects over its newly created connections.
Implements RTT::base::OutputPortInterface.
Definition at line 247 of file RemotePorts.cpp.
|
virtual |
Returns true if this port records the last written value.
Implements RTT::base::OutputPortInterface.
Definition at line 244 of file RemotePorts.cpp.
|
virtualinherited |
Removes a user created connection from this port.
This is an advanced method, prefer to use disconnect() or a method from a subclass of PortInterface.
Definition at line 95 of file PortInterface.cpp.
References RTT::base::PortInterface::cmanager, and RTT::internal::ConnectionManager::removeConnection().
Referenced by RTT::corba::CDataFlowInterface_i::deregisterChannel().
|
virtualinherited |
Reimplemented from RTT::base::PortInterface.
|
inherited |
Once a port is added to a DataFlowInterface, it gets a pointer to that interface.
This allows advanced ports to track back to which component they belong.
Definition at line 100 of file PortInterface.cpp.
References RTT::base::PortInterface::iface.
Referenced by RTT::DataFlowInterface::addLocalPort(), and RTT::corba::CDataFlowInterface_i::deregisterChannel().
|
inherited |
Change the name of this unconnected Port.
One can only change the name when it is not yet connected.
true | if !this->connected(), the name has changed. |
false | if this->connected(), the name has not been changed. |
Definition at line 51 of file PortInterface.cpp.
References RTT::base::PortInterface::connected().
Referenced by RTT::DataFlowInterface::addEventPort(), RTT::TaskContext::addEventPort(), RTT::DataFlowInterface::addPort(), and RTT::TaskContext::addPort().
|
virtualinherited |
Write this port using the value stored in source.
Reimplemented in RTT::OutputPort< T >.
Definition at line 81 of file OutputPortInterface.cpp.
|
protectedinherited |
Definition at line 64 of file PortInterface.hpp.
Referenced by RTT::base::OutputPortInterface::addConnection(), RTT::OutputPort< T >::clear(), RTT::base::OutputPortInterface::connected(), RTT::base::PortInterface::connectedTo(), RTT::base::OutputPortInterface::disconnect(), RTT::base::PortInterface::getSharedConnection(), RTT::base::PortInterface::removeConnection(), and RTT::base::OutputPortInterface::~OutputPortInterface().
|
protectedinherited |
Definition at line 66 of file RemotePorts.hpp.
Referenced by createConnection(), and disconnect().
|
protectedinherited |
Definition at line 63 of file PortInterface.hpp.
Referenced by RTT::base::PortInterface::createPortObject(), RTT::base::PortInterface::doc(), RTT::base::PortInterface::getInterface(), and RTT::base::PortInterface::setInterface().
|
protectedinherited |
Definition at line 67 of file RemotePorts.hpp.
Referenced by createConnection().
|
protectedinherited |
Definition at line 65 of file RemotePorts.hpp.
Referenced by antiClone(), and clone().