RTC::OutPortBase Class Reference

Output base class. More...

#include <OutPortBase.h>

Inheritance diagram for RTC::OutPortBase:
RTC::PortBase RTC::DataPortStatus RTC::OutPort< DataType >

List of all members.

Public Member Functions

 OutPortBase (const char *name, const char *data_type)
 Constructor.
virtual ~OutPortBase (void)
 Destructor.
void init (coil::Properties &prop)
 Initializing properties.
virtual bool write ()=0
 Write data.
coil::Propertiesproperties ()
 Get properties.
const std::vector
< OutPortConnector * > & 
connectors ()
 Connector list.
ConnectorInfoList getConnectorProfiles ()
 ConnectorProfile list.
coil::vstring getConnectorIds ()
 ConnectorId list.
coil::vstring getConnectorNames ()
 Connector name list.
OutPortConnectorgetConnectorById (const char *id)
 Getting ConnectorProfile by ID.
OutPortConnectorgetConnectorByName (const char *name)
 Getting Connector by name.
bool getConnectorProfileById (const char *id, ConnectorInfo &prof)
 Getting ConnectorProfile by name.
bool getConnectorProfileByName (const char *name, ConnectorInfo &prof)
 Getting ConnectorProfile by name.
virtual void activateInterfaces ()
 Activate all Port interfaces.
virtual void deactivateInterfaces ()
 Deactivate all Port interfaces.
void addConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener, bool autoclean=true)
 Adding BufferDataListener type listener.
void removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener)
 Removing BufferDataListener type listener.
void addConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener, bool autoclean=true)
 Adding ConnectorListener type listener.
void removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener)
 Removing BufferDataListener type listener.
bool isLittleEndian ()
 return it whether endian setting.
virtual ReturnCode_t connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException)
 [CORBA interface] Connect the Port

Public Attributes

DATAPORTSTATUS_ENUM typedef
std::vector< OutPortConnector * > 
ConnectorList

Protected Member Functions

void configure ()
 Configureing outport.
virtual ReturnCode_t publishInterfaces (ConnectorProfile &connector_profile)
 Publish interface information.
virtual ReturnCode_t subscribeInterfaces (const ConnectorProfile &connector_profile)
 Subscribe to the interface.
virtual void unsubscribeInterfaces (const ConnectorProfile &connector_profile)
 Disconnect the interface connection.
void initProviders ()
 OutPort provider initialization.
void initConsumers ()
 InPort consumer initialization.
bool checkEndian (const coil::Properties &prop, bool &littleEndian)
 Checking endian flag of serializer.
OutPortProvidercreateProvider (ConnectorProfile &cprof, coil::Properties &prop)
 OutPort provider creation.
InPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 InPort consumer creation.
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer)
 OutPortPushConnector creation.
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider)
 OutPortPullConnector creation.

Protected Attributes

coil::Properties m_properties
 Properties.
std::vector< OutPortConnector * > m_connectors
 Connection list.
coil::vstring m_providerTypes
 Available providers.
coil::vstring m_consumerTypes
 Available consumers.
bool m_littleEndian
 Connected Endian.
ConnectorListeners m_listeners
 ConnectorDataListener listener.

Detailed Description

Output base class.

The base class of OutPort<T> which are implementations of OutPort

Form a kind of Observer pattern with OutPortBase and PublisherBase. attach(), detach(), notify() of OutPortBase and push() of PublisherBase are methods associated with the Observer pattern.

Since:
0.2.0

Constructor & Destructor Documentation

RTC::OutPortBase::OutPortBase ( const char *  name,
const char *  data_type 
)

Constructor.

Constructor

Parameters:
name Port name
data_type Data type
virtual RTC::OutPortBase::~OutPortBase ( void   )  [virtual]

Destructor.

Destructor Detach all subscribed Publishers.


Member Function Documentation

virtual void RTC::OutPortBase::activateInterfaces (  )  [virtual]

Activate all Port interfaces.

This operation activate all interfaces that is registered in the ports.

Implements RTC::PortBase.

void RTC::OutPortBase::addConnectorDataListener ( ConnectorDataListenerType  listener_type,
ConnectorDataListener listener,
bool  autoclean = true 
)

Adding BufferDataListener type listener.

