OutPortPullConnector クラス. [詳細]
#include <OutPortPullConnector.h>
Public メソッド | |
DATAPORTSTATUS_ENUM | OutPortPullConnector (ConnectorInfo info, OutPortProvider *provider, ConnectorListeners &listeners, CdrBufferBase *buffer=0) |
コンストラクタ | |
virtual | ~OutPortPullConnector () |
デストラクタ | |
virtual ReturnCode | write (const cdrMemoryStream &data) |
データの書き込み | |
virtual ReturnCode | disconnect () |
接続解除 | |
virtual CdrBufferBase * | getBuffer () |
Buffer を取得する. | |
virtual void | activate () |
アクティブ化 | |
virtual void | deactivate () |
非アクティブ化 | |
CdrBufferBase * | createBuffer (ConnectorInfo &info) |
Bufferの生成. | |
void | onConnect () |
接続確立時にコールバックを呼ぶ | |
void | onDisconnect () |
接続切断時にコールバックを呼ぶ | |
Protected 変数 | |
OutPortProvider * | m_provider |
OutPortProvider へのポインタ. | |
ConnectorListeners & | m_listeners |
ConnectorListenrs への参照. | |
CdrBufferBase * | m_buffer |
Buffer へのポインタ. |
OutPortPullConnector クラス.
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 RTC::OutPortPullConnector::~OutPortPullConnector | ( | ) | [virtual] |
デストラクタ
disconnect() が呼ばれ、provider, buffer が解体・削除される。
virtual void RTC::OutPortPullConnector::activate | ( | ) | [inline, virtual] |
CdrBufferBase* RTC::OutPortPullConnector::createBuffer | ( | ConnectorInfo & | info | ) |
Bufferの生成.
virtual void RTC::OutPortPullConnector::deactivate | ( | ) | [inline, virtual] |
virtual ReturnCode RTC::OutPortPullConnector::disconnect | ( | ) | [virtual] |
virtual CdrBufferBase* RTC::OutPortPullConnector::getBuffer | ( | ) | [virtual] |
void RTC::OutPortPullConnector::onConnect | ( | ) |
接続確立時にコールバックを呼ぶ
void RTC::OutPortPullConnector::onDisconnect | ( | ) |
接続切断時にコールバックを呼ぶ
virtual ReturnCode RTC::OutPortPullConnector::write | ( | const cdrMemoryStream & | data | ) | [virtual] |
CdrBufferBase* RTC::OutPortPullConnector::m_buffer [protected] |
Buffer へのポインタ.
ConnectorListeners& RTC::OutPortPullConnector::m_listeners [protected] |
ConnectorListenrs への参照.
OutPortProvider* RTC::OutPortPullConnector::m_provider [protected] |
OutPortProvider へのポインタ.