Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
RTC::InPortBase Class Reference

Port for InPort. More...

#include <InPortBase.h>

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

List of all members.

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
< InPortConnector * > & 
connectors ()
 Connector list.
virtual void deactivateInterfaces ()
 Deactivate all Port interfaces.
InPortConnectorgetConnectorById (const char *id)
 Getting ConnectorProfile by ID.
InPortConnectorgetConnectorByName (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.
 InPortBase (const char *name, const char *data_type)
 Constructor.
bool isLittleEndian ()
 return it whether endian setting.
coil::Propertiesproperties ()
 Get properties.
virtual bool read ()=0
 It is a virtual method that is called from RTObject_impl::readAll(). This method reads out data from DataPort.
void removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener)
 Removing BufferDataListener type listener.
void removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener)
 Removing BufferDataListener type listener.
virtual ~InPortBase (void)
 Destructor.

Public Attributes

DATAPORTSTATUS_ENUM typedef
std::vector< InPortConnector * > 
ConnectorList

Protected Member Functions

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

ConnectorList 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.
bool m_singlebuffer
 Buffer mode.
CdrBufferBasem_thebuffer
 Buffer.

Detailed Description

Port for InPort.

This is an implementation class for the data input port.

Since:
0.4.0

Definition at line 67 of file InPortBase.h.


Constructor & Destructor Documentation

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

Constructor.

Constructor

Parameters:
namePort name
data_typeData type

Definition at line 42 of file InPortBase.cpp.

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

Destructor.

Destructor

Definition at line 64 of file InPortBase.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 302 of file InPortBase.cpp.

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

Adding BufferDataListener type listener.

Adding ConnectorDataListener 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 347 of file InPortBase.cpp.

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

Definition at line 386 of file InPortBase.cpp.

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:
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 763 of file InPortBase.cpp.

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

Reimplemented from RTC::PortBase.

Definition at line 433 of file InPortBase.cpp.

const std::vector< InPortConnector * > & RTC::InPortBase::connectors ( )

Connector list.

This operation returns connector list

Returns:
connector list

Definition at line 148 of file InPortBase.cpp.

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

InPortPushConnector creation.

Definition at line 902 of file InPortBase.cpp.

InPortConnector * RTC::InPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties prop,
OutPortConsumer consumer 
) [protected]

InPortPullConnector creation.

Definition at line 962 of file InPortBase.cpp.

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

InPort provider creation.

Definition at line 857 of file InPortBase.cpp.

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

InPort provider creation.

Definition at line 803 of file InPortBase.cpp.

Deactivate all Port interfaces.

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

Implements RTC::PortBase.

Definition at line 322 of file InPortBase.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 215 of file InPortBase.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 238 of file InPortBase.cpp.

ConnectorId list.

This operation returns ConnectorId list

Returns:
connector list

Definition at line 179 of file InPortBase.cpp.

Connector name list.

This operation returns Connector name list

Returns:
connector name list

Definition at line 197 of file InPortBase.cpp.

bool RTC::InPortBase::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 261 of file InPortBase.cpp.

bool RTC::InPortBase::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 281 of file InPortBase.cpp.

ConnectorProfile list.

This operation returns ConnectorProfile list

Returns:
connector list

Definition at line 161 of file InPortBase.cpp.

Initializing properties.

This method initializes the port in the specified property.

Parameters:
propProperty for setting ports

Reimplemented in InPortBase::InPortBaseMock.

Definition at line 96 of file InPortBase.cpp.

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

OutPort consumer initialization.

Definition at line 714 of file InPortBase.cpp.

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

InPort provider initialization.

Definition at line 665 of file InPortBase.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 421 of file InPortBase.cpp.

Get properties.

This method gets properties in the port.

Returns:
Properties

Definition at line 134 of file InPortBase.cpp.

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

Implements RTC::PortBase.

Definition at line 462 of file InPortBase.cpp.

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

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters:
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 363 of file InPortBase.cpp.

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters:
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 401 of file InPortBase.cpp.

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

Implements RTC::PortBase.

Definition at line 541 of file InPortBase.cpp.

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_profileThe connector profile

Implements RTC::PortBase.

Definition at line 630 of file InPortBase.cpp.


Member Data Documentation

Definition at line 73 of file InPortBase.h.

Connection list.

Definition at line 853 of file InPortBase.h.

Available consumers.

Definition at line 845 of file InPortBase.h.

ConnectorDataListener listener.

Definition at line 870 of file InPortBase.h.

Connected Endian.

Definition at line 861 of file InPortBase.h.

Properties.

Definition at line 829 of file InPortBase.h.

Available providers.

Definition at line 837 of file InPortBase.h.

Buffer mode.

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

Definition at line 813 of file InPortBase.h.

Buffer.

Definition at line 821 of file InPortBase.h.


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


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Aug 27 2015 14:16:41