OpenRTM-aist
1.2.1
|
OutPortPullConnector class. More...
#include <OutPortPullConnector.h>
Public Member Functions | |
DATAPORTSTATUS_ENUM | OutPortPullConnector (ConnectorInfo info, OutPortProvider *provider, ConnectorListeners &listeners, CdrBufferBase *buffer=0) |
Constructor. More... | |
virtual | ~OutPortPullConnector () |
Destructor. More... | |
virtual ReturnCode | write (cdrMemoryStream &data) |
Writing data. More... | |
virtual ReturnCode | disconnect () |
disconnect More... | |
virtual CdrBufferBase * | getBuffer () |
Getting Buffer. More... | |
virtual void | activate () |
Connector activation. More... | |
virtual void | deactivate () |
Connector deactivation. More... | |
CdrBufferBase * | createBuffer (ConnectorInfo &info) |
create buffer More... | |
void | onConnect () |
Invoke callback when connection is established. More... | |
void | onDisconnect () |
Invoke callback when connection is destroied. More... | |
Public Member Functions inherited from RTC::OutPortConnector | |
DATAPORTSTATUS_ENUM | OutPortConnector (ConnectorInfo &info, ConnectorListeners &listeners) |
Constructor. More... | |
virtual | ~OutPortConnector () |
Destructor. More... | |
const ConnectorInfo & | profile () |
Getting Profile. More... | |
const char * | id () |
Getting Connector ID. More... | |
const char * | name () |
Getting Connector name. More... | |
virtual void | setEndian (const bool endian_type) |
Setting an endian type. More... | |
virtual bool | isLittleEndian () |
return it whether endian setting. More... | |
template<class DataType > | |
ReturnCode | write (DataType &data) |
The conversion template of the data type. More... | |
bool | setInPort (InPortBase *directInPort) |
virtual void | setPullDirectMode () |
virtual bool | pullDirectMode () |
Public Member Functions inherited from RTC::ConnectorBase | |
virtual | ~ConnectorBase () |
Destructor. More... | |
Protected Attributes | |
OutPortProvider * | m_provider |
the pointer to the OutPortProvider More... | |
ConnectorListeners & | m_listeners |
A reference to a ConnectorListener. More... | |
CdrBufferBase * | m_buffer |
the pointer to the buffer More... | |
Protected Attributes inherited from RTC::OutPortConnector | |
Logger | rtclog |
Logger streamf. More... | |
ConnectorInfo | m_profile |
PortProfile of the Port. More... | |
bool | m_littleEndian |
Connected Endian. More... | |
cdrMemoryStream | m_cdr |
CDR stream. More... | |
PortBase * | m_directInPort |
InProt pointer to the peer in the same process. More... | |
ConnectorListeners & | m_listeners |
A reference to a ConnectorListener. More... | |
ConnectorListeners * | m_inPortListeners |
A pointer to a InPort's ConnectorListener. More... | |
bool | m_directMode |
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... | |
OutPortPullConnector class.
Connector class of OutPort for pull type dataflow. When "pull" is specified as dataflow_type at the time of establishing connection, this object is generated and owned by the OutPort. This connector and InPortPullConnector make a pair and realize pull type dataflow of data ports. One connector corresponds to one connection which provides a data stream. Connector is distinguished by ID of the UUID that is generated at establishing connection.
OutPortPullConnector owns and manages the following objects.
Data written into the OutPort is passed to OutPortPullConnector::write(), and it is written into the buffer. By reading data from OutPortPullConnector to InPortPullConnector, data transfer is realized.
DATAPORTSTATUS_ENUM RTC::OutPortPullConnector::OutPortPullConnector | ( | ConnectorInfo | info, |
OutPortProvider * | provider, | ||
ConnectorListeners & | listeners, | ||
CdrBufferBase * | buffer = 0 |
||
) |
Constructor.
OutPortPullConnector's constructor is given the following arguments. According to ConnectorInfo which includes connection information, a buffer is created. It is also given a pointer to the provider object for the OutPort interface. The owner-ship of the pointer is owned by this OutPortPullConnector, it has responsibility to destruct the OutPortProvider. OutPortPullConnector also has ConnectorListeners to provide event callback mechanisms, and they would be called at the proper timing. If data buffer is given by OutPortBase, the pointer to the buffer is also given as arguments.
info | ConnectorInfo |
provider | OutPortProvider |
listeners | ConnectorListeners type lsitener object list |
buffer | CdrBufferBase type buffer |
|
virtual |
Destructor.
This operation calls disconnect(), which destructs and deletes the consumer, the publisher and the buffer.
|
inlinevirtual |
CdrBufferBase* RTC::OutPortPullConnector::createBuffer | ( | ConnectorInfo & | info | ) |
create buffer
Referenced by deactivate().
|
inlinevirtual |
Connector deactivation.
This operation deactivates this connector
Implements RTC::ConnectorBase.
References createBuffer(), onConnect(), and onDisconnect().
|
virtual |
disconnect
This operation destruct and delete the consumer, the publisher and the buffer.
Implements RTC::OutPortConnector.
|
virtual |
void RTC::OutPortPullConnector::onConnect | ( | ) |
Invoke callback when connection is established.
Referenced by deactivate().
void RTC::OutPortPullConnector::onDisconnect | ( | ) |
Invoke callback when connection is destroied.
Referenced by deactivate().
|
virtual |
Writing data.
This operation writes data into publisher and then the data will be transferred to correspondent InPort.
Implements RTC::OutPortConnector.
|
protected |
the pointer to the buffer
|
protected |
A reference to a ConnectorListener.
|
protected |
the pointer to the OutPortProvider