OpenRTM-aist 2.1.0
|
#include <InPortBase.h>
Public Types | |
using | ConnectorList = std::vector< InPortConnector * > |
Public Member Functions | |
InPortBase (const char *name, const char *data_type) | |
Constructor. | |
~InPortBase () override | |
Destructor. | |
virtual void | init (coil::Properties &prop) |
Initializing properties. | |
virtual bool | read (std::string name="")=0 |
It is a virtual method that is called from RTObject_impl::readAll(). This method reads out data from DataPort. | |
coil::Properties & | properties () |
Get properties. | |
const std::vector< InPortConnector * > & | connectors () |
Connector list. | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile list. | |
coil::vstring | getConnectorIds () |
ConnectorId list. | |
coil::vstring | getConnectorNames () |
Connector name list. | |
InPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. | |
InPortConnector * | getConnectorByName (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. | |
void | activateInterfaces () override |
Activate all Port interfaces. | |
void | deactivateInterfaces () override |
Deactivate all Port interfaces. | |
void | addConnectorDataListener (ConnectorDataListenerType type, ConnectorDataListener *listener, bool autoclean=true) |
Adding BufferDataListener type listener. | |
void | removeConnectorDataListener (ConnectorDataListenerType type, ConnectorDataListener *listener) |
Removing BufferDataListener type listener. | |
void | addConnectorListener (ConnectorListenerType type, ConnectorListener *listener, bool autoclean=true) |
Adding ConnectorListener type listener. | |
void | removeConnectorListener (ConnectorListenerType type, ConnectorListener *listener) |
Removing BufferDataListener type listener. | |
bool | isLittleEndian () |
return it whether endian setting. | |
ReturnCode_t | connect (ConnectorProfile &connector_profile) override |
[CORBA interface] Connect the Port | |
virtual ConnectorListenersBase * | getListeners () |
Getting listeners holder. | |
ReturnCode_t | notify_connect (ConnectorProfile &connector_profile) override |
![]() | |
PortBase (const char *name="") | |
Constructor. | |
~PortBase () override | |
Destructor. | |
PortProfile * | get_port_profile () override |
[CORBA interface] Get the PortProfile of the Port | |
const PortProfile & | getPortProfile () const |
Get the PortProfile of the Port. | |
ConnectorProfileList * | get_connector_profiles () override |
[CORBA interface] Get the ConnectorProfileList of the Port | |
ConnectorProfile * | get_connector_profile (const char *connector_id) override |
[CORBA interface] Get the ConnectorProfile | |
ReturnCode_t | connect (ConnectorProfile &connector_profile) override |
[CORBA interface] Connect the Port | |
ReturnCode_t | notify_connect (ConnectorProfile &connector_profile) override |
[CORBA interface] Notify the Ports connection | |
ReturnCode_t | disconnect (const char *connector_id) override |
[CORBA interface] Disconnect the Port | |
ReturnCode_t | notify_disconnect (const char *connector_id) override |
[CORBA interface] Notify the Ports disconnection | |
ReturnCode_t | disconnect_all () override |
[CORBA interface] Disconnect the All Ports | |
void | setName (const char *name) |
Set the name of this Port. | |
const char * | getName () const |
Get the name of this Port. | |
const PortProfile & | getProfile () const |
Get the PortProfile of the Port. | |
void | setPortRef (PortService_ptr port_ref) |
Set the object reference of this Port. | |
PortService_ptr | getPortRef () const |
Get the object reference of this Port. | |
void | setOwner (RTObject_ptr owner) |
Set the owner RTObject of the Port. | |
void | setOnPublishInterfaces (ConnectionCallback *on_publish) |
Setting callback called on publish interfaces. | |
void | setOnSubscribeInterfaces (ConnectionCallback *on_subscribe) |
Setting callback called on publish interfaces. | |
void | setOnConnected (ConnectionCallback *on_connected) |
Setting callback called on connection established. | |
void | setOnUnsubscribeInterfaces (ConnectionCallback *on_unsubscribe) |
Setting callback called on unsubscribe interfaces. | |
void | setOnDisconnected (ConnectionCallback *on_disconnected) |
Setting callback called on disconnected. | |
void | setOnConnectionLost (ConnectionCallback *on_connection_lost) |
Setting callback called on connection lost. | |
void | setPortConnectListenerHolder (PortConnectListeners *portconnListeners) |
Setting PortConnectListener holder. | |
virtual DirectPortBase * | getDirectPort () |
Protected Member Functions | |
ReturnCode_t | publishInterfaces (ConnectorProfile &cprof) override |
Publish interface information. | |
ReturnCode_t | subscribeInterfaces (const ConnectorProfile &cprof) override |
Subscribe to the interface. | |
void | unsubscribeInterfaces (const ConnectorProfile &connector_profile) override |
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. | |
InPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
InPort provider creation . | |
OutPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort provider creation . | |
InPortConnector * | createConnector (ConnectorProfile &cprof, coil::Properties &prop, InPortProvider *provider) |
InPortPushConnector creation . | |
InPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortConsumer *consumer) |
InPortPullConnector creation . | |
OutPortBase * | getLocalOutPort (const ConnectorInfo &profile) |
Getting local peer OutPort if available . | |
virtual void | initConnectorListeners () |
![]() | |
virtual ReturnCode_t | connectNext (ConnectorProfile &connector_profile) |
Call notify_connect() of the next Port. | |
virtual ReturnCode_t | disconnectNext (ConnectorProfile &cprof) |
Call notify_disconnect() of the next Port. | |
virtual void | setConnectionLimit (int limit_value) |
Set the maximum number of connections. | |
virtual ReturnCode_t | _publishInterfaces () |
Publish interface information. | |
bool | isExistingConnId (const char *id) |
Check whether the given id exists in stored ConnectorProfiles. | |
ConnectorProfile | findConnProfile (const char *id) |
Find ConnectorProfile with id. | |
CORBA::Long | findConnProfileIndex (const char *id) |
Find ConnectorProfile with id. | |
void | updateConnectorProfile (const ConnectorProfile &connector_profile) |
Append or update the ConnectorProfile list. | |
bool | eraseConnectorProfile (const char *id) |
Delete the ConnectorProfile. | |
bool | appendInterface (const char *instance_name, const char *type_name, PortInterfacePolarity pol) |
Append an interface to the PortInterfaceProfile. | |
bool | deleteInterface (const char *name, PortInterfacePolarity pol) |
Delete the interface registration from the PortInterfaceProfile. | |
template<class ValueType > | |
void | addProperty (const char *key, ValueType value) |
Add NameValue data to PortProfile's properties. | |
void | appendProperty (const char *key, const char *value) |
Append NameValue data to PortProfile's properties. | |
void | updateConnectors () |
Disconnect ports that doesn't exist. | |
bool | checkPorts (::RTC::PortServiceList &ports) |
Existence of ports. | |
void | onNotifyConnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onNotifyDisconnect (const char *portname, RTC::ConnectorProfile &profile) |
void | onUnsubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile) |
void | onPublishInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onConnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onSubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onConnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
void | onDisconnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret) |
bool | isExistingMarshalingType (coil::Properties &con_prop) |
Whether the specified serializer can be used. | |
Protected Attributes | |
bool | m_singlebuffer |
Buffer mode. | |
CdrBufferBase * | m_thebuffer |
Buffer . | |
coil::vstring | m_providerTypes |
Available providers . | |
coil::vstring | m_consumerTypes |
Available consumers . | |
ConnectorList | m_connectors |
Connection list . | |
bool | m_littleEndian |
Connected Endian . | |
ConnectorListenersBase * | m_listeners |
ConnectorDataListener listener . | |
![]() | |
coil::Properties | m_properties |
Properties . | |
Logger | rtclog |
Logger stream . | |
PortProfile | m_profile |
PortProfile of the Port . | |
RTC::PortService_var | m_objref |
Object Reference of the Port . | |
std::mutex | m_profile_mutex |
Mutex of PortProfile . | |
std::mutex | m_connectorsMutex |
std::string | m_ownerInstanceName = "unknown" |
Instance name . | |
int | m_connectionLimit {-1} |
The maximum number of connections . | |
ConnectionCallback * | m_onPublishInterfaces {nullptr} |
Callback functor objects. | |
ConnectionCallback * | m_onSubscribeInterfaces {nullptr} |
Callback functor objects. | |
ConnectionCallback * | m_onConnected {nullptr} |
Callback functor objects. | |
ConnectionCallback * | m_onUnsubscribeInterfaces {nullptr} |
Callback functor objects. | |
ConnectionCallback * | m_onDisconnected {nullptr} |
Callback functor objects. | |
ConnectionCallback * | m_onConnectionLost {nullptr} |
Callback functor objects. | |
PortConnectListeners * | m_portconnListeners {nullptr} |
PortConnectListener holder. | |
DirectPortBase * | m_directport {nullptr} |
Additional Inherited Members | |
![]() | |
static bool | isEmptyId (const ConnectorProfile &connector_profile) |
Check whether connector_id of ConnectorProfile is empty. | |
static std::string | getUUID () |
Generate the UUID. | |
static void | setUUID (ConnectorProfile &connector_profile) |
Generate and set the UUID to the ConnectorProfile. | |
using RTC::InPortBase::ConnectorList = std::vector<InPortConnector*> |
RTC::InPortBase::InPortBase | ( | const char * | name, |
const char * | data_type | ||
) |
Constructor.
|
override |
Destructor.
|
overridevirtual |
Activate all Port interfaces.
This operation activate all interfaces that is registered in the ports.
Implements RTC::PortBase.
void RTC::InPortBase::addConnectorDataListener | ( | ConnectorDataListenerType | type, |
ConnectorDataListener * | listener, | ||
bool | autoclean = true |
||
) |
Adding BufferDataListener type listener.
Referenced by RTC::EventInPort< FsmType >::bindEvent(), RTC::EventInPort< FsmType >::bindEvent(), and RTC::InPort< DataType >::InPort().
void RTC::InPortBase::addConnectorListener | ( | ConnectorListenerType | type, |
ConnectorListener * | listener, | ||
bool | autoclean = true |
||
) |
Adding ConnectorListener type listener.
Referenced by RTC::EventInPort< FsmType >::init().
|
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.
prop | Properties |
littleEndian | Endian Information(true:little,false:big) |
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.
|
override |
[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.
connector_profile | The ConnectorProfile. |
const std::vector< InPortConnector * > & RTC::InPortBase::connectors | ( | ) |
Connector list.
This operation returns connector list
|
protected |
InPortPushConnector creation .
|
protected |
InPortPullConnector creation .
|
protected |
InPort provider creation .
|
protected |
InPort provider creation .
|
overridevirtual |
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.
id | Connector ID |
InPortConnector * RTC::InPortBase::getConnectorByName | ( | const char * | name | ) |
Getting Connector by name.
This operation returns Connector specified by name.
id | Connector ID |
coil::vstring RTC::InPortBase::getConnectorIds | ( | ) |
ConnectorId list.
This operation returns ConnectorId list
coil::vstring RTC::InPortBase::getConnectorNames | ( | ) |
Connector name list.
This operation returns Connector name list
bool RTC::InPortBase::getConnectorProfileById | ( | const char * | id, |
ConnectorInfo & | prof | ||
) |
Getting ConnectorProfile by name.
This operation returns ConnectorProfile specified by name
id | Connector ID |
prof | ConnectorProfile |
bool RTC::InPortBase::getConnectorProfileByName | ( | const char * | name, |
ConnectorInfo & | prof | ||
) |
Getting ConnectorProfile by name.
This operation returns ConnectorProfile specified by name
id | Connector ID |
prof | ConnectorProfile |
ConnectorInfoList RTC::InPortBase::getConnectorProfiles | ( | ) |
ConnectorProfile list.
This operation returns ConnectorProfile list
|
virtual |
Getting listeners holder.
|
protected |
Getting local peer OutPort if available .
|
virtual |
Initializing properties.
Reimplemented in RTC::EventInPort< FsmType >.
Referenced by RTC::EventInPort< FsmType >::init().
|
protectedvirtual |
Reimplemented in RTC::InPort< DataType >.
|
protected |
OutPort consumer initialization .
|
protected |
InPort provider initialization .
bool RTC::InPortBase::isLittleEndian | ( | ) |
return it whether endian setting.
|
override |
coil::Properties & RTC::InPortBase::properties | ( | ) |
Get properties.
|
overrideprotectedvirtual |
Publish interface information.
Implements RTC::PortBase.
|
pure virtual |
It is a virtual method that is called from RTObject_impl::readAll(). This method reads out data from DataPort.
Implemented in RTC::InPort< DataType >, and RTC::EventInPort< FsmType >.
void RTC::InPortBase::removeConnectorDataListener | ( | ConnectorDataListenerType | type, |
ConnectorDataListener * | listener | ||
) |
Removing BufferDataListener type listener.
void RTC::InPortBase::removeConnectorListener | ( | ConnectorListenerType | type, |
ConnectorListener * | listener | ||
) |
Removing BufferDataListener type listener.
|
overrideprotectedvirtual |
Subscribe to the interface.
Implements RTC::PortBase.
|
overrideprotectedvirtual |
Disconnect the interface connection.
Implements RTC::PortBase.
|
protected |
|
protected |
Available consumers .
|
protected |
ConnectorDataListener listener .
Referenced by RTC::InPort< DataType >::initConnectorListeners().
|
protected |
Connected Endian .
|
protected |
Available providers .
|
protected |
Buffer mode.
|
protected |
Buffer .
Referenced by RTC::EventInPort< FsmType >::init().