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

InPortPushConnector class. More...

#include <InPortPushConnector.h>

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

Public Member Functions

DATAPORTSTATUS_ENUM InPortPushConnector (ConnectorInfo info, InPortProvider *provider, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
 
virtual ~InPortPushConnector ()
 Destructor. More...
 
virtual ReturnCode read (cdrMemoryStream &data)
 Reading data. More...
 
virtual ReturnCode disconnect ()
 disconnect More...
 
virtual void activate ()
 Connector activation. More...
 
virtual void deactivate ()
 Connector deactivation. More...
 
- Public Member Functions inherited from RTC::InPortConnector
DATAPORTSTATUS_ENUM InPortConnector (ConnectorInfo &info, ConnectorListeners &listeners, CdrBufferBase *buffer)
 Constructor. More...
 
virtual ~InPortConnector ()
 Destructor. More...
 
virtual const ConnectorInfoprofile ()
 Getting ConnectorInfo. More...
 
virtual const char * id ()
 Getting Connector ID. More...
 
virtual const char * name ()
 Getting Connector name. More...
 
virtual CdrBufferBasegetBuffer ()
 Getting Buffer. More...
 
virtual void setEndian (const bool endian_type)
 Setting an endian type. More...
 
virtual bool isLittleEndian ()
 Whether this connector's endian is little. More...
 
bool setOutPort (OutPortBase *directOutPort)
 
template<typename DataType >
bool getDirectData (DataType &data)
 
- Public Member Functions inherited from RTC::ConnectorBase
virtual ~ConnectorBase ()
 Destructor. More...
 

Protected Member Functions

virtual CdrBufferBasecreateBuffer (ConnectorInfo &info)
 create buffer More...
 
void onConnect ()
 Invoke callback when connection is established. More...
 
void onDisconnect ()
 Invoke callback when connection is destroied. More...
 
void onBufferRead (cdrMemoryStream &data)
 
void onBufferEmpty (cdrMemoryStream &data)
 
void onBufferReadTimeout (cdrMemoryStream &data)
 

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...
 
- Protected Attributes inherited from RTC::InPortConnector
Logger rtclog
 Logger stream. More...
 
ConnectorInfo m_profile
 ConnectorInfo. More...
 
ConnectorListenersm_listeners
 A reference to a ConnectorListener. More...
 
CdrBufferBasem_buffer
 Connector's buffer. More...
 
bool m_littleEndian
 Connected Endian. More...
 
ConnectorListenersm_outPortListeners
 A pointer to a OutPort's ConnectorListener. More...
 
PortBasem_directOutPort
 OutProt pointer to the peer in the same process. More...
 

Detailed Description

InPortPushConnector class.

Connector class of InPort for push type dataflow. When "push" is specified as dataflow_type at the time of establishing connection, this object is generated and owned by the InPort. This connector and OutPortPushConnector make a pair and realize push 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.

InPortPushConnector owns and manages the following objects.

Data written into the OutPort are passed to the InPortProvider::put() by OutPortConnector. The data is written into the buffer in the connector.

Since
1.0.0

Constructor & Destructor Documentation

DATAPORTSTATUS_ENUM RTC::InPortPushConnector::InPortPushConnector ( ConnectorInfo  info,
InPortProvider provider,
ConnectorListeners listeners,
CdrBufferBase buffer = 0 
)
virtual RTC::InPortPushConnector::~InPortPushConnector ( )
virtual

Destructor.

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

Member Function Documentation

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

Connector activation.

This operation activates this connector

Implements RTC::ConnectorBase.

virtual CdrBufferBase* RTC::InPortPushConnector::createBuffer ( ConnectorInfo info)
protectedvirtual

create buffer

This function creates a buffer based on given information.

Parameters
infoConnector information
Returns
The poitner to the buffer

Referenced by deactivate().

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

Connector deactivation.

This operation deactivates this connector

Implements RTC::ConnectorBase.

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

virtual ReturnCode RTC::InPortPushConnector::disconnect ( )
virtual

disconnect

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

Returns
PORT_OK

Implements RTC::InPortConnector.

void RTC::InPortPushConnector::onBufferEmpty ( cdrMemoryStream &  data)
inlineprotected
void RTC::InPortPushConnector::onBufferRead ( cdrMemoryStream &  data)
inlineprotected
void RTC::InPortPushConnector::onBufferReadTimeout ( cdrMemoryStream &  data)
inlineprotected
void RTC::InPortPushConnector::onConnect ( )
protected

Invoke callback when connection is established.

Referenced by deactivate().

void RTC::InPortPushConnector::onDisconnect ( )
protected

Invoke callback when connection is destroied.

Referenced by deactivate().

virtual ReturnCode RTC::InPortPushConnector::read ( cdrMemoryStream &  data)
virtual

Reading data.

This function reads data from the buffer. If data is read properly, this function will return PORT_OK return code. Except normal return, BUFFER_EMPTY, TIMEOUT, PRECONDITION_NOT_MET and PORT_ERROR will be returned as error codes.

Returns
PORT_OK Normal return BUFFER_EMPTY Buffer empty TIMEOUT Timeout PRECONDITION_NOT_MET Preconditin not met PORT_ERROR Other error

Implements RTC::InPortConnector.


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