Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
RTC::OutPortBase Class Reference

Output base class. More...

#include <OutPortBase.h>

Inheritance diagram for RTC::OutPortBase:
Inheritance graph
[legend]

List of all members.

Classes

struct  connector_cleanup
 Functor to delete Connectors. More...
struct  provider_cleanup
 Functor to delete Providers. More...

Public Member Functions

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

Public Attributes

DATAPORTSTATUS_ENUM typedef
std::vector< OutPortConnector * > 
ConnectorList

Protected Member Functions

bool checkEndian (const coil::Properties &prop, bool &littleEndian)
 Checking endian flag of serializer.
void configure ()
 Configureing outport.
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer)
 OutPortPushConnector creation.
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider)
 OutPortPullConnector creation.
InPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 InPort consumer creation.
OutPortProvidercreateProvider (ConnectorProfile &cprof, coil::Properties &prop)
 OutPort provider creation.
void initConsumers ()
 InPort consumer initialization.
void initProviders ()
 OutPort provider initialization.
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.

Protected Attributes

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

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

Definition at line 230 of file OutPortBase.h.


Constructor & Destructor Documentation

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

Constructor.

Constructor

Parameters:
namePort name
data_typeData type

------------------------------------------------------------

Definition at line 81 of file OutPortBase.cpp.

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

Destructor.

Destructor Detach all subscribed Publishers.

Definition at line 110 of file OutPortBase.cpp.


Member Function Documentation

Activate all Port interfaces.

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

Implements RTC::PortBase.

Definition at line 325 of file OutPortBase.cpp.

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_typeA listener type
listenerA pointer to a listener object
autocleanA flag for automatic listener destruction

Definition at line 365 of file OutPortBase.cpp.

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_typeA listener type
listenerA pointer to a listener object
autocleanA flag for automatic listener destruction

Definition at line 413 of file OutPortBase.cpp.

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:
propProperties
littleEndianEndian 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.

Definition at line 807 of file OutPortBase.cpp.

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

Configureing outport.

This operation configures the outport based on the properties.

Definition at line 499 of file OutPortBase.cpp.

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_profileThe ConnectorProfile.
Returns:
ReturnCode_t The return code of ReturnCode_t type.

Reimplemented from RTC::PortBase.

Definition at line 470 of file OutPortBase.cpp.

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

Connector list.

This operation returns connector list

Returns:
connector list

Definition at line 172 of file OutPortBase.cpp.

OutPortConnector * RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
InPortConsumer consumer 
) [protected]

OutPortPushConnector creation.

Definition at line 943 of file OutPortBase.cpp.

OutPortConnector * RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
OutPortProvider provider 
) [protected]

OutPortPullConnector creation.

Definition at line 996 of file OutPortBase.cpp.

InPortConsumer * RTC::OutPortBase::createConsumer ( const ConnectorProfile &  cprof,
coil::Properties prop 
) [protected]

InPort consumer creation.

Definition at line 898 of file OutPortBase.cpp.

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

OutPort provider creation.

Definition at line 845 of file OutPortBase.cpp.

Deactivate all Port interfaces.

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

Implements RTC::PortBase.

Definition at line 342 of file OutPortBase.cpp.

Getting ConnectorProfile by ID.

Getting Connector by ID.

This operation returns Connector specified by ID.

Parameters:
idConnector ID
Returns:
A pointer to connector

Definition at line 239 of file OutPortBase.cpp.

Getting Connector by name.

Getting ConnectorProfile by name.

This operation returns Connector specified by name.

Parameters:
idConnector ID
Returns:
A pointer to connector

Definition at line 262 of file OutPortBase.cpp.

ConnectorId list.

This operation returns ConnectorId list

Returns:
connector list

Definition at line 203 of file OutPortBase.cpp.

Connector name list.

This operation returns Connector name list

Returns:
connector name list

Definition at line 221 of file OutPortBase.cpp.

bool RTC::OutPortBase::getConnectorProfileById ( const char *  id,
ConnectorInfo prof 
)

Getting ConnectorProfile by name.

This operation returns ConnectorProfile specified by name

Parameters:
idConnector ID
profConnectorProfile
Returns:
falseĦĦspecified ID does not exist

Definition at line 285 of file OutPortBase.cpp.

bool RTC::OutPortBase::getConnectorProfileByName ( const char *  name,
ConnectorInfo prof 
)

Getting ConnectorProfile by name.

This operation returns ConnectorProfile specified by name

Parameters:
idConnector ID
profConnectorProfile
Returns:
false specified name does not exist

Definition at line 305 of file OutPortBase.cpp.

ConnectorProfile list.

This operation returns ConnectorProfile list

Returns:
connector list

Definition at line 185 of file OutPortBase.cpp.

Initializing properties.

This operation initializes outport's properties

Parameters:
propProperty for setting ports

Definition at line 126 of file OutPortBase.cpp.

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

InPort consumer initialization.

Definition at line 758 of file OutPortBase.cpp.

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

OutPort provider initialization.

Definition at line 709 of file OutPortBase.cpp.

return it whether endian setting.

return it whether endian setting is little

Returns:
Return true in the case of "little", false in "big" than it.

Definition at line 458 of file OutPortBase.cpp.

Get properties.

Getting properties of this OutPort

Returns:
OutPort's properties

Definition at line 159 of file OutPortBase.cpp.

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_profileThe connection profile information
Returns:
The return code of ReturnCode_t type.

Implements RTC::PortBase.

Definition at line 512 of file OutPortBase.cpp.

Removing BufferDataListener type listener.

Removing ConnectorDataListener type listener.

This operation removes a specified listener.

Parameters:
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 390 of file OutPortBase.cpp.

Removing BufferDataListener type listener.

Removing ConnectorListener type listener.

This operation removes a specified listener.

Parameters:
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 437 of file OutPortBase.cpp.

ReturnCode_t RTC::OutPortBase::subscribeInterfaces ( const ConnectorProfile &  connector_profile) [protected, virtual]

Subscribe to the interface.

Subscribe 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_profileThe connection profile information
Returns:
The return code of ReturnCode_t type.

Implements RTC::PortBase.

Definition at line 589 of file OutPortBase.cpp.

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

Disconnect the interface connection.

Unsubscribe interface.

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_profileThe profile information associated with the connection

Implements RTC::PortBase.

Definition at line 677 of file OutPortBase.cpp.

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

Member Data Documentation

Definition at line 236 of file OutPortBase.h.

Connection list.

Definition at line 1032 of file OutPortBase.h.

Available consumers.

Definition at line 1048 of file OutPortBase.h.

ConnectorDataListener listener.

Definition at line 1064 of file OutPortBase.h.

Connected Endian.

Definition at line 1056 of file OutPortBase.h.

Properties.

Definition at line 1024 of file OutPortBase.h.

Available providers.

Definition at line 1040 of file OutPortBase.h.


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


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Sat Jun 8 2019 18:49:14