クラス OpenRTM_aist.OutPortBase.OutPortBase

OutPort 基底クラス. [詳細]

OpenRTM_aist.OutPortBase.OutPortBaseに対する継承グラフ
OpenRTM_aist.PortBase.PortBase OpenRTM_aist.DataPortStatus.DataPortStatus OpenRTM_aist.OutPort.OutPort

すべてのメンバ一覧

構成

class  connector_cleanup
 Connector を削除するための Functor. [詳細]
class  provider_cleanup
 Provider を削除するための Functor. [詳細]

Public メソッド

def __init__
 コンストラクタ
def __del__
 デストラクタ
def init
 プロパティの初期化
def write
 データ書き込み
def connect
 [CORBA interface] Port の接続を行う
def properties
 プロパティを取得する
def connectors
 Connector を取得.
def getConnectorProfiles
 ConnectorProfile を取得.
def getConnectorIds
 ConnectorId を取得.
def getConnectorNames
 Connectorの名前を取得.
def getConnectorById
 ConnectorProfileをIDで取得.
def getConnectorByName
 ConnectorProfileを名前で取得.
def getConnectorProfileById
 ConnectorProfileをIDで取得.
def getConnectorProfileByName
 ConnectorProfileを名前で取得.
def activateInterfaces
 OutPortを activates する.
def deactivateInterfaces
 全ての Port のインターフェースを deactivates する
def addConnectorDataListener
 ConnectorDataListener リスナを追加する.
def removeConnectorDataListener
 ConnectorDataListener リスナを削除する.
def addConnectorListener
 ConnectorListener リスナを追加する.
def removeConnectorListener
 ConnectorDataListener リスナを削除する.
def configure
 OutPortの設定を行う.
def publishInterfaces
 Interface情報を公開する.
def subscribeInterfaces
 Interface情報を取得する.
def unsubscribeInterfaces
 登録されているInterface情報を解除する
def initProviders
 OutPort provider の初期化.
def initConsumers
 InPort consumer の初期化.
def createProvider
 OutPort provider の生成.
def createConsumer
 InPort consumer の生成.
def createConnector
 OutPortPushConnector の生成.

説明

OutPort 基底クラス.

OutPort の基底クラス。

Properties: port.outport プロパティは

以下に指定したものが渡される。 (port.outport.[name]が優先される) さらに、一部のプロパティは接続時に ConnectorProfile により 渡される場合があり、その場合は ConnectorProfile が優先される。

dataport.dataflow_type dataport.interface_type dataport.subscription_type

[buffer]

[publihser]

[interface]

OutPort 側の connect() では以下のシーケンスで処理が行われる。

1. OutPort に関連する connector 情報の生成およびセット

2. InPortに関連する connector 情報の取得

5. ConnectorProfile.properties で与えられた情報から、 OutPort側の初期化処理を行う。

6. 上記の処理のうち一つでもエラーであれば、エラーリターンする。 正常に処理が行われた場合はRTCRTC_OKでリターンする。

から:
0.2.0

メソッド

def OpenRTM_aist.OutPortBase.OutPortBase.__del__ (   self,
  PortBase = OpenRTM_aist.PortBase 
)

デストラクタ

デストラクタ。 登録された全ての Publisher を削除する。

引数:
self 

OpenRTM_aist.OutPort.OutPortで再定義されています。

def OpenRTM_aist.OutPortBase.OutPortBase.__init__ (   self,
  name,
  data_type 
)

コンストラクタ

コンストラクタ。

引数:
self 
name ポート名

OutPortBase.OutPortBase(const char* name, const char* data_type)

def OpenRTM_aist.OutPortBase.OutPortBase.activateInterfaces (   self  ) 

OutPortを activates する.

void OutPortBase.activateInterfaces()

def OpenRTM_aist.OutPortBase.OutPortBase.addConnectorDataListener (   self,
  listener_type,
  listener,
  autoclean = True 
)

ConnectorDataListener リスナを追加する.

バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。

