OpenRTM-aist-Python 2.0.2
|
公開メンバ関数 | |
__init__ (self, info, consumer, listeners, buffer=None) | |
__del__ (self) | |
write (self, data) | |
disconnect (self) | |
activate (self) | |
deactivate (self) | |
getBuffer (self) | |
createPublisher (self, info) | |
createBuffer (self, info) | |
onConnect (self) | |
onDisconnect (self) | |
setInPort (self, directInPort) | |
unsubscribeInterface (self, prop) | |
![]() | |
profile (self) | |
id (self) | |
name (self) | |
setDirectMode (self) | |
directMode (self) | |
setConsumer (self, consumer) | |
![]() | |
toString (status) | |
その他の継承メンバ | |
![]() | |
int | PORT_OK = 0 |
brief DataPortStatus リターンコード | |
OutPort の push 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に push が指定された場合、 OutPort によって生成・所有され、InPortPushConnector と対になって、 データポートの push 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。
OutPortPushConnector は以下の三つのオブジェクトを所有し管理する。
OutPort に書き込まれたデータは OutPortPushConnector.write() に渡 され、Connector は Publisher にデータを書き込む。Publisher はその 特性に従ってデータを Buffer から取得し InPortConsumer に対して push することで InPort にデータが転送される。
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__init__ | ( | self, | |
info, | |||
consumer, | |||
listeners, | |||
buffer = None ) |
コンストラクタ
OutPortPushConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いパブ リッシャやバッファ等を生成する。InPort インターフェースに対する コンシューマオブジェクトへのポインタを取り、所有権を持つので、 OutPortPushConnector は InPortConsumer の解体責任を持つ。各種イ ベントに対するコールバック機構を提供する ConnectorListeners を持 ち、適切なタイミングでコールバックを呼び出す。データバッファがも し OutPortBase から提供される場合はそのポインタを取る。
info | ConnectorInfo |
consumer | InPortConsumer |
listeners | ConnectorListeners 型のリスナオブジェクトリスト |
buffer | CdrBufferBase 型のバッファ |
OutPortPushConnector(ConnectorInfo info, InPortConsumer* consumer, ConnectorListeners& listeners, CdrBufferBase* buffer = 0);
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__del__ | ( | self | ) |
デストラクタ
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.activate | ( | self | ) |
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.createBuffer | ( | self, | |
info ) |
Bufferの生成
与えられた接続情報に基づきバッファを生成する。
info | 接続情報 |
virtual CdrBufferBase* createBuffer(ConnectorInfo& info);
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.createPublisher | ( | self, | |
info ) |
Publisherの生成
与えられた接続情報に基づきパブリッシャを生成する。
info | 接続情報 |
virtual PublisherBase* createPublisher(ConnectorInfo& info);
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.deactivate | ( | self | ) |
非アクティブ化
このコネクタを非アクティブ化する
virtual void deactivate();
OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.disconnect | ( | self | ) |
接続解除
consumer, publisher, buffer が解体・削除される。
virtual ReturnCode disconnect();
OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.getBuffer | ( | self | ) |
Buffer を取得する
Connector が保持している Buffer を返す
virtual CdrBufferBase* getBuffer();
OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onConnect | ( | self | ) |
接続確立時にコールバックを呼ぶ void onConnect()
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onDisconnect | ( | self | ) |
接続切断時にコールバックを呼ぶ void onDisconnect()
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.setInPort | ( | self, | |
directInPort ) |
データをダイレクトに書き込むためのInPortのサーバントを設定する
self | |
directInPort | InPortのサーバント |
bool setInPort(InPortBase* directInPort);
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.unsubscribeInterface | ( | self, | |
prop ) |
コンシューマのインターフェースの登録を取り消す
prop | コネクタプロファイルのプロパティ |
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.write | ( | self, | |
data ) |
データの書き込み
Publisherに対してデータを書き込み、これにより対応するInPortへデー タが転送される。正常終了した場合 PORT_OK が返される。それ以外の 場合、エラー値として、CONNECTION_LOST, BUFFER_FULL, BUFFER_ERROR, PORT_ERROR, BUFFER_TIMEOUT, PRECONDITION_NO_MET が 返される。
template<class DataType> virtual ReturnCode write(const DataType& data);