クラス OpenRTM_aist.InPortBase.InPortBase

InPort 用 Port. [詳細]

OpenRTM_aist.InPortBase.InPortBaseに対する継承グラフ
OpenRTM_aist.PortBase.PortBase OpenRTM_aist.DataPortStatus.DataPortStatus OpenRTM_aist.InPort.InPort

すべてのメンバ一覧

Public メソッド

def __init__
 コンストラクタ
def __del__
def init
 プロパティの初期化
def read
 RTObject_impl.readAll()から呼ばれる仮想関数.
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 connect
 [CORBA interface] Port の接続を行う
def activateInterfaces
 InPortを activates する.
def deactivateInterfaces
 全ての Port のインターフェースを deactivates する
def addConnectorDataListener
 ConnectorDataListener リスナを追加する.
def removeConnectorDataListener
 ConnectorDataListener リスナを削除する.
def addConnectorListener
 ConnectorListener リスナを追加する.
def removeConnectorListener
 ConnectorDataListener リスナを削除する.
def publishInterfaces
 Interface情報を公開する.
def subscribeInterfaces
 Interfaceに接続する.
def unsubscribeInterfaces
 Interfaceへの接続を解除する.
def initProviders
 InPort provider の初期化.
def initConsumers
 OutPort consumer の初期化.
def createProvider
 InPort provider の生成.
def createConsumer
 OutPort consumer の生成.
def createConnector
 InPortPushConnector の生成.

説明

InPort 用 Port.

データ入力ポートの実装クラス。

から:
0.4.0

メソッド

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

デストラクタ

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

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

コンストラクタ

コンストラクタ

引数:
name ポート名称
inport 当該データ入力ポートに関連付けるInPortオブジェクト InPortオブジェクトで扱うデータ型、バッファタイプも指定する
prop ポート設定用プロパティ

InPortBase(const char* name, const char* data_type);

def OpenRTM_aist.InPortBase.InPortBase.activateInterfaces (   self  ) 

InPortを activates する.

InPortを activate する。

void activateInterfaces();

def OpenRTM_aist.InPortBase.InPortBase.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 type, ConnectorDataListener* listener, bool autoclean)

def OpenRTM_aist.InPortBase.InPortBase.addConnectorListener (   self,
  listener_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 type, ConnectorListener* listener, bool autoclean)

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

[CORBA interface] Port の接続を行う

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

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

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

def OpenRTM_aist.InPortBase.InPortBase.connectors (   self  ) 

Connector を取得.

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

戻り値:
connector のリスト

const std.vector<InPortConnector*>& connectors();

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

InPortPushConnector の生成.

Connector を生成し、生成が成功すれば m_connectors に保存する。 生成に失敗した場合 0 を返す。

InPortConnector* createConnector(ConnectorProfile& cprof, coil.Properties& prop, InPortProvider* provider);

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

OutPort consumer の生成.

OutPortConsumer を生成する。 生成に失敗した場合 0 を返す。

OutPortConsumer* createConsumer(const ConnectorProfile& cprof, coil.Properties& prop);

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

InPort provider の生成.

InPortProvider を生成し、情報を ConnectorProfile に公開する。 生成に失敗した場合 0 を返す。

InPortProvider* createProvider(ConnectorProfile& cprof, coil.Properties& prop);

def OpenRTM_aist.InPortBase.InPortBase.deactivateInterfaces (   self  ) 

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

Port に登録されている全てのインターフェースを deactivate する。

void deactivateInterfaces();

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

ConnectorProfileをIDで取得.

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

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

InPortConnector* getConnectorById(const char* id);

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

ConnectorProfileを名前で取得.

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

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

InPortConnector* getConnectorByName(const char* name);

def OpenRTM_aist.InPortBase.InPortBase.getConnectorIds (   self  ) 

ConnectorId を取得.

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

戻り値:
ConnectorId のリスト

coil.vstring getConnectorIds();

def OpenRTM_aist.InPortBase.InPortBase.getConnectorNames (   self  ) 

Connectorの名前を取得.

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

戻り値:
Connector名のリスト

coil.vstring getConnectorNames();

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

ConnectorProfileをIDで取得.

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

引数:
id Connector ID
prof ConnectorProfile
戻り値:
false 指定したIDがない

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

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

ConnectorProfileを名前で取得.

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

引数:
name Connector name
prof ConnectorProfile
戻り値:
false 指定した名前がない

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

def OpenRTM_aist.InPortBase.InPortBase.getConnectorProfiles (   self  ) 

ConnectorProfile を取得.

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

戻り値:
ConnectorProfile のリスト

ConnectorInfoList getConnectorProfiles();

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

プロパティの初期化

指定されたプロパティで初期化する。

引数:
prop 設定するプロパティ

void init(coil.Properties& prop);

def OpenRTM_aist.InPortBase.InPortBase.initConsumers (   self  ) 

OutPort consumer の初期化.

void initConsumers();

def OpenRTM_aist.InPortBase.InPortBase.initProviders (   self  ) 

InPort provider の初期化.

void initProviders();

def OpenRTM_aist.InPortBase.InPortBase.properties (   self  ) 

プロパティを取得する

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

戻り値:
プロパティ
def OpenRTM_aist.InPortBase.InPortBase.publishInterfaces (   self,
  cprof 
)

Interface情報を公開する.

Interface情報を公開する。 引数の ConnectorProfile に格納されている dataflow_type が push 型 の場合は、指定された interface_type の InPortProvider に関する情報 を ConnectorProfile.properties に書込み呼び出し側に戻す。

dataport.dataflow_type

引数:
connector_profile コネクタプロファイル
戻り値:
ReturnCode_t 型のリターンコード

ReturnCode_t publishInterfaces(ConnectorProfile& connector_profile);

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

def OpenRTM_aist.InPortBase.InPortBase.read (   self  ) 

RTObject_impl.readAll()から呼ばれる仮想関数.

DataPort からデータを読み出す

戻り値:
true:成功,false:失敗

virtual bool read() = 0;

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

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

ConnectorDataListener リスナを削除する.

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

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

void removeConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener* listener)

def OpenRTM_aist.InPortBase.InPortBase.removeConnectorListener (   self,
  listener_type,
  listener 
)

ConnectorDataListener リスナを削除する.

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

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

void removeConnectorListener(ConnectorListenerType type, ConnectorListener* listener)

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

Interfaceに接続する.

Interfaceに接続する。 Portが所有するConsumerに適合するProviderに関する情報を ConnectorProfile.properties から抽出し、 ConsumerにCORBAオブジェクト参照を設定する。

引数:
connector_profile コネクタ・プロファイル
戻り値:
ReturnCode_t 型のリターンコード

ReturnCode_t subscribeInterfaces(const ConnectorProfile& connector_profile);

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

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

Interfaceへの接続を解除する.

Interfaceへの接続を解除する。 与えられたConnectorProfileに関連するConsumerに設定された全てのObjectを 解放し接続を解除する。

引数:
connector_profile コネクタ・プロファイル

void unsubscribeInterfaces(const ConnectorProfile& connector_profile);

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


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