設定できるリスナのタイプとコールバックイベントは以下の通り

  • ON_BUFFER_WRITE: バッファ書き込み時
  • ON_BUFFER_FULL: バッファフル時
  • ON_BUFFER_WRITE_TIMEOUT: バッファ書き込みタイムアウト時
  • ON_BUFFER_OVERWRITE: バッファ上書き時
  • ON_BUFFER_READ: バッファ読み出し時
  • ON_SEND: InProtへの送信時
  • ON_RECEIVED: InProtへの送信完了時
  • ON_SEND_ERTIMEOUT: OutPort側タイムアウト時
  • ON_SEND_ERERROR: OutPort側エラー時
  • ON_RECEIVER_FULL: InProt側バッファフル時
  • ON_RECEIVER_TIMEOUT: InProt側バッファタイムアウト時
  • ON_RECEIVER_ERROR: InProt側エラー時

リスナは ConnectorDataListener を継承し、以下のシグニチャを持つ operator() を実装している必要がある。

ConnectorDataListener:: operator()(const ConnectorProfile&, const cdrStream&)

デフォルトでは、この関数に与えたリスナオブジェクトの所有権は OutPortに移り、OutPort解体時もしくは、 removeConnectorDataListener() により削除時に自動的に解体される。 リスナオブジェクトの所有権を呼び出し側で維持したい場合は、第3引 数に false を指定し、自動的な解体を抑制することができる。

引数:
listener_type リスナタイプ
listener リスナオブジェクトへのポインタ
autoclean リスナオブジェクトの自動的解体を行うかどうかのフラグ

void addConnectorDataListener(ConnectorDataListenerType listener_type, ConnectorDataListener* listener, bool autoclean = true);

def OpenRTM_aist.OutPortBase.OutPortBase.addConnectorListener (   self,
  callback_type,
  listener,
  autoclean = True 
)

ConnectorListener リスナを追加する.

バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。

設定できるリスナのタイプは

  • ON_BUFFER_EMPTY: バッファが空の場合
  • ON_BUFFER_READTIMEOUT: バッファが空でタイムアウトした場合

リスナは以下のシグニチャを持つ operator() を実装している必要がある。

ConnectorListener.operator()(const ConnectorProfile&)

デフォルトでは、この関数に与えたリスナオブジェクトの所有権は OutPortに移り、OutPort解体時もしくは、 removeConnectorListener() により削除時に自動的に解体される。 リスナオブジェクトの所有権を呼び出し側で維持したい場合は、第3引 数に false を指定し、自動的な解体を抑制することができる。

引数:
listener_type リスナタイプ
listener リスナオブジェクトへのポインタ
autoclean リスナオブジェクトの自動的解体を行うかどうかのフラグ

void addConnectorListener(ConnectorListenerType callback_type, ConnectorListener* listener, bool autoclean = true);

def OpenRTM_aist.OutPortBase.OutPortBase.configure (   self  ) 

OutPortの設定を行う.

void OutPortBase.configure()

def OpenRTM_aist.OutPortBase.OutPortBase.connect (   self,
  connector_profile 
)

[CORBA interface] Port の接続を行う

与えられた ConnectoionProfile の情報に基づき、Port間の接続を確立 する。この関数は主にアプリケーションプログラムやツールから呼び出 すことを前提としている。

引数:
connector_profile ConnectorProfile
戻り値:
ReturnCode_t 型のリターンコード

OpenRTM_aist.PortBase.PortBaseを再定義しています。

def OpenRTM_aist.OutPortBase.OutPortBase.connectors (   self  ) 

Connector を取得.

const std.vector<OutPortConnector*>& OutPortBase.connectors()

def OpenRTM_aist.OutPortBase.OutPortBase.createConnector (   self,
  cprof,
  prop,
  provider_ = None,
  consumer_ = None 
)

OutPortPushConnector の生成.

OutPortConnector* OutPortBase.createConnector(const ConnectorProfile& cprof, coil.Properties& prop, InPortConsumer* consumer)

def OpenRTM_aist.OutPortBase.OutPortBase.createConsumer (   self,
  cprof,
  prop 
)

InPort consumer の生成.

InPortConsumer* OutPortBase.createConsumer(const ConnectorProfile& cprof, coil.Properties& prop)

def OpenRTM_aist.OutPortBase.OutPortBase.createProvider (   self,
  cprof,
  prop 
)

OutPort provider の生成.

OutPortProvider* OutPortBase.createProvider(ConnectorProfile& cprof, coil.Properties& prop)

def OpenRTM_aist.OutPortBase.OutPortBase.deactivateInterfaces (   self  ) 

全ての Port のインターフェースを deactivates する

