OpenRTM-aist
1.2.1
|
OutPort template class. More...
#include <OutPort.h>
Public Member Functions | |
OutPort (const char *name, DataType &value) | |
Constructor. More... | |
virtual | ~OutPort (void) |
Destructor. More... | |
virtual bool | write (DataType &value) |
Write data. More... | |
bool | write () |
Write data. More... | |
bool | operator<< (DataType &value) |
Write data. More... | |
DataPortStatus::Enum | getStatus (int index) |
Getting specified connector's writing status. More... | |
DataPortStatusList | getStatusList () |
Getting specified connector's writing status list. More... | |
void | setOnWrite (OnWrite< DataType > *on_write) |
Set OnWrite callback. More... | |
void | setOnWriteConvert (OnWriteConvert< DataType > *on_wconvert) |
Set OnWriteConvert callback. More... | |
virtual void | read (DataType &data) |
virtual bool | isEmpty () |
virtual bool | isNew () |
Public Member Functions inherited from RTC::OutPortBase | |
OutPortBase (const char *name, const char *data_type) | |
Constructor. More... | |
virtual | ~OutPortBase (void) |
Destructor. More... | |
void | init (coil::Properties &prop) |
Initializing properties. More... | |
coil::Properties & | properties () |
Get properties. More... | |
const std::vector< OutPortConnector * > & | connectors () |
Connector list. More... | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile list. More... | |
coil::vstring | getConnectorIds () |
ConnectorId list. More... | |
coil::vstring | getConnectorNames () |
Connector name list. More... | |
OutPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. More... | |
OutPortConnector * | getConnectorByName (const char *name) |
Getting Connector by name. More... | |
bool | getConnectorProfileById (const char *id, ConnectorInfo &prof) |
Getting ConnectorProfile by name. More... | |
bool | getConnectorProfileByName (const char *name, ConnectorInfo &prof) |
Getting ConnectorProfile by name. More... | |
virtual void | activateInterfaces () |
Activate all Port interfaces. More... | |
virtual void | deactivateInterfaces () |
Deactivate all Port interfaces. More... | |
void | addConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener, bool autoclean=true) |
Adding BufferDataListener type listener. More... | |
void | removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener) |
Removing BufferDataListener type listener. More... | |
void | addConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener, bool autoclean=true) |
Adding ConnectorListener type listener. More... | |
void | removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener) |
Removing BufferDataListener type listener. More... | |
bool | isLittleEndian () |
return it whether endian setting. More... | |
virtual ReturnCode_t | connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Connect the Port More... | |
virtual ConnectorListeners & | getListeners () |
Getting listeners holder. More... | |
Public Member Functions inherited from RTC::PortBase | |
PortBase (const char *name="") | |
Constructor. More... | |
virtual | ~PortBase (void) |
Destructor. More... | |
virtual PortProfile * | get_port_profile () throw (CORBA::SystemException) |
[CORBA interface] Get the PortProfile of the Port More... | |
const PortProfile & | getPortProfile () const |
Get the PortProfile of the Port. More... | |
virtual ConnectorProfileList * | get_connector_profiles () throw (CORBA::SystemException) |
[CORBA interface] Get the ConnectorProfileList of the Port More... | |
virtual ConnectorProfile * | get_connector_profile (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Get the ConnectorProfile More... | |
virtual ReturnCode_t | disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Disconnect the Port More... | |
virtual ReturnCode_t | notify_disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Notify the Ports disconnection More... | |
virtual ReturnCode_t | disconnect_all () throw (CORBA::SystemException) |
[CORBA interface] Disconnect the All Ports More... | |
void | setName (const char *name) |
Set the name of this Port. More... | |
const char * | getName () const |
Get the name of this Port. More... | |
const PortProfile & | getProfile () const |
Get the PortProfile of the Port. More... | |
void | setPortRef (PortService_ptr port_ref) |
Set the object reference of this Port. More... | |
PortService_ptr | getPortRef () const |
Get the object reference of this Port. More... | |
void | setOwner (RTObject_ptr owner) |
Set the owner RTObject of the Port. More... | |
void | setOnPublishInterfaces (ConnectionCallback *on_publish) |
Setting callback called on publish interfaces. More... | |
void | setOnSubscribeInterfaces (ConnectionCallback *on_subscribe) |
Setting callback called on publish interfaces. More... | |
void | setOnConnected (ConnectionCallback *on_connected) |
Setting callback called on connection established. More... | |
void | setOnUnsubscribeInterfaces (ConnectionCallback *on_subscribe) |
Setting callback called on unsubscribe interfaces. More... | |
void | setOnDisconnected (ConnectionCallback *on_disconnected) |
Setting callback called on disconnected. More... | |
void | setOnConnectionLost (ConnectionCallback *on_connection_lost) |
Setting callback called on connection lost. More... | |
void | setPortConnectListenerHolder (PortConnectListeners *portconnListeners) |
Setting PortConnectListener holder. More... | |
virtual DirectPortBase * | getDirectPort () |
Additional Inherited Members | |
Public Types inherited from RTC::DataPortStatus | |
enum | Enum { PORT_OK = 0, PORT_ERROR, BUFFER_ERROR, BUFFER_FULL, BUFFER_EMPTY, BUFFER_TIMEOUT, SEND_FULL, SEND_TIMEOUT, RECV_EMPTY, RECV_TIMEOUT, INVALID_ARGS, PRECONDITION_NOT_MET, CONNECTION_LOST, UNKNOWN_ERROR } |
DataPortStatus return codes. More... | |
Static Public Member Functions inherited from RTC::DataPortStatus | |
static const char * | toString (DataPortStatus::Enum status) |
Convert DataPortStatus into the string. More... | |
Public Attributes inherited from RTC::OutPortBase | |
DATAPORTSTATUS_ENUM typedef std::vector< OutPortConnector * > | ConnectorList |
Protected Types inherited from RTC::PortBase | |
typedef coil::Guard< coil::Mutex > | Guard |
Protected Member Functions inherited from RTC::OutPortBase | |
void | configure () |
Configureing outport. More... | |
virtual ReturnCode_t | publishInterfaces (ConnectorProfile &connector_profile) |
Publish interface information. More... | |
virtual ReturnCode_t | subscribeInterfaces (const ConnectorProfile &connector_profile) |
Subscribe to the interface. More... | |
virtual void | unsubscribeInterfaces (const ConnectorProfile &connector_profile) |
Disconnect the interface connection. More... | |
void | initProviders () |
OutPort provider initialization. More... | |
void | initConsumers () |
InPort consumer initialization. More... | |
bool | checkEndian (const coil::Properties &prop, bool &littleEndian) |
Checking endian flag of serializer. More... | |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider creation. More... | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer creation. More... | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer) |
OutPortPushConnector creation. More... | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider) |
OutPortPullConnector creation. More... | |
virtual ReturnCode_t | notify_connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Notify the Ports connection More... | |
InPortBase * | getLocalInPort (const ConnectorInfo &profile) |
Getting local peer InPort if available. More... | |
Protected Member Functions inherited from RTC::PortBase | |
virtual ReturnCode_t | connectNext (ConnectorProfile &connector_profile) |
Call notify_connect() of the next Port. More... | |
virtual ReturnCode_t | disconnectNext (ConnectorProfile &connector_profile) |
Call notify_disconnect() of the next Port. More... | |
virtual void | setConnectionLimit (int limit_value) |
Set the maximum number of connections. More... | |
virtual ReturnCode_t | _publishInterfaces (void) |
Publish interface information. More... | |
bool | isEmptyId (const ConnectorProfile &connector_profile) const |
Check whether connector_id of ConnectorProfile is empty. More... | |
const std::string | getUUID () const |
Generate the UUID. More... | |
void | setUUID (ConnectorProfile &connector_profile) const |
Generate and set the UUID to the ConnectorProfile. More... | |
bool | isExistingConnId (const char *id) |
Check whether the given id exists in stored ConnectorProfiles. More... | |
ConnectorProfile | findConnProfile (const char *id) |
Find ConnectorProfile with id. More... | |
CORBA::Long | findConnProfileIndex (const char *id) |
Find ConnectorProfile with id. More... | |
void | updateConnectorProfile (const ConnectorProfile &connector_profile) |
Append or update the ConnectorProfile list. More... | |
bool | eraseConnectorProfile (const char *id) |
Delete the ConnectorProfile. More... | |
bool | appendInterface (const char *name, const char *type_name, PortInterfacePolarity pol) |
Append an interface to the PortInterfaceProfile. More... | |
bool | deleteInterface (const char *name, PortInterfacePolarity pol) |
Delete the interface registration from the PortInterfaceProfile. More... | |
template<class ValueType > | |
void | addProperty (const char *key, ValueType value) |
Add NameValue data to PortProfile's properties. More... | |
void | appendProperty (const char *key, const char *value) |
Append NameValue data to PortProfile's properties. More... | |
void | updateConnectors () |
Disconnect ports that doesn't exist. More... | |
bool | checkPorts (::RTC::PortServiceList &ports) |
Existence of ports. More... | |
void | onNotifyConnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onNotifyDisconnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onUnsubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile) |
void | onPublishInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onConnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onSubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onConnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
Protected Attributes inherited from RTC::OutPortBase | |
std::vector< OutPortConnector * > | m_connectors |
Connection list. More... | |
coil::vstring | m_providerTypes |
Available providers. More... | |
coil::vstring | m_consumerTypes |
Available consumers. More... | |
bool | m_littleEndian |
Connected Endian. More... | |
ConnectorListeners | m_listeners |
ConnectorDataListener listener. More... | |
Protected Attributes inherited from RTC::PortBase | |
coil::Properties | m_properties |
Properties. More... | |
Logger | rtclog |
Logger stream. More... | |
PortProfile | m_profile |
PortProfile of the Port. More... | |
RTC::PortService_var | m_objref |
Object Reference of the Port. More... | |
coil::Mutex | m_profile_mutex |
Mutex of PortProfile. More... | |
coil::Mutex | m_connectorsMutex |
std::string | m_ownerInstanceName |
Instance name. More... | |
int | m_connectionLimit |
The maximum number of connections. More... | |
ConnectionCallback * | m_onPublishInterfaces |
Callback functor objects. More... | |
ConnectionCallback * | m_onSubscribeInterfaces |
Callback functor objects. More... | |
ConnectionCallback * | m_onConnected |
Callback functor objects. More... | |
ConnectionCallback * | m_onUnsubscribeInterfaces |
Callback functor objects. More... | |
ConnectionCallback * | m_onDisconnected |
Callback functor objects. More... | |
ConnectionCallback * | m_onConnectionLost |
Callback functor objects. More... | |
PortConnectListeners * | m_portconnListeners |
PortConnectListener holder. More... | |
DirectPortBase * | m_directport |
OutPort template class.
This is the OutPort template class. The data type "DateType" supported by OutPort and the buffer type "BufferType" are used as template arguments.
|
inline |
Constructor.
Constructor
name | Port's name |
value | Data variable bound to this port |
length | Buffer length (The default value:8) |
References RTC::OutPortBase::addConnectorDataListener(), RTC::PortBase::m_directport, RTC::ON_BUFFER_WRITE, and RTC::ON_SEND.
|
inlinevirtual |
Destructor.
Destructor
|
inline |
Getting specified connector's writing status.
An OutPort has Connectors that are virtual data stream channel for each connection. "write()" function write into these Connectors, and each Connector returns writing-status. write() function will return a true value if all Connectors return normal status, and a false value will be returned if at least one Connector failed. This function can be used to inspect each return status
index | Connector index |
|
inline |
Getting specified connector's writing status list.
An OutPort has Connectors that are virtual data stream channel for each connection. "write()" function write into these Connectors, and each Connector returns writing-status. write() function will return a true value if all Connectors return normal status, and a false value will be returned if at least one Connector failed. This function can be used to inspect each return status
|
inlinevirtual |
Reimplemented from RTC::DirectOutPortBase< DataType >.
|
inlinevirtual |
Reimplemented from RTC::DirectOutPortBase< DataType >.
|
inline |
Write data.
Write data to the port. Write the set value to the port.
value | The target data for writing |
References RTC::OutPort< DataType >::write().
|
inlinevirtual |
data |
Reimplemented from RTC::DirectOutPortBase< DataType >.
|
inline |
Set OnWrite callback.
This operation sets the OnWrite callback functor that is called just before write() operation call. The ownership of the functor object is owned by caller of this operation. Therefore caller have to destruct the callback functor object by itself. Giving 0 as an argument for this operation, callback will be disabled.
on_write | OnWrite callback functor |
|
inline |
Set OnWriteConvert callback.
This operation sets the OnWriteConvert callback functor that converts given data and is called just before write() operation call. A recent data is given to argument and return data will be written into connector or its buffer. The ownership of the functor object is owned by caller of this operation. Therefore caller have to destruct the callback functor object by itself. Giving 0 as an argument for this operation, callback will be disabled.
on_wconvert | OnWriteConvert callback functor |
|
inlinevirtual |
Write data.
Write data in the port.
value | The target data for writing |
References RTC::DataPortStatus::CONNECTION_LOST, RTC::PortBase::disconnect(), RTC::PortBase::findConnProfile(), CORBA_SeqUtil::for_each(), RTC::OutPortBase::m_connectors, RTC::PortBase::m_connectorsMutex, RTC::PortBase::m_onConnectionLost, RTC::DataPortStatus::PORT_OK, RTC_DEBUG, RTC_TRACE, and RTC_WARN.
|
inlinevirtual |
Write data.
Write data to the port. Write the value, which was set to the bound variable, to the port.
Implements RTC::OutPortBase.
Referenced by RTC::OutPort< DataType >::operator<<().