This operation adds certain listeners related to buffer writing and reading events. The following listener types are available.

  • ON_BUFFER_WRITE: At the time of buffer write
  • ON_BUFFER_FULL: At the time of buffer full
  • ON_BUFFER_WRITE_TIMEOUT: At the time of buffer write timeout
  • ON_BUFFER_OVERWRITE: At the time of buffer overwrite
  • ON_BUFFER_READ: At the time of buffer read
  • ON_SEND: At the time of sending to InPort
  • ON_RECEIVED: At the time of finishing sending to InPort
  • ON_SENDER_TIMEOUT: At the time of timeout of OutPort
  • ON_SENDER_ERROR: At the time of error of OutPort
  • ON_RECEIVER_FULL: At the time of bufferfull of InPort
  • ON_RECEIVER_TIMEOUT: At the time of timeout of InPort
  • ON_RECEIVER_ERROR: At the time of error of InPort

Listeners should have the following function operator().

ConnectorDataListener:: operator()(const ConnectorProfile&, const cdrStream&)

The ownership of the given listener object is transferred to this OutPort object in default. The given listener object will be destroied automatically in the OutPort's dtor or if the listener is deleted by removeConnectorDataListener() function. If you want to keep ownership of the listener object, give "false" value to 3rd argument to inhibit automatic destruction.

Parameters:
listener_type A listener type
listener A pointer to a listener object
autoclean A flag for automatic listener destruction
void RTC::OutPortBase::addConnectorListener ( ConnectorListenerType  callback_type,
ConnectorListener listener,
bool  autoclean = true 
)

Adding ConnectorListener type listener.

This operation adds certain listeners related to buffer writing and reading events. The following listener types are available.

  • ON_BUFFER_EMPTY: At the time of buffer empty
  • ON_BUFFER_READTIMEOUT: At the time of buffer read timeout

Listeners should have the following function operator().

ConnectorListener::operator()(const ConnectorProfile&)

The ownership of the given listener object is transferred to this OutPort object in default. The given listener object will be destroied automatically in the OutPort's dtor or if the listener is deleted by removeConnectorListener() function. If you want to keep ownership of the listener object, give "false" value to 3rd argument to inhibit automatic destruction.

Parameters:
listener_type A listener type
listener A pointer to a listener object
autoclean A flag for automatic listener destruction
bool RTC::OutPortBase::checkEndian ( const coil::Properties prop,
bool &  littleEndian 
) [protected]

Checking endian flag of serializer.

This operation checks endian flag of data serializer that is specified properties. If valid specification is found, this operation returns true and set argument littleEndian. True means little endian, false means big endian.

Parameters:
prop Properties
littleEndian Endian Information(true:little,false:big)
Returns:
true:"Serializer" key doesn't exist. or "Serializer" key exists and there is a content. false:There is no content though "Serializer" key exists. or ithe content is not "Little. " though "Serializer" key exists, or the content is not "little" or "big" though "Serializer" key exists.
void RTC::OutPortBase::configure (  )  [protected]

Configureing outport.

This operation configures the outport based on the properties.

virtual ReturnCode_t RTC::OutPortBase::connect ( ConnectorProfile &  connector_profile  )  throw (CORBA::SystemException) [virtual]

[CORBA interface] Connect the Port

This operation establishes connection according to the given ConnectionProfile inforamtion. This function is premised on calling from mainly application program or tools.

Parameters:
connector_profile The ConnectorProfile.
Returns:
ReturnCode_t The return code of ReturnCode_t type.

Reimplemented from RTC::PortBase.

const std::vector<OutPortConnector*>& RTC::OutPortBase::connectors (  ) 

Connector list.

This operation returns connector list

Returns:
connector list
OutPortConnector* RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
OutPortProvider provider 
) [protected]
OutPortConnector* RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
InPortConsumer consumer 
) [protected]
InPortConsumer* RTC::OutPortBase::createConsumer ( const ConnectorProfile &  cprof,
coil::Properties prop 
) [protected]

InPort consumer creation.

OutPortProvider* RTC::OutPortBase::createProvider ( ConnectorProfile &  cprof,
coil::Properties prop 
) [protected]

OutPort provider creation.

virtual void RTC::OutPortBase::deactivateInterfaces (  )  [virtual]

Deactivate all Port interfaces.

This operation deactivate all interfaces that is registered in the ports.

Implements RTC::PortBase.

OutPortConnector* RTC::OutPortBase::getConnectorById ( const char *  id  ) 