void OutPortBase.deactivateInterfaces()

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorById (   self,
  id 
)

ConnectorProfileをIDで取得.

現在所有しているコネクタをIDで取得する。

引数:
id Connector ID
戻り値:
コネクタへのポインタ

OutPortConnector* getConnectorById(const char* id);

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorByName (   self,
  name 
)

ConnectorProfileを名前で取得.

現在所有しているコネクタを名前で取得する。

引数:
name Connector name
戻り値:
コネクタへのポインタ

OutPortConnector* getConnectorByName(const char* name);

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorIds (   self  ) 

ConnectorId を取得.

coil.vstring OutPortBase.getConnectorIds()

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorNames (   self  ) 

Connectorの名前を取得.

coil.vstring OutPortBase.getConnectorNames()

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorProfileById (   self,
  id,
  prof 
)

ConnectorProfileをIDで取得.

bool OutPortBase.getConnectorProfileById(const char* id, ConnectorInfo& prof)

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorProfileByName (   self,
  name,
  prof 
)

ConnectorProfileを名前で取得.

bool OutPortBase.getConnectorProfileByName(const char* name, ConnectorInfo& prof)

def OpenRTM_aist.OutPortBase.OutPortBase.getConnectorProfiles (   self  ) 

ConnectorProfile を取得.

ConnectorBase.ConnectorInfoList OutPortBase.getConnectorProfiles()

def OpenRTM_aist.OutPortBase.OutPortBase.init (   self,
  prop 
)

プロパティの初期化

OutPortのプロパティを初期化する

void init(coil.Properties& prop);

def OpenRTM_aist.OutPortBase.OutPortBase.initConsumers (   self  ) 

InPort consumer の初期化.

void OutPortBase.initConsumers()

def OpenRTM_aist.OutPortBase.OutPortBase.initProviders (   self  ) 

OutPort provider の初期化.

void OutPortBase.initProviders()

def OpenRTM_aist.OutPortBase.OutPortBase.properties (   self  ) 

プロパティを取得する

OutPortのプロパティを取得する。

戻り値:
プロパティ

coil.Properties& OutPortBase.properties()

def OpenRTM_aist.OutPortBase.OutPortBase.publishInterfaces (   self,
  cprof 
)

Interface情報を公開する.

ReturnCode_t OutPortBase.publishInterfaces(ConnectorProfile& cprof)

OpenRTM_aist.PortBase.PortBaseを再定義しています。

def OpenRTM_aist.OutPortBase.OutPortBase.removeConnectorDataListener (   self,
  listener_type,
  listener 
)

ConnectorDataListener リスナを削除する.

設定した各種リスナを削除する。

引数:
listener_type リスナタイプ
listener リスナオブジェクトへのポインタ

void removeConnectorDataListener(ConnectorDataListenerType listener_type, ConnectorDataListener* listener);

def OpenRTM_aist.OutPortBase.OutPortBase.removeConnectorListener (   self,
  callback_type,
  listener 
)

ConnectorDataListener リスナを削除する.

設定した各種リスナを削除する。

引数:
listener_type リスナタイプ
listener リスナオブジェクトへのポインタ

void removeConnectorListener(ConnectorListenerType callback_type, ConnectorListener* listener);

def OpenRTM_aist.OutPortBase.OutPortBase.subscribeInterfaces (   self,
  cprof 
)

Interface情報を取得する.

ReturnCode_t OutPortBase.subscribeInterfaces(const ConnectorProfile& cprof)

OpenRTM_aist.PortBase.PortBaseを再定義しています。

def OpenRTM_aist.OutPortBase.OutPortBase.unsubscribeInterfaces (   self,
  connector_profile 
)

登録されているInterface情報を解除する

void OutPortBase.unsubscribeInterfaces(const ConnectorProfile& connector_profile)

OpenRTM_aist.PortBase.PortBaseを再定義しています。

def OpenRTM_aist.OutPortBase.OutPortBase.write (   self  ) 

データ書き込み

ポートへデータを書き込む。 バインドされた変数に設定された値をポートに書き込む。

戻り値:
書き込み処理結果(書き込み成功:true、書き込み失敗:false)

virtual bool write() = 0;


このクラスの説明は次のファイルから生成されました:
OpenRTM-aist-1.1.0-Pythonに対してMon Mar 2 14:14:08 2015に生成されました。  doxygen 1.6.3