Output base class. More...
#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 () |
Get properties. | |
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) |
Checking endian flag of serializer. | |
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. |
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.
RTC::OutPortBase::OutPortBase | ( | const char * | name, | |
const char * | data_type | |||
) |
Constructor.
Constructor
name | Port name | |
data_type | Data type |
virtual RTC::OutPortBase::~OutPortBase | ( | void | ) | [virtual] |
Destructor.
Destructor Detach all subscribed Publishers.
virtual void RTC::OutPortBase::activateInterfaces | ( | ) | [virtual] |
Activate all Port interfaces.
This operation activate 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::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 |
bool RTC::OutPortBase::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.
prop | Properties | |
littleEndian | Endian Information(true:little,false:big) |
void RTC::OutPortBase::configure | ( | ) | [protected] |
Configureing outport.
This operation configures the outport based on the properties.
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.
const std::vector<OutPortConnector*>& RTC::OutPortBase::connectors | ( | ) |
Connector list.
This operation returns connector list
OutPortConnector* RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop, | |||
OutPortProvider * | provider | |||
) | [protected] |
OutPortPullConnector creation.
OutPortConnector* RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop, | |||
InPortConsumer * | consumer | |||
) | [protected] |
OutPortPushConnector creation.
InPortConsumer* RTC::OutPortBase::createConsumer | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop | |||
) | [protected] |
InPort consumer creation.
OutPortProvider* RTC::OutPortBase::createProvider | ( | ConnectorProfile & | cprof, | |
coil::Properties & | prop | |||
) | [protected] |
OutPort provider creation.
virtual void RTC::OutPortBase::deactivateInterfaces | ( | ) | [virtual] |
Deactivate all Port interfaces.
This operation deactivate all interfaces that is registered in the ports.
Implements RTC::PortBase.
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 |
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
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 |
ConnectorInfoList RTC::OutPortBase::getConnectorProfiles | ( | ) |
ConnectorProfile list.
This operation returns ConnectorProfile list
void RTC::OutPortBase::init | ( | coil::Properties & | prop | ) |
Initializing properties.
This operation initializes outport's properties
prop | Property for setting ports |
void RTC::OutPortBase::initConsumers | ( | ) | [protected] |
InPort consumer initialization.
void RTC::OutPortBase::initProviders | ( | ) | [protected] |
OutPort provider initialization.
bool RTC::OutPortBase::isLittleEndian | ( | ) |
return it whether endian setting.
coil::Properties& RTC::OutPortBase::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.
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::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 |
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.
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 >.
DATAPORTSTATUS_ENUM typedef std::vector<OutPortConnector*> RTC::OutPortBase::ConnectorList |
std::vector<OutPortConnector*> RTC::OutPortBase::m_connectors [protected] |
Connection list.
Referenced by RTC::OutPort< DataType >::write().
coil::vstring RTC::OutPortBase::m_consumerTypes [protected] |
Available consumers.
ConnectorListeners RTC::OutPortBase::m_listeners [protected] |
ConnectorDataListener listener.
bool RTC::OutPortBase::m_littleEndian [protected] |
Connected Endian.
coil::Properties RTC::OutPortBase::m_properties [protected] |
Properties.
coil::vstring RTC::OutPortBase::m_providerTypes [protected] |
Available providers.