#include <OutPortBase.h>
Public Member Functions | |
OutPortBase (const char *name, const char *data_type) | |
Constructor. | |
virtual | ~OutPortBase (void) |
Destructor. | |
void | init (coil::Properties &prop) |
Initializing properties. | |
virtual bool | write ()=0 |
Write data. | |
coil::Properties & | properties () |
Retrieve OutPort name. | |
const std::vector < OutPortConnector * > & | connectors () |
Connector list. | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile list. | |
coil::vstring | getConnectorIds () |
ConnectorId list. | |
coil::vstring | getConnectorNames () |
Connector name list. | |
OutPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. | |
OutPortConnector * | 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. | |
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< OutPortConnector * > | ConnectorList |
Protected Member Functions | |
void | configure () |
Configureing outport. | |
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 () |
OutPort provider initialization. | |
void | initConsumers () |
InPort consumer initialization. | |
bool | checkEndian (const coil::Properties &prop, bool &littleEndian) |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider creation. | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer creation. | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer) |
OutPortPushConnector creation. | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider) |
OutPortPullConnector creation. | |
Protected Attributes | |
coil::Properties | m_properties |
Properties. | |
std::vector< OutPortConnector * > | m_connectors |
Connection list. | |
coil::vstring | m_providerTypes |
Available providers. | |
coil::vstring | m_consumerTypes |
Available consumers. | |
bool | m_littleEndian |
Connected Endian. | |
ConnectorListeners | m_listeners |
ConnectorDataListener listener. |
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.
RTC::OutPortBase::OutPortBase | ( | const char * | name, | |
const char * | data_type | |||
) |
Constructor.
Constructor
name | Port name |
virtual RTC::OutPortBase::~OutPortBase | ( | void | ) | [virtual] |
Destructor.
Destructor Detach all subscribed Publishers.
void RTC::OutPortBase::init | ( | coil::Properties & | prop | ) |
Initializing properties.
This operation initializes outport's properties
virtual bool RTC::OutPortBase::write | ( | ) | [pure virtual] |
Write data.
Write data to the port. Write the value, which was set to the bound variable, to the port.
Implemented in RTC::OutPort< DataType >.
coil::Properties& RTC::OutPortBase::properties | ( | ) |
const std::vector<OutPortConnector*>& RTC::OutPortBase::connectors | ( | ) |
Connector list.
This operation returns connector list
ConnectorInfoList RTC::OutPortBase::getConnectorProfiles | ( | ) |
ConnectorProfile list.
This operation returns ConnectorProfile list
coil::vstring RTC::OutPortBase::getConnectorIds | ( | ) |
ConnectorId list.
This operation returns ConnectorId list
coil::vstring RTC::OutPortBase::getConnectorNames | ( | ) |
Connector name list.
This operation returns Connector name list
OutPortConnector* RTC::OutPortBase::getConnectorById | ( | const char * | id | ) |
Getting ConnectorProfile by ID.
This operation returns Connector specified by ID.
id | Connector ID |
OutPortConnector* RTC::OutPortBase::getConnectorByName | ( | const char * | name | ) |
Getting Connector by name.
This operation returns Connector specified by name.
id | Connector ID |
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 |
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 |
virtual void RTC::OutPortBase::activateInterfaces | ( | ) | [virtual] |
Activate all Port interfaces.
This operation activate all interfaces that is registered in the ports.
Implements RTC::PortBase.
virtual void RTC::OutPortBase::deactivateInterfaces | ( | ) | [virtual] |
Deactivate all Port interfaces.
This operation deactivate all interfaces that is registered in the ports.
Implements RTC::PortBase.
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 |
void RTC::OutPortBase::removeConnectorDataListener | ( | ConnectorDataListenerType | listener_type, | |
ConnectorDataListener * | listener | |||
) |
Removing BufferDataListener type listener.
This operation removes a specified listener.
listener_type | A listener type | |
listener | A pointer to a listener object |
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 |
void RTC::OutPortBase::removeConnectorListener | ( | ConnectorListenerType | callback_type, | |
ConnectorListener * | listener | |||
) |
Removing BufferDataListener type listener.
This operation removes a specified listener.
listener_type | A listener type | |
listener | A pointer to a listener object |
bool RTC::OutPortBase::isLittleEndian | ( | ) |
return it whether endian setting.
virtual ReturnCode_t RTC::OutPortBase::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.
connector_profile | The ConnectorProfile. |
Reimplemented from RTC::PortBase.
void RTC::OutPortBase::configure | ( | ) | [protected] |
Configureing outport.
This operation configures the outport based on the properties.
virtual ReturnCode_t RTC::OutPortBase::publishInterfaces | ( | ConnectorProfile & | connector_profile | ) | [protected, virtual] |
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.
virtual ReturnCode_t RTC::OutPortBase::subscribeInterfaces | ( | const ConnectorProfile & | connector_profile | ) | [protected, virtual] |
Subscribe to the 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.
virtual void RTC::OutPortBase::unsubscribeInterfaces | ( | const ConnectorProfile & | connector_profile | ) | [protected, virtual] |
Disconnect the interface connection.
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.
void RTC::OutPortBase::initProviders | ( | ) | [protected] |
OutPort provider initialization.
void RTC::OutPortBase::initConsumers | ( | ) | [protected] |
InPort consumer initialization.
bool RTC::OutPortBase::checkEndian | ( | const coil::Properties & | prop, | |
bool & | littleEndian | |||
) | [protected] |
OutPortProvider* RTC::OutPortBase::createProvider | ( | ConnectorProfile & | cprof, | |
coil::Properties & | prop | |||
) | [protected] |
OutPort provider creation.
InPortConsumer* RTC::OutPortBase::createConsumer | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop | |||
) | [protected] |
InPort consumer creation.
OutPortConnector* RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop, | |||
InPortConsumer * | consumer | |||
) | [protected] |
OutPortPushConnector creation.
OutPortConnector* RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop, | |||
OutPortProvider * | provider | |||
) | [protected] |
OutPortPullConnector creation.
DATAPORTSTATUS_ENUM typedef std::vector<OutPortConnector*> RTC::OutPortBase::ConnectorList |
coil::Properties RTC::OutPortBase::m_properties [protected] |
Properties.
std::vector<OutPortConnector*> RTC::OutPortBase::m_connectors [protected] |
coil::vstring RTC::OutPortBase::m_providerTypes [protected] |
Available providers.
coil::vstring RTC::OutPortBase::m_consumerTypes [protected] |
Available consumers.
bool RTC::OutPortBase::m_littleEndian [protected] |
Connected Endian.
ConnectorListeners RTC::OutPortBase::m_listeners [protected] |
ConnectorDataListener listener.