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. | |
void | addConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener, bool autoclean=true) |
Adding BufferDataListener type listener. | |
void | addConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener, bool autoclean=true) |
Adding ConnectorListener type listener. | |
virtual ReturnCode_t | connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Connect the Port | |
const std::vector < OutPortConnector * > & | connectors () |
Connector list. | |
virtual void | deactivateInterfaces () |
Deactivate all Port interfaces. | |
OutPortConnector * | getConnectorById (const char *id) |
Getting ConnectorProfile by ID. | |
OutPortConnector * | getConnectorByName (const char *name) |
Getting Connector by name. | |
coil::vstring | getConnectorIds () |
ConnectorId list. | |
coil::vstring | getConnectorNames () |
Connector name list. | |
bool | getConnectorProfileById (const char *id, ConnectorInfo &prof) |
Getting ConnectorProfile by name. | |
bool | getConnectorProfileByName (const char *name, ConnectorInfo &prof) |
Getting ConnectorProfile by name. | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile list. | |
void | init (coil::Properties &prop) |
Initializing properties. | |
bool | isLittleEndian () |
return it whether endian setting. | |
OutPortBase (const char *name, const char *data_type) | |
Constructor. | |
coil::Properties & | properties () |
Get properties. | |
void | removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener) |
Removing BufferDataListener type listener. | |
void | removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener) |
Removing BufferDataListener type listener. | |
virtual bool | write ()=0 |
Write data. | |
virtual | ~OutPortBase (void) |
Destructor. | |
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. | |
void | configure () |
Configureing outport. | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer) |
OutPortPushConnector creation. | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider) |
OutPortPullConnector creation. | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer creation. | |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider creation. | |
void | initConsumers () |
InPort consumer initialization. | |
void | initProviders () |
OutPort provider initialization. | |
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. | |
Protected Attributes | |
std::vector< OutPortConnector * > | m_connectors |
Connection list. | |
coil::vstring | m_consumerTypes |
Available consumers. | |
ConnectorListeners | m_listeners |
ConnectorDataListener listener. | |
bool | m_littleEndian |
Connected Endian. | |
coil::Properties | m_properties |
Properties. | |
coil::vstring | m_providerTypes |
Available providers. |
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.
RTC::OutPortBase::~OutPortBase | ( | void | ) | [virtual] |
Destructor.
Destructor Detach all subscribed Publishers.
Definition at line 110 of file OutPortBase.cpp.
void RTC::OutPortBase::activateInterfaces | ( | ) | [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.
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) |
Definition at line 807 of file OutPortBase.cpp.
void RTC::OutPortBase::configure | ( | ) | [protected] |
Configureing outport.
This operation configures the outport based on the properties.
Definition at line 499 of file OutPortBase.cpp.
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.
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.
OutPortConnector * RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, |
coil::Properties & | prop, | ||
InPortConsumer * | consumer | ||
) | [protected] |
OutPortPushConnector creation.
Definition at line 943 of file OutPortBase.cpp.
OutPortConnector * RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, |
coil::Properties & | prop, | ||
OutPortProvider * | provider | ||
) | [protected] |
OutPortPullConnector creation.
Definition at line 996 of file OutPortBase.cpp.
InPortConsumer * RTC::OutPortBase::createConsumer | ( | const ConnectorProfile & | cprof, |
coil::Properties & | prop | ||
) | [protected] |
InPort consumer creation.
Definition at line 898 of file OutPortBase.cpp.
OutPortProvider * RTC::OutPortBase::createProvider | ( | ConnectorProfile & | cprof, |
coil::Properties & | prop | ||
) | [protected] |
OutPort provider creation.
Definition at line 845 of file OutPortBase.cpp.
void RTC::OutPortBase::deactivateInterfaces | ( | ) | [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.
ConnectorId list.
This operation returns ConnectorId list
Definition at line 203 of file OutPortBase.cpp.
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.
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.
void RTC::OutPortBase::initConsumers | ( | ) | [protected] |
InPort consumer initialization.
Definition at line 758 of file OutPortBase.cpp.
void RTC::OutPortBase::initProviders | ( | ) | [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.
Get properties.
Getting properties of this OutPort
Definition at line 159 of file OutPortBase.cpp.
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.
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.
ReturnCode_t RTC::OutPortBase::subscribeInterfaces | ( | const ConnectorProfile & | connector_profile | ) | [protected, virtual] |
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.
void RTC::OutPortBase::unsubscribeInterfaces | ( | const ConnectorProfile & | connector_profile | ) | [protected, virtual] |
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.
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 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.
std::vector<OutPortConnector*> RTC::OutPortBase::m_connectors [protected] |
Connection list.
Definition at line 1032 of file OutPortBase.h.
coil::vstring RTC::OutPortBase::m_consumerTypes [protected] |
Available consumers.
Definition at line 1048 of file OutPortBase.h.
ConnectorListeners RTC::OutPortBase::m_listeners [protected] |
ConnectorDataListener listener.
Definition at line 1064 of file OutPortBase.h.
bool RTC::OutPortBase::m_littleEndian [protected] |
Connected Endian.
Definition at line 1056 of file OutPortBase.h.
coil::Properties RTC::OutPortBase::m_properties [protected] |
Definition at line 1024 of file OutPortBase.h.
coil::vstring RTC::OutPortBase::m_providerTypes [protected] |
Available providers.
Definition at line 1040 of file OutPortBase.h.