OutPort template class. More...
#include <OutPort.h>
Public Member Functions | |
DataPortStatus::Enum | getStatus (int index) |
Getting specified connector's writing status. More... | |
DataPortStatusList | getStatusList () |
Getting specified connector's writing status list. More... | |
bool | operator<< (DataType &value) |
Write data. More... | |
OutPort (const char *name, DataType &value) | |
Constructor. More... | |
void | setOnWrite (OnWrite< DataType > *on_write) |
Set OnWrite callback. More... | |
void | setOnWriteConvert (OnWriteConvert< DataType > *on_wconvert) |
Set OnWriteConvert callback. More... | |
virtual bool | write (DataType &value) |
Write data. More... | |
bool | write () |
Write data. More... | |
virtual | ~OutPort (void) |
Destructor. More... | |
![]() | |
virtual void | activateInterfaces () |
Activate all Port interfaces. More... | |
void | addConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener, bool autoclean=true) |
Adding BufferDataListener type listener. More... | |
void | addConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener, bool autoclean=true) |
Adding ConnectorListener type listener. More... | |
virtual ReturnCode_t | connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Connect the Port More... | |
const std::vector< OutPortConnector * > & | connectors () |
Connector list. More... | |
virtual void | deactivateInterfaces () |
Deactivate all Port interfaces. More... | |
OutPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. More... | |
OutPortConnector * | getConnectorByName (const char *name) |
Getting Connector by name. More... | |
coil::vstring | getConnectorIds () |
ConnectorId list. More... | |
coil::vstring | getConnectorNames () |
Connector name list. 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... | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile list. More... | |
void | init (coil::Properties &prop) |
Initializing properties. More... | |
bool | isLittleEndian () |
return it whether endian setting. More... | |
OutPortBase (const char *name, const char *data_type) | |
Constructor. More... | |
coil::Properties & | properties () |
Get properties. More... | |
void | removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener) |
Removing BufferDataListener type listener. More... | |
void | removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener) |
Removing BufferDataListener type listener. More... | |
virtual | ~OutPortBase (void) |
Destructor. More... | |
![]() | |
virtual ReturnCode_t | disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Disconnect the Port More... | |
virtual ReturnCode_t | disconnect_all () throw (CORBA::SystemException) |
[CORBA interface] Disconnect the All Ports More... | |
virtual ConnectorProfile * | get_connector_profile (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Get the ConnectorProfile More... | |
virtual ConnectorProfileList * | get_connector_profiles () throw (CORBA::SystemException) |
[CORBA interface] Get the ConnectorProfileList of the Port More... | |
virtual PortProfile * | get_port_profile () throw (CORBA::SystemException) |
[CORBA interface] Get the PortProfile of the Port More... | |
const char * | getName () const |
Get the name of this Port. More... | |
const PortProfile & | getPortProfile () const |
Get the PortProfile of the Port. More... | |
PortService_ptr | getPortRef () |
Get the object reference of this Port. More... | |
const PortProfile & | getProfile () const |
Get the PortProfile of the Port. More... | |
virtual ReturnCode_t | notify_connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Notify the Ports connection More... | |
virtual ReturnCode_t | notify_disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Notify the Ports disconnection More... | |
PortBase (const char *name="") | |
Constructor. More... | |
void | setName (const char *name) |
Set the name of this Port. More... | |
void | setOnConnected (ConnectionCallback *on_connected) |
Setting callback called on connection established. More... | |
void | setOnConnectionLost (ConnectionCallback *on_connection_lost) |
Setting callback called on connection lost. More... | |
void | setOnDisconnected (ConnectionCallback *on_disconnected) |
Setting callback called on disconnected. 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 | setOnUnsubscribeInterfaces (ConnectionCallback *on_subscribe) |
Setting callback called on unsubscribe interfaces. More... | |
void | setOwner (RTObject_ptr owner) |
Set the owner RTObject of the Port. More... | |
void | setPortConnectListenerHolder (PortConnectListeners *portconnListeners) |
Setting PortConnectListener holder. More... | |
void | setPortRef (PortService_ptr port_ref) |
Set the object reference of this Port. More... | |
virtual | ~PortBase (void) |
Destructor. More... | |
Private Attributes | |
coil::TimeMeasure | m_cdrtime |
OnWrite< DataType > * | m_onWrite |
Pointer to OnWrite callback functor. More... | |
OnWriteConvert< DataType > * | m_onWriteConvert |
Pointer to OnWriteConvert callback functor. More... | |
DataPortStatusList | m_status |
std::string | m_typename |
DataType & | m_value |
The reference to type-T variable that is bound. More... | |
Additional Inherited Members | |
![]() | |
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 const char * | toString (DataPortStatus::Enum status) |
Convert DataPortStatus into the string. More... | |
![]() | |
DATAPORTSTATUS_ENUM typedef std::vector< OutPortConnector * > | ConnectorList |
![]() | |
typedef coil::Guard< coil::Mutex > | Guard |
![]() | |
bool | checkEndian (const coil::Properties &prop, bool &littleEndian) |
Checking endian flag of serializer. More... | |
void | configure () |
Configureing outport. 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... | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer creation. More... | |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider creation. More... | |
void | initConsumers () |
InPort consumer initialization. More... | |
void | initProviders () |
OutPort provider initialization. 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... | |
![]() | |
virtual ReturnCode_t | _publishInterfaces (void) |
Publish interface information. More... | |
template<class ValueType > | |
void | addProperty (const char *key, ValueType value) |
Add NameValue data to PortProfile's properties. More... | |
bool | appendInterface (const char *name, const char *type_name, PortInterfacePolarity pol) |
Append an interface to the PortInterfaceProfile. More... | |
void | appendProperty (const char *key, const char *value) |
Append NameValue data to PortProfile's properties. More... | |
bool | checkPorts (::RTC::PortServiceList &ports) |
Existence of ports. More... | |
virtual ReturnCode_t | connectNext (ConnectorProfile &connector_profile) |
Call notify_connect() of the next Port. More... | |
bool | deleteInterface (const char *name, PortInterfacePolarity pol) |
Delete the interface registration from the PortInterfaceProfile. More... | |
virtual ReturnCode_t | disconnectNext (ConnectorProfile &connector_profile) |
Call notify_disconnect() of the next Port. More... | |
bool | eraseConnectorProfile (const char *id) |
Delete the ConnectorProfile. More... | |
ConnectorProfile | findConnProfile (const char *id) |
Find ConnectorProfile with id. More... | |
CORBA::Long | findConnProfileIndex (const char *id) |
Find ConnectorProfile with id. More... | |
const std::string | getUUID () const |
Generate the UUID. More... | |
bool | isEmptyId (const ConnectorProfile &connector_profile) const |
Check whether connector_id of ConnectorProfile is empty. More... | |
bool | isExistingConnId (const char *id) |
Check whether the given id exists in stored ConnectorProfiles. More... | |
void | onConnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onConnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onNotifyConnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onNotifyDisconnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onPublishInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onSubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onUnsubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile) |
virtual void | setConnectionLimit (int limit_value) |
Set the maximum number of connections. More... | |
void | setUUID (ConnectorProfile &connector_profile) const |
Generate and set the UUID to the ConnectorProfile. More... | |
void | updateConnectorProfile (const ConnectorProfile &connector_profile) |
Append or update the ConnectorProfile list. More... | |
void | updateConnectors () |
Disconnect ports that doesn't exist. More... | |
![]() | |
std::vector< OutPortConnector * > | m_connectors |
Connection list. More... | |
coil::vstring | m_consumerTypes |
Available consumers. More... | |
ConnectorListeners | m_listeners |
ConnectorDataListener listener. More... | |
bool | m_littleEndian |
Connected Endian. More... | |
coil::Properties | m_properties |
Properties. More... | |
coil::vstring | m_providerTypes |
Available providers. More... | |
![]() | |
int | m_connectionLimit |
The maximum number of connections. More... | |
coil::Mutex | m_connectorsMutex |
RTC::PortService_var | m_objref |
Object Reference of the Port. More... | |
ConnectionCallback * | m_onConnected |
Callback functor objects. More... | |
ConnectionCallback * | m_onConnectionLost |
Callback functor objects. More... | |
ConnectionCallback * | m_onDisconnected |
Callback functor objects. More... | |
ConnectionCallback * | m_onPublishInterfaces |
Callback functor objects. More... | |
ConnectionCallback * | m_onSubscribeInterfaces |
Callback functor objects. More... | |
ConnectionCallback * | m_onUnsubscribeInterfaces |
Callback functor objects. More... | |
std::string | m_ownerInstanceName |
Instance name. More... | |
PortConnectListeners * | m_portconnListeners |
PortConnectListener holder. More... | |
PortProfile | m_profile |
PortProfile of the Port. More... | |
coil::Mutex | m_profile_mutex |
Mutex of PortProfile. More... | |
Logger | rtclog |
Logger stream. More... | |
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 |
|
inlinevirtual |
|
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
|
inline |
|
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 |
|
inlinevirtual |
Write data.
Write data to the port. Write the value, which was set to the bound variable, to the port.
Implements RTC::OutPortBase.
|
private |
|
private |
|
private |
Pointer to OnWriteConvert callback functor.
|
private |
|
private |
|
private |