Public Member Functions | Private Attributes | List of all members
RTC::OutPort< DataType > Class Template Reference

OutPort template class. More...

#include <OutPort.h>

Inheritance diagram for RTC::OutPort< DataType >:
Inheritance graph
[legend]

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...
 
- Public Member Functions inherited from RTC::OutPortBase
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...
 
OutPortConnectorgetConnectorById (const char *id)
 Getting ConnectorProfile by ID. More...
 
OutPortConnectorgetConnectorByName (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::Propertiesproperties ()
 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...
 
- Public Member Functions inherited from RTC::PortBase
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

- 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::MutexGuard
 
- Protected Member Functions inherited from RTC::OutPortBase
bool checkEndian (const coil::Properties &prop, bool &littleEndian)
 Checking endian flag of serializer. More...
 
void configure ()
 Configureing outport. More...
 
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer)
 OutPortPushConnector creation. More...
 
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider)
 OutPortPullConnector creation. More...
 
InPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 InPort consumer creation. More...
 
OutPortProvidercreateProvider (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...
 
- Protected Member Functions inherited from RTC::PortBase
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...
 
- Protected Attributes inherited from RTC::OutPortBase
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...
 
- Protected Attributes inherited from RTC::PortBase
int m_connectionLimit
 The maximum number of connections. More...
 
coil::Mutex m_connectorsMutex
 
RTC::PortService_var m_objref
 Object Reference of the Port. More...
 
ConnectionCallbackm_onConnected
 Callback functor objects. More...
 
ConnectionCallbackm_onConnectionLost
 Callback functor objects. More...
 
ConnectionCallbackm_onDisconnected
 Callback functor objects. More...
 
ConnectionCallbackm_onPublishInterfaces
 Callback functor objects. More...
 
ConnectionCallbackm_onSubscribeInterfaces
 Callback functor objects. More...
 
ConnectionCallbackm_onUnsubscribeInterfaces
 Callback functor objects. More...
 
std::string m_ownerInstanceName
 Instance name. More...
 
PortConnectListenersm_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...
 

Detailed Description

template<class DataType>
class RTC::OutPort< DataType >

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.

Since
0.2.0

Definition at line 106 of file OutPort.h.

Constructor & Destructor Documentation

template<class DataType>
RTC::OutPort< DataType >::OutPort ( const char *  name,
DataType &  value 
)
inline

Constructor.

Constructor

Parameters
namePort's name
valueData variable bound to this port
lengthBuffer length (The default value:8)

Definition at line 133 of file OutPort.h.

template<class DataType>
virtual RTC::OutPort< DataType >::~OutPort ( void  )
inlinevirtual

Destructor.

Destructor

Definition at line 158 of file OutPort.h.

Member Function Documentation

template<class DataType>
DataPortStatus::Enum RTC::OutPort< DataType >::getStatus ( int  index)
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

Parameters
indexConnector index
Returns
Writing status

Definition at line 347 of file OutPort.h.

template<class DataType>
DataPortStatusList RTC::OutPort< DataType >::getStatusList ( )
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

Returns
Writing status list

Definition at line 381 of file OutPort.h.

template<class DataType>
bool RTC::OutPort< DataType >::operator<< ( DataType &  value)
inline

Write data.

Write data to the port. Write the set value to the port.

Parameters
valueThe target data for writing
Returns
Writing result (Successful:true, Failed:false)

Definition at line 310 of file OutPort.h.

template<class DataType>
void RTC::OutPort< DataType >::setOnWrite ( OnWrite< DataType > *  on_write)
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.

Parameters
on_writeOnWrite callback functor

Definition at line 415 of file OutPort.h.

template<class DataType>
void RTC::OutPort< DataType >::setOnWriteConvert ( OnWriteConvert< DataType > *  on_wconvert)
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.

Parameters
on_wconvertOnWriteConvert callback functor

Definition at line 456 of file OutPort.h.

template<class DataType>
virtual bool RTC::OutPort< DataType >::write ( DataType &  value)
inlinevirtual

Write data.

Write data in the port.

  • When callback functor OnWrite is already set, OnWrite will be invoked before writing into the buffer held by OutPort.
  • When the buffer held by OutPort can detect the overflow, and when it detected the overflow at writing, callback functor OnOverflow will be invoked.
  • When callback functor OnWriteConvert is already set, the return value of operator() of OnWriteConvert will be written into the buffer at the writing.
Parameters
valueThe target data for writing
Returns
Writing result (Successful:true, Failed:false)

Definition at line 203 of file OutPort.h.

template<class DataType>
bool RTC::OutPort< DataType >::write ( )
inlinevirtual

Write data.

Write data to the port. Write the value, which was set to the bound variable, to the port.

Returns
Writing result (Successful:true, Failed:false)

Implements RTC::OutPortBase.

Definition at line 280 of file OutPort.h.

Member Data Documentation

template<class DataType>
coil::TimeMeasure RTC::OutPort< DataType >::m_cdrtime
private

Definition at line 490 of file OutPort.h.

template<class DataType>
OnWrite<DataType>* RTC::OutPort< DataType >::m_onWrite
private

Pointer to OnWrite callback functor.

Definition at line 479 of file OutPort.h.

template<class DataType>
OnWriteConvert<DataType>* RTC::OutPort< DataType >::m_onWriteConvert
private

Pointer to OnWriteConvert callback functor.

Definition at line 488 of file OutPort.h.

template<class DataType>
DataPortStatusList RTC::OutPort< DataType >::m_status
private

Definition at line 492 of file OutPort.h.

template<class DataType>
std::string RTC::OutPort< DataType >::m_typename
private

Definition at line 462 of file OutPort.h.

template<class DataType>
DataType& RTC::OutPort< DataType >::m_value
private

The reference to type-T variable that is bound.

Definition at line 470 of file OutPort.h.


The documentation for this class was generated from the following file:


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Mon Jun 10 2019 14:08:03