OpenRTM-aist
1.2.1
|
#include <OutPortPullConnector.h>
公開メンバ関数 | |
DATAPORTSTATUS_ENUM | OutPortPullConnector (ConnectorInfo info, OutPortProvider *provider, ConnectorListeners &listeners, CdrBufferBase *buffer=0) |
コンストラクタ [詳解] | |
virtual | ~OutPortPullConnector () |
デストラクタ [詳解] | |
virtual ReturnCode | write (cdrMemoryStream &data) |
データの書き込み [詳解] | |
virtual ReturnCode | disconnect () |
接続解除 [詳解] | |
virtual CdrBufferBase * | getBuffer () |
Buffer を取得する [詳解] | |
virtual void | activate () |
アクティブ化 [詳解] | |
virtual void | deactivate () |
非アクティブ化 [詳解] | |
CdrBufferBase * | createBuffer (ConnectorInfo &info) |
Bufferの生成 [詳解] | |
void | onConnect () |
接続確立時にコールバックを呼ぶ [詳解] | |
void | onDisconnect () |
接続切断時にコールバックを呼ぶ [詳解] | |
![]() | |
DATAPORTSTATUS_ENUM | OutPortConnector (ConnectorInfo &info, ConnectorListeners &listeners) |
コンストラクタ [詳解] | |
virtual | ~OutPortConnector () |
デストラクタ [詳解] | |
const ConnectorInfo & | profile () |
Profile 取得 [詳解] | |
const char * | id () |
Connector ID 取得 [詳解] | |
const char * | name () |
Connector 名取得 [詳解] | |
virtual void | setEndian (const bool endian_type) |
endianタイプ設定 [詳解] | |
virtual bool | isLittleEndian () |
endian 設定を返す [詳解] | |
template<class DataType > | |
ReturnCode | write (DataType &data) |
データ型の変換テンプレート [詳解] | |
bool | setInPort (InPortBase *directInPort) |
virtual void | setPullDirectMode () |
ダイレクト接続モードに設定 [詳解] | |
virtual bool | pullDirectMode () |
ダイレクト接続モードかの判定 [詳解] | |
![]() | |
virtual | ~ConnectorBase () |
デストラクタ [詳解] | |
限定公開変数類 | |
OutPortProvider * | m_provider |
OutPortProvider へのポインタ [詳解] | |
ConnectorListeners & | m_listeners |
ConnectorListenrs への参照 [詳解] | |
CdrBufferBase * | m_buffer |
Buffer へのポインタ [詳解] | |
![]() | |
Logger | rtclog |
ロガーストリーム [詳解] | |
ConnectorInfo | m_profile |
Port の PortProfile. [詳解] | |
bool | m_littleEndian |
接続エンディアン [詳解] | |
cdrMemoryStream | m_cdr |
cdrストリーム [詳解] | |
PortBase * | m_directInPort |
同一プロセス上のピアInPortのポインタ [詳解] | |
ConnectorListeners & | m_listeners |
ConnectorListenrs への参照 [詳解] | |
ConnectorListeners * | m_inPortListeners |
InPort 側の ConnectorListenrs への参照 [詳解] | |
bool | m_directMode |
その他の継承メンバ | |
![]() | |
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 } |
![]() | |
static const char * | toString (DataPortStatus::Enum status) |
DataPortStatus リターンコードを文字列に変換 [詳解] | |
OutPort の pull 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に pull が指定された場合、 OutPort によって生成・所有され、InPortPullConnector と対になって、 データポートの pull 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。
OutPortPullConnector は以下の三つのオブジェクトを所有し管理する。
OutPort に書き込まれたデータは OutPortPullConnector::write() に渡 され Buffer に書き込まれる。InPortPullConnector が OutPortPullConnector からデータを読み出すことで InPort にデータが 転送される。
DATAPORTSTATUS_ENUM RTC::OutPortPullConnector::OutPortPullConnector | ( | ConnectorInfo | info, |
OutPortProvider * | provider, | ||
ConnectorListeners & | listeners, | ||
CdrBufferBase * | buffer = 0 |
||
) |
コンストラクタ
OutPortPullConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いバッ ファ等を生成する。OutPort インターフェースのプロバイダオブジェク トへのポインタを取り、所有権を持つので、OutPortPullConnector は OutPortProvider の解体責任を持つ。各種イベントに対するコールバッ ク機構を提供する ConnectorListeners を持ち、適切なタイミングでコー ルバックを呼び出す。データバッファがもし OutPortBase から提供さ れる場合はそのポインタを取る。
info | ConnectorInfo |
provider | OutPortProvider |
listeners | ConnectorListeners 型のリスナオブジェクトリスト |
buffer | CdrBufferBase 型のバッファ |
|
virtual |
デストラクタ
disconnect() が呼ばれ、provider, buffer が解体・削除される。
|
inlinevirtual |
CdrBufferBase* RTC::OutPortPullConnector::createBuffer | ( | ConnectorInfo & | info | ) |
Bufferの生成
参照元 deactivate().
|
inlinevirtual |
|
virtual |
|
virtual |
void RTC::OutPortPullConnector::onConnect | ( | ) |
接続確立時にコールバックを呼ぶ
参照元 deactivate().
void RTC::OutPortPullConnector::onDisconnect | ( | ) |
接続切断時にコールバックを呼ぶ
参照元 deactivate().
|
virtual |
|
protected |
Buffer へのポインタ
|
protected |
ConnectorListenrs への参照
|
protected |
OutPortProvider へのポインタ