Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
RTC::InPortBase Class Referenceabstract

Port for InPort. More...

#include <InPortBase.h>

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

Public Member Functions

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

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

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

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...
 
- Protected Types inherited from RTC::PortBase
typedef coil::Guard< coil::MutexGuard
 

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

◆ InPortBase()

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.

◆ ~InPortBase()

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

Destructor.

Destructor

Definition at line 64 of file InPortBase.cpp.

Member Function Documentation

◆ activateInterfaces()

void RTC::InPortBase::activateInterfaces ( )
virtual

Activate all Port interfaces.

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

Implements RTC::PortBase.

Definition at line 312 of file InPortBase.cpp.

◆ addConnectorDataListener()

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

◆ addConnectorListener()

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

◆ checkEndian()

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

◆ connect()

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

◆ connectors()

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

Connector list.

This operation returns connector list

Returns
connector list

Definition at line 158 of file InPortBase.cpp.

◆ createConnector() [1/2]

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

InPortPushConnector creation.

Definition at line 912 of file InPortBase.cpp.

◆ createConnector() [2/2]

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

InPortPullConnector creation.

Definition at line 972 of file InPortBase.cpp.

◆ createConsumer()

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

InPort provider creation.

Definition at line 867 of file InPortBase.cpp.

◆ createProvider()

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

InPort provider creation.

Definition at line 813 of file InPortBase.cpp.

◆ deactivateInterfaces()

void RTC::InPortBase::deactivateInterfaces ( )
virtual

Deactivate all Port interfaces.

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

Implements RTC::PortBase.

Definition at line 332 of file InPortBase.cpp.

◆ getConnectorById()

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

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

◆ getConnectorByName()

InPortConnector * RTC::InPortBase::getConnectorByName ( const char *  name)

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

◆ getConnectorIds()

coil::vstring RTC::InPortBase::getConnectorIds ( )

ConnectorId list.

This operation returns ConnectorId list

Returns
connector list

Definition at line 189 of file InPortBase.cpp.

◆ getConnectorNames()

coil::vstring RTC::InPortBase::getConnectorNames ( )

Connector name list.

This operation returns Connector name list

Returns
connector name list

Definition at line 207 of file InPortBase.cpp.

◆ getConnectorProfileById()

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

◆ getConnectorProfileByName()

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

◆ getConnectorProfiles()

ConnectorInfoList RTC::InPortBase::getConnectorProfiles ( )

ConnectorProfile list.

This operation returns ConnectorProfile list

Returns
connector list

Definition at line 171 of file InPortBase.cpp.

◆ init()

void RTC::InPortBase::init ( coil::Properties prop)

Initializing properties.

This method initializes the port in the specified property.

Parameters
propProperty for setting ports

Definition at line 96 of file InPortBase.cpp.

◆ initConsumers()

void RTC::InPortBase::initConsumers ( )
protected

OutPort consumer initialization.

Definition at line 724 of file InPortBase.cpp.

◆ initProviders()

void RTC::InPortBase::initProviders ( )
protected

InPort provider initialization.

Definition at line 675 of file InPortBase.cpp.

◆ isLittleEndian()

bool RTC::InPortBase::isLittleEndian ( )

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

◆ properties()

coil::Properties & RTC::InPortBase::properties ( )

Get properties.

This method gets properties in the port.

Returns
Properties

Definition at line 144 of file InPortBase.cpp.

◆ publishInterfaces()

ReturnCode_t RTC::InPortBase::publishInterfaces ( ConnectorProfile &  connector_profile)
protectedvirtual

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

◆ read()

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

◆ removeConnectorDataListener()

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

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 373 of file InPortBase.cpp.

◆ removeConnectorListener()

void RTC::InPortBase::removeConnectorListener ( ConnectorListenerType  callback_type,
ConnectorListener listener 
)

Removing BufferDataListener type listener.

This operation removes a specified listener.

Parameters
listener_typeA listener type
listenerA pointer to a listener object

Definition at line 411 of file InPortBase.cpp.

◆ subscribeInterfaces()

ReturnCode_t RTC::InPortBase::subscribeInterfaces ( const ConnectorProfile &  connector_profile)
protectedvirtual

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

◆ unsubscribeInterfaces()

void RTC::InPortBase::unsubscribeInterfaces ( const ConnectorProfile &  connector_profile)
protectedvirtual

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

Member Data Documentation

◆ ConnectorList

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

Definition at line 73 of file InPortBase.h.

◆ m_connectors

ConnectorList RTC::InPortBase::m_connectors
protected

Connection list.

Definition at line 853 of file InPortBase.h.

◆ m_consumerTypes

coil::vstring RTC::InPortBase::m_consumerTypes
protected

Available consumers.

Definition at line 845 of file InPortBase.h.

◆ m_listeners

ConnectorListeners RTC::InPortBase::m_listeners
protected

ConnectorDataListener listener.

Definition at line 870 of file InPortBase.h.

◆ m_littleEndian

bool RTC::InPortBase::m_littleEndian
protected

Connected Endian.

Definition at line 861 of file InPortBase.h.

◆ m_properties

coil::Properties RTC::InPortBase::m_properties
protected

Properties.

Definition at line 829 of file InPortBase.h.

◆ m_providerTypes

coil::vstring RTC::InPortBase::m_providerTypes
protected

Available providers.

Definition at line 837 of file InPortBase.h.

◆ m_singlebuffer

bool RTC::InPortBase::m_singlebuffer
protected

Buffer mode.

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

Definition at line 813 of file InPortBase.h.

◆ m_thebuffer

CdrBufferBase* RTC::InPortBase::m_thebuffer
protected

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 Mon Feb 28 2022 23:00:47