Getting ConnectorProfile by ID.

This operation returns Connector specified by ID.

Parameters:
id Connector ID
Returns:
A pointer to connector
OutPortConnector* RTC::OutPortBase::getConnectorByName ( const char *  name  ) 

Getting Connector by name.

This operation returns Connector specified by name.

Parameters:
id Connector ID
Returns:
A pointer to connector
coil::vstring RTC::OutPortBase::getConnectorIds (  ) 

ConnectorId list.

This operation returns ConnectorId list

Returns:
connector list
coil::vstring RTC::OutPortBase::getConnectorNames (  ) 

Connector name list.

This operation returns Connector name list

Returns:
connector name list
bool RTC::OutPortBase::getConnectorProfileById ( const char *  id,
ConnectorInfo prof 
)

Getting ConnectorProfile by name.

This operation returns ConnectorProfile specified by name

Parameters:
id Connector ID
prof ConnectorProfile
Returns:
false specified ID does not exist
bool RTC::OutPortBase::getConnectorProfileByName ( const char *  name,
ConnectorInfo prof 
)

Getting ConnectorProfile by name.

This operation returns ConnectorProfile specified by name

Parameters:
id Connector ID
prof ConnectorProfile
Returns:
false specified name does not exist
ConnectorInfoList RTC::OutPortBase::getConnectorProfiles (  ) 

ConnectorProfile list.

This operation returns ConnectorProfile list

Returns:
connector list
void RTC::OutPortBase::init ( coil::Properties prop  ) 

Initializing properties.

This operation initializes outport's properties

Parameters:
prop Property for setting ports
void RTC::OutPortBase::initConsumers (  )  [protected]

InPort consumer initialization.

void RTC::OutPortBase::initProviders (  )  [protected]

OutPort provider initialization.

bool RTC::OutPortBase::isLittleEndian (  ) 

return it whether endian setting.

Returns:
Return true in the case of "little", false in "big" than it.
coil::Properties& RTC::OutPortBase::properties (  ) 

Get properties.

Getting properties of this OutPort

Returns:
OutPort's properties
virtual ReturnCode_t RTC::OutPortBase::publishInterfaces ( ConnectorProfile &  connector_profile  )  [protected, virtual]

Publish interface information.

This operation is pure virutal function that would be called at the beginning of the notify_connect() process sequence. In the notify_connect(), the following methods would be called in order.

This operation should create the new connection for the new connector_id, and should update the connection for the existing connection_id.

Parameters:
connector_profile The connection profile information
Returns:
The return code of ReturnCode_t type.

Implements RTC::PortBase.

void RTC::OutPortBase::removeConnectorDataListener ( ConnectorDataListenerType  listener_type,
ConnectorDataListener listener 
)

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters:
listener_type A listener type
listener A pointer to a listener object
void RTC::OutPortBase::removeConnectorListener ( ConnectorListenerType  callback_type,
ConnectorListener listener 
)

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters:
listener_type A listener type
listener A pointer to a listener object
virtual ReturnCode_t RTC::OutPortBase::subscribeInterfaces ( const ConnectorProfile &  connector_profile  )  [protected, virtual]

Subscribe to the interface.

This operation is pure virutal function that would be called at the middle of the notify_connect() process sequence. In the notify_connect(), the following methods would be called in order.

Parameters:
connector_profile The connection profile information
Returns:
The return code of ReturnCode_t type.

Implements RTC::PortBase.

virtual void RTC::OutPortBase::unsubscribeInterfaces ( const ConnectorProfile &  connector_profile  )  [protected, virtual]

Disconnect the interface connection.

This operation is pure virutal function that would be called at the end of the notify_disconnect() process sequence. In the notify_disconnect(), the following methods would be called.

Parameters:
connector_profile The profile information associated with the connection

Implements RTC::PortBase.

virtual bool RTC::OutPortBase::write (  )  [pure virtual]

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)

Implemented in RTC::OutPort< DataType >.


Member Data Documentation

DATAPORTSTATUS_ENUM typedef std::vector<OutPortConnector*> RTC::OutPortBase::ConnectorList

Connection list.

Referenced by RTC::OutPort< DataType >::write().

Available consumers.

Connected Endian.

Properties.

Available providers.

Generated on Fri Oct 28 18:31:18 2016 for OpenRTM-aist by  doxygen 1.6.3