OpenRTM-aist-Python 2.0.2
OpenRTM_aist.InPortBase.InPortBase クラス

[詳解]

OpenRTM_aist.InPortBase.InPortBase の継承関係図
OpenRTM_aist.PortBase.PortBase OpenRTM_aist.DataPortStatus.DataPortStatus OpenRTM_aist.CSPEventPort.CSPEventPort OpenRTM_aist.CSPInPort.CSPInPort OpenRTM_aist.EventPort.EventInPort OpenRTM_aist.EventPort_pyfsm.EventInPort OpenRTM_aist.InPort.InPort

公開メンバ関数

 __init__ (self, name, data_type)
 
 __del__ (self, PortBase=OpenRTM_aist.PortBase)
 
 init (self, prop)
 
 read (self)
 
 properties (self)
 
 connectors (self)
 
 getConnectorProfiles (self)
 
 getConnectorIds (self)
 
 getConnectorNames (self)
 
 getConnectorById (self, id)
 
 getConnectorByName (self, name)
 
 getConnectorProfileById (self, id)
 
 getConnectorProfileByName (self, name)
 
 connect (self, connector_profile)
 
 notify_connect (self, connector_profile)
 
 activateInterfaces (self)
 
 deactivateInterfaces (self)
 
 addConnectorDataListener (self, listener_type, listener)
 
 removeConnectorDataListener (self, listener_type, listener)
 
 addConnectorListener (self, listener_type, listener)
 
 removeConnectorListener (self, listener_type, listener)
 
 publishInterfaces (self, cprof)
 
 subscribeInterfaces (self, cprof)
 
 unsubscribeInterfaces (self, connector_profile)
 
 initProviders (self)
 
 initConsumers (self)
 
 createProvider (self, cprof, prop)
 
 createConsumer (self, cprof, prop)
 
 createConnector (self, cprof, prop, provider_=None, consumer_=None)
 
 createDuplexConnector (self, cprof, prop, provider_)
 
 getLocalOutPort (self, profile)
 
- 基底クラス OpenRTM_aist.PortBase.PortBase に属する継承公開メンバ関数
 exit (self)
 
 get_port_profile (self)
 
 getPortProfile (self)
 
 get_connector_profiles (self)
 
 get_connector_profile (self, connector_id)
 
 disconnect (self, connector_id)
 
 notify_disconnect (self, connector_id)
 
 disconnect_all (self)
 
 setName (self, name)
 
 getName (self)
 
 getProfile (self)
 
 setPortRef (self, port_ref)
 
 getPortRef (self)
 
 setOwner (self, owner)
 
 setOnPublishInterfaces (self, on_publish)
 
 setOnSubscribeInterfaces (self, on_subscribe)
 
 setOnConnected (self, on_connected)
 
 setOnUnsubscribeInterfaces (self, on_subscribe)
 
 setOnDisconnected (self, on_disconnected)
 
 setPortConnectListenerHolder (self, portconnListeners)
 
 connectNext (self, connector_profile)
 
 disconnectNext (self, connector_profile)
 
 setConnectionLimit (self, limit_value)
 
 isEmptyId (self, connector_profile)
 
 getUUID (self)
 
 setUUID (self, connector_profile)
 
 isExistingConnId (self, id_)
 
 findConnProfile (self, id_)
 
 findConnProfileIndex (self, id_)
 
 updateConnectorProfile (self, connector_profile)
 
 eraseConnectorProfile (self, id_)
 
 appendInterface (self, instance_name, type_name, pol)
 
 deleteInterface (self, name, pol)
 
 addProperty (self, key, value)
 
 appendProperty (self, key, value)
 
 updateConnectors (self)
 
 checkPorts (self, ports)
 
 isExistingMarshalingType (self, con_prop)
 
- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承公開メンバ関数
 toString (status)
 

その他の継承メンバ

- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承静的公開変数類
int PORT_OK = 0
 brief DataPortStatus リターンコード
 
- 基底クラス OpenRTM_aist.PortBase.PortBase に属する継承限定公開メンバ関数
 _publishInterfaces (self)
 

詳解

InPort 用 Port

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

から
0.4.0

構築子と解体子

◆ __init__()

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

コンストラクタ

コンストラクタ

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

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

OpenRTM_aist.PortBase.PortBaseを再実装しています。

OpenRTM_aist.CSPEventPort.CSPEventPort, OpenRTM_aist.CSPInPort.CSPInPort, OpenRTM_aist.EventPort.EventInPort, OpenRTM_aist.EventPort_pyfsm.EventInPort, OpenRTM_aist.InPort.InPortで再実装されています。

◆ __del__()

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

メソッド詳解

◆ activateInterfaces()

OpenRTM_aist.InPortBase.InPortBase.activateInterfaces ( self)

InPortを activates する

InPortを activate する。

void activateInterfaces();

◆ addConnectorDataListener()

OpenRTM_aist.InPortBase.InPortBase.addConnectorDataListener ( self,
listener_type,
listener )

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リスナオブジェクトへのポインタ

void addConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener* listener)

◆ addConnectorListener()

OpenRTM_aist.InPortBase.InPortBase.addConnectorListener ( self,
listener_type,
listener )

ConnectorListener リスナを追加する

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

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

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

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

ConnectorListener.operator()(const ConnectorProfile&)

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

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

void addConnectorListener(ConnectorListenerType type, ConnectorListener* listener)

◆ connect()

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

[CORBA interface] Port の接続を行う

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

引数
connector_profileConnectorProfile
戻り値
ReturnCode_t 型のリターンコード

OpenRTM_aist.PortBase.PortBaseを再実装しています。

◆ connectors()

OpenRTM_aist.InPortBase.InPortBase.connectors ( self)

Connector を取得

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

戻り値
connector のリスト

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

◆ createConnector()

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

InPortPushConnector の生成

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

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

◆ createConsumer()

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

OutPort consumer の生成

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

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

◆ createDuplexConnector()

OpenRTM_aist.InPortBase.InPortBase.createDuplexConnector ( self,
cprof,
prop,
provider_ )

InPortDuplexConnector の生成

双方向通信用コネクタを生成し、生成が成功すれば m_connectors に保存する。

引数
cprofコネクタプロファイル
propコネクタプロファイルをプロパティに変換
provider_プロバイダ
戻り値
生成したコネクタ。生成に失敗した場合 None を返す。

◆ createProvider()

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

InPort provider の生成

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

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

◆ deactivateInterfaces()

OpenRTM_aist.InPortBase.InPortBase.deactivateInterfaces ( self)

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

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

void deactivateInterfaces();

◆ getConnectorById()

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

ConnectorProfileをIDで取得

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

引数
idConnector ID
戻り値
コネクタへのポインタ

InPortConnector* getConnectorById(const char* id);

◆ getConnectorByName()

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

ConnectorProfileを名前で取得

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

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

InPortConnector* getConnectorByName(const char* name);

◆ getConnectorIds()

OpenRTM_aist.InPortBase.InPortBase.getConnectorIds ( self)

ConnectorId を取得

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

戻り値
ConnectorId のリスト

coil.vstring getConnectorIds();

◆ getConnectorNames()

OpenRTM_aist.InPortBase.InPortBase.getConnectorNames ( self)

Connectorの名前を取得

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

戻り値
Connector名のリスト

coil.vstring getConnectorNames();

◆ getConnectorProfileById()

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

ConnectorProfileをIDで取得

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

引数
idConnector ID
profConnectorProfile
戻り値
false 指定したIDがない

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

◆ getConnectorProfileByName()

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

ConnectorProfileを名前で取得

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

引数
nameConnector name
profConnectorProfile
戻り値
false 指定した名前がない

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

◆ getConnectorProfiles()

OpenRTM_aist.InPortBase.InPortBase.getConnectorProfiles ( self)

ConnectorProfile を取得

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

戻り値
ConnectorProfile のリスト

ConnectorInfoList getConnectorProfiles();

◆ getLocalOutPort()

OpenRTM_aist.InPortBase.InPortBase.getLocalOutPort ( self,
profile )

ローカルのピアOutPortを取得

引数
self
profileコネクタプロファイル
戻り値
OutPortのサーバント(取得に失敗した場合はNone)

OutPortBase* getLocalOutPort(const ConnectorInfo& profile)

◆ init()

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

プロパティの初期化

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

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

void init(coil.Properties& prop);

OpenRTM_aist.CSPEventPort.CSPEventPort, OpenRTM_aist.CSPInPort.CSPInPort, OpenRTM_aist.EventPort.EventInPort, OpenRTM_aist.EventPort_pyfsm.EventInPortで再実装されています。

◆ initConsumers()

OpenRTM_aist.InPortBase.InPortBase.initConsumers ( self)

OutPort consumer の初期化

void initConsumers();

◆ initProviders()

OpenRTM_aist.InPortBase.InPortBase.initProviders ( self)

InPort provider の初期化

void initProviders();

◆ notify_connect()

OpenRTM_aist.InPortBase.InPortBase.notify_connect ( self,
connector_profile )

引数
self
connector_profile
戻り値

OpenRTM_aist.PortBase.PortBaseを再実装しています。

OpenRTM_aist.CSPEventPort.CSPEventPort, OpenRTM_aist.CSPInPort.CSPInPortで再実装されています。

◆ properties()

OpenRTM_aist.InPortBase.InPortBase.properties ( self)

プロパティを取得する

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

戻り値
プロパティ

◆ publishInterfaces()

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を再実装しています。

◆ read()

OpenRTM_aist.InPortBase.InPortBase.read ( self)

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

DataPort からデータを読み出す

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

virtual bool read() = 0;

OpenRTM_aist.CSPEventPort.CSPEventPort, OpenRTM_aist.CSPInPort.CSPInPort, OpenRTM_aist.InPort.InPortで再実装されています。

◆ removeConnectorDataListener()

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

ConnectorDataListener リスナを削除する

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

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

void removeConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener* listener)

◆ removeConnectorListener()

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

ConnectorDataListener リスナを削除する

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

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

void removeConnectorListener(ConnectorListenerType type, ConnectorListener* listener)

◆ subscribeInterfaces()

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を再実装しています。

◆ unsubscribeInterfaces()

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を再実装しています。


このクラス詳解は次のファイルから抽出されました: