Output base class. More...
#include <OutPortBase.h>
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. 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< OutPortConnector * > & | connectors () |
Connector list. More... | |
virtual void | deactivateInterfaces () |
Deactivate all Port interfaces. More... | |
OutPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. More... | |
OutPortConnector * | getConnectorByName (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... | |
bool | isLittleEndian () |
return it whether endian setting. More... | |
OutPortBase (const char *name, const char *data_type) | |
Constructor. More... | |
coil::Properties & | properties () |
Get properties. 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 bool | write ()=0 |
Write data. More... | |
virtual | ~OutPortBase (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< OutPortConnector * > | ConnectorList |
Protected Member Functions | |
bool | checkEndian (const coil::Properties &prop, bool &littleEndian) |
Checking endian flag of serializer. More... | |
void | configure () |
Configureing outport. More... | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer) |
OutPortPushConnector creation. More... | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider) |
OutPortPullConnector creation. More... | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer creation. More... | |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider creation. More... | |
void | initConsumers () |
InPort consumer initialization. More... | |
void | initProviders () |
OutPort 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... | |
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::Mutex > | Guard |
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.
Definition at line 230 of file OutPortBase.h.
RTC::OutPortBase::OutPortBase | ( | const char * | name, |
const char * | data_type | ||
) |
Constructor.
Constructor
name | Port name |
data_type | Data type |
Definition at line 81 of file OutPortBase.cpp.
|
virtual |
Destructor.
Destructor Detach all subscribed Publishers.
Definition at line 110 of file OutPortBase.cpp.
|
virtual |
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.
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.
listener_type | A listener type |
listener | A pointer to a listener object |
autoclean | A 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.
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.
listener_type | A listener type |
listener | A pointer to a listener object |
autoclean | A flag for automatic listener destruction |
Definition at line 413 of file OutPortBase.cpp.
|
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) |
Definition at line 807 of file OutPortBase.cpp.
|
protected |
Configureing outport.
This operation configures the outport based on the properties.
Definition at line 499 of file OutPortBase.cpp.
|
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.
connector_profile | The ConnectorProfile. |
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
Definition at line 172 of file OutPortBase.cpp.
|
protected |
OutPortPushConnector creation.
Definition at line 943 of file OutPortBase.cpp.
|
protected |
OutPortPullConnector creation.
Definition at line 996 of file OutPortBase.cpp.
|
protected |
InPort consumer creation.
Definition at line 898 of file OutPortBase.cpp.
|
protected |
OutPort provider creation.
Definition at line 845 of file OutPortBase.cpp.
|
virtual |
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.
OutPortConnector * RTC::OutPortBase::getConnectorById | ( | const char * | id | ) |
Getting ConnectorProfile by ID.
Getting Connector by ID.
This operation returns Connector specified by ID.
id | Connector ID |
Definition at line 239 of file OutPortBase.cpp.
OutPortConnector * RTC::OutPortBase::getConnectorByName | ( | const char * | name | ) |
Getting Connector by name.
Getting ConnectorProfile by name.
This operation returns Connector specified by name.
id | Connector ID |
Definition at line 262 of file OutPortBase.cpp.
coil::vstring RTC::OutPortBase::getConnectorIds | ( | ) |
ConnectorId list.
This operation returns ConnectorId list
Definition at line 203 of file OutPortBase.cpp.
coil::vstring RTC::OutPortBase::getConnectorNames | ( | ) |
Connector name list.
This operation 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
id | Connector ID |
prof | ConnectorProfile |
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
id | Connector ID |
prof | ConnectorProfile |
Definition at line 305 of file OutPortBase.cpp.
ConnectorInfoList RTC::OutPortBase::getConnectorProfiles | ( | ) |
ConnectorProfile list.
This operation returns ConnectorProfile list
Definition at line 185 of file OutPortBase.cpp.
void RTC::OutPortBase::init | ( | coil::Properties & | prop | ) |
Initializing properties.
This operation initializes outport's properties
prop | Property for setting ports |
Definition at line 126 of file OutPortBase.cpp.
|
protected |
InPort consumer initialization.
Definition at line 758 of file OutPortBase.cpp.
|
protected |
OutPort provider initialization.
Definition at line 709 of file OutPortBase.cpp.
bool RTC::OutPortBase::isLittleEndian | ( | ) |
return it whether endian setting.
return it whether endian setting is little
Definition at line 458 of file OutPortBase.cpp.
coil::Properties & RTC::OutPortBase::properties | ( | ) |
Get properties.
Getting properties of this OutPort
Definition at line 159 of file OutPortBase.cpp.
|
protectedvirtual |
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.
connector_profile | The connection profile information |
Implements RTC::PortBase.
Definition at line 512 of file OutPortBase.cpp.
void RTC::OutPortBase::removeConnectorDataListener | ( | ConnectorDataListenerType | listener_type, |
ConnectorDataListener * | listener | ||
) |
Removing BufferDataListener type listener.
Removing ConnectorDataListener type listener.
This operation removes a specified listener.
Definition at line 390 of file OutPortBase.cpp.
void RTC::OutPortBase::removeConnectorListener | ( | ConnectorListenerType | callback_type, |
ConnectorListener * | listener | ||
) |
Removing BufferDataListener type listener.
Removing ConnectorListener type listener.
This operation removes a specified listener.
Definition at line 437 of file OutPortBase.cpp.
|
protectedvirtual |
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.
connector_profile | The connection profile information |
Implements RTC::PortBase.
Definition at line 589 of file OutPortBase.cpp.
|
protectedvirtual |
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.
connector_profile | The profile information associated with the connection |
Implements RTC::PortBase.
Definition at line 677 of file OutPortBase.cpp.
|
pure virtual |
Write data.
Write data to the port. Write the value, which was set to the bound variable, to the port.
Implemented in OutPortBase::OutPortBaseMock, RTC::OutPort< DataType >, RTC::OutPort< TimedFloat >, RTC::OutPort< TimedOctet >, RTC::OutPort< TimedFloatSeq >, RTC::OutPort< TimedShortSeq >, RTC::OutPort< TimedOctetSeq >, RTC::OutPort< TimedLong >, RTC::OutPort< TimedLongSeq >, RTC::OutPort< TimedShort >, RTC::OutPort< RTC::TimedFloat >, RTC::OutPort< TimedDoubleSeq >, RTC::OutPort< TimedDouble >, RTObject::OutPortMock, and OutPortConnector::OutPortMock.
DATAPORTSTATUS_ENUM typedef std::vector<OutPortConnector*> RTC::OutPortBase::ConnectorList |
Definition at line 236 of file OutPortBase.h.
|
protected |
Connection list.
Definition at line 1032 of file OutPortBase.h.
|
protected |
Available consumers.
Definition at line 1048 of file OutPortBase.h.
|
protected |
ConnectorDataListener listener.
Definition at line 1064 of file OutPortBase.h.
|
protected |
Connected Endian.
Definition at line 1056 of file OutPortBase.h.
|
protected |
Definition at line 1024 of file OutPortBase.h.
|
protected |
Available providers.
Definition at line 1040 of file OutPortBase.h.