OpenRTM-aist  1.2.1
Public Member Functions | Protected Attributes | List of all members
RTC::OutPortPullConnector Class Reference

OutPortPullConnector class. More...

#include <OutPortPullConnector.h>

Inheritance diagram for RTC::OutPortPullConnector:
Inheritance graph
[legend]
Collaboration diagram for RTC::OutPortPullConnector:
Collaboration graph
[legend]

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 CdrBufferBasegetBuffer ()
 Getting Buffer. More...
 
virtual void activate ()
 Connector activation. More...
 
virtual void deactivate ()
 Connector deactivation. More...
 
CdrBufferBasecreateBuffer (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 ConnectorInfoprofile ()
 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

OutPortProviderm_provider
 the pointer to the OutPortProvider More...
 
ConnectorListenersm_listeners
 A reference to a ConnectorListener. More...
 
CdrBufferBasem_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...
 
PortBasem_directInPort
 InProt pointer to the peer in the same process. More...
 
ConnectorListenersm_listeners
 A reference to a ConnectorListener. More...
 
ConnectorListenersm_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...
 

Detailed Description

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.

Since
1.0.0

Constructor & Destructor Documentation

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.

Parameters
infoConnectorInfo
providerOutPortProvider
listenersConnectorListeners type lsitener object list
bufferCdrBufferBase type buffer
virtual RTC::OutPortPullConnector::~OutPortPullConnector ( )
virtual

Destructor.

This operation calls disconnect(), which destructs and deletes the consumer, the publisher and the buffer.

Member Function Documentation

virtual void RTC::OutPortPullConnector::activate ( )
inlinevirtual

Connector activation.

This operation activates this connector

Implements RTC::ConnectorBase.

CdrBufferBase* RTC::OutPortPullConnector::createBuffer ( ConnectorInfo info)

create buffer

Referenced by deactivate().

virtual void RTC::OutPortPullConnector::deactivate ( )
inlinevirtual

Connector deactivation.

This operation deactivates this connector

Implements RTC::ConnectorBase.

References createBuffer(), onConnect(), and onDisconnect().

virtual ReturnCode RTC::OutPortPullConnector::disconnect ( )
virtual

disconnect

This operation destruct and delete the consumer, the publisher and the buffer.

Implements RTC::OutPortConnector.

virtual CdrBufferBase* RTC::OutPortPullConnector::getBuffer ( )
virtual

Getting Buffer.

This operation returns this connector's buffer

Implements RTC::OutPortConnector.

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 ReturnCode RTC::OutPortPullConnector::write ( cdrMemoryStream &  data)
virtual

Writing data.

This operation writes data into publisher and then the data will be transferred to correspondent InPort.

Implements RTC::OutPortConnector.

Member Data Documentation

CdrBufferBase* RTC::OutPortPullConnector::m_buffer
protected

the pointer to the buffer

ConnectorListeners& RTC::OutPortPullConnector::m_listeners
protected

A reference to a ConnectorListener.

OutPortProvider* RTC::OutPortPullConnector::m_provider
protected

the pointer to the OutPortProvider


The documentation for this class was generated from the following file: