RTC::InPortBase Class Reference

Port for InPort. More...

#include <InPortBase.h>

Inheritance diagram for RTC::InPortBase:
RTC::PortBase RTC::DataPortStatus RTC::InPort< DataType >

List of all members.

Public Member Functions

 InPortBase (const char *name, const char *data_type)
 Constructor.
virtual ~InPortBase (void)
 Destructor.
void init (coil::Properties &prop)
 Initializing properties.
virtual bool read ()=0
 It is a virtual method that is called from RTObject_impl::readAll(). This method reads out data from DataPort.
coil::Propertiesproperties ()
 Get properties.
const std::vector
< InPortConnector * > & 
connectors ()
 Connector list.
ConnectorInfoList getConnectorProfiles ()
 ConnectorProfile list.
coil::vstring getConnectorIds ()
 ConnectorId list.
coil::vstring getConnectorNames ()
 Connector name list.
InPortConnectorgetConnectorById (const char *id)
 Getting ConnectorProfile by ID.
InPortConnectorgetConnectorByName (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< InPortConnector * > 
ConnectorList

Protected Member Functions

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 ()
 InPort provider initialization.
void initConsumers ()
 OutPort consumer initialization.
bool checkEndian (const coil::Properties &prop, bool &littleEndian)
 Checking endian flag of serializer.
InPortProvidercreateProvider (ConnectorProfile &cprof, coil::Properties &prop)
 InPort provider creation.
OutPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 InPort provider creation.
InPortConnectorcreateConnector (ConnectorProfile &cprof, coil::Properties &prop, InPortProvider *provider)
 InPortPushConnector creation.
InPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortConsumer *consumer)
 InPortPullConnector creation.

Protected Attributes

bool m_singlebuffer
 Buffer mode.
CdrBufferBasem_thebuffer
 Buffer.
coil::Properties m_properties
 Properties.
coil::vstring m_providerTypes
 Available providers.
coil::vstring m_consumerTypes
 Available consumers.
ConnectorList m_connectors
 Connection list.
bool m_littleEndian
 Connected Endian.
ConnectorListeners m_listeners
 ConnectorDataListener listener.

Detailed Description

Port for InPort.

This is an implementation class for the data input port.

Since:
0.4.0

Constructor & Destructor Documentation

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

Constructor.

Constructor

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

Destructor.

Destructor


Member Function Documentation

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

Activate all Port interfaces.

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

Implements RTC::PortBase.

void RTC::InPortBase::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::InPortBase::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::InPortBase::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.

virtual ReturnCode_t RTC::InPortBase::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<InPortConnector*>& RTC::InPortBase::connectors (  ) 

Connector list.

This operation returns connector list

Returns:
connector list
InPortConnector* RTC::InPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
OutPortConsumer consumer 
) [protected]
InPortConnector* RTC::InPortBase::createConnector ( ConnectorProfile &  cprof,
coil::Properties prop,
InPortProvider provider 
) [protected]
OutPortConsumer* RTC::InPortBase::createConsumer ( const ConnectorProfile &  cprof,
coil::Properties prop 
) [protected]

InPort provider creation.

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

InPort provider creation.

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

Deactivate all Port interfaces.

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

Implements RTC::PortBase.

InPortConnector* RTC::InPortBase::getConnectorById ( const char *  id  ) 

Getting ConnectorProfile by ID.

This operation returns Connector specified by ID.

Parameters:
id Connector ID
Returns:
A pointer to connector
InPortConnector* RTC::InPortBase::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::InPortBase::getConnectorIds (  ) 

ConnectorId list.

This operation returns ConnectorId list

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

Connector name list.

This operation returns Connector name list

Returns:
connector name list
bool RTC::InPortBase::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::InPortBase::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::InPortBase::getConnectorProfiles (  ) 

ConnectorProfile list.

This operation returns ConnectorProfile list

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

Initializing properties.

This method initializes the port in the specified property.

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

OutPort consumer initialization.

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

InPort provider initialization.

bool RTC::InPortBase::isLittleEndian (  ) 

return it whether endian setting.

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

Get properties.

This method gets properties in the port.

Returns:
Properties
virtual ReturnCode_t RTC::InPortBase::publishInterfaces ( ConnectorProfile &  connector_profile  )  [protected, virtual]

Publish interface information.

Publish interface information. Assign the Provider information that owned by this port to ConnectorProfile::properties

Parameters:
connector_profile The connector profile
Returns:
The return code of ReturnCode_t type

Implements RTC::PortBase.

virtual bool RTC::InPortBase::read (  )  [pure virtual]

It is a virtual method that is called from RTObject_impl::readAll(). This method reads out data from DataPort.

Returns:
true:Success,false:Failure

Implemented in RTC::InPort< DataType >.

void RTC::InPortBase::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::InPortBase::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::InPortBase::subscribeInterfaces ( const ConnectorProfile &  connector_profile  )  [protected, virtual]

Subscribe to the interface.

Subscribe to interface. Derive Provider information that matches Consumer owned by the Port from ConnectorProfile::properties and set the Consumer to the reference of the CORBA object.

Parameters:
connector_profile The connector profile
Returns:
ReturnCode_t The return code of ReturnCode_t type

Implements RTC::PortBase.

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

Disconnect the interface connection.

Disconnect the interface connection. Release all objects set in Consumer associated with given ConnectorProfile and unscribe the interface.

Parameters:
connector_profile The connector profile

Implements RTC::PortBase.


Member Data Documentation

DATAPORTSTATUS_ENUM typedef std::vector<InPortConnector*> RTC::InPortBase::ConnectorList

Available consumers.

Connected Endian.

Properties.

Available providers.

Buffer mode.

true:single buffer mode. false:multi buffer mode.

Buffer.

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