OpenRTM-aist-Python 2.0.0
公開メンバ関数 | 全メンバ一覧
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

公開メンバ関数

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

その他の継承メンバ

- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承静的公開変数類
int PORT_OK = 0
 brief DataPortStatus リターンコード [詳解]
 

詳解

InPort 用 Port

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

から
0.4.0

構築子と解体子

◆ __init__()

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

コンストラクタ

コンストラクタ

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

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

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

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

◆ __del__()

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

メソッド詳解

◆ activateInterfaces()

def OpenRTM_aist.InPortBase.InPortBase.activateInterfaces (   self)

InPortを activates する

InPortを activate する。

void activateInterfaces();

◆ addConnectorDataListener()

def 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()

def 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()

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

[CORBA interface] Port の接続を行う

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

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

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

◆ connectors()

def OpenRTM_aist.InPortBase.InPortBase.connectors (   self)

Connector を取得

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

戻り値
connector のリスト

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

◆ createConnector()

def 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()

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

OutPort consumer の生成

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

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

◆ createDuplexConnector()

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

InPortDuplexConnector の生成

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

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

◆ createProvider()

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

InPort provider の生成

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

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

◆ deactivateInterfaces()

def OpenRTM_aist.InPortBase.InPortBase.deactivateInterfaces (   self)

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

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

void deactivateInterfaces();

◆ getConnectorById()

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

ConnectorProfileをIDで取得

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

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

InPortConnector* getConnectorById(const char* id);

◆ getConnectorByName()

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

ConnectorProfileを名前で取得

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

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

InPortConnector* getConnectorByName(const char* name);

◆ getConnectorIds()

def OpenRTM_aist.InPortBase.InPortBase.getConnectorIds (   self)

ConnectorId を取得

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

戻り値
ConnectorId のリスト

coil::vstring getConnectorIds();

◆ getConnectorNames()

def OpenRTM_aist.InPortBase.InPortBase.getConnectorNames (   self)

Connectorの名前を取得

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

戻り値
Connector名のリスト

coil::vstring getConnectorNames();

◆ getConnectorProfileById()

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

ConnectorProfileをIDで取得

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

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

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

◆ getConnectorProfileByName()

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

ConnectorProfileを名前で取得

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

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

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

◆ getConnectorProfiles()

def OpenRTM_aist.InPortBase.InPortBase.getConnectorProfiles (   self)

ConnectorProfile を取得

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

戻り値
ConnectorProfile のリスト

ConnectorInfoList getConnectorProfiles();

◆ getLocalOutPort()

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

ローカルのピアOutPortを取得

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

OutPortBase* getLocalOutPort(const ConnectorInfo& profile)

◆ init()

def 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()

def OpenRTM_aist.InPortBase.InPortBase.initConsumers (   self)

OutPort consumer の初期化

void initConsumers();

◆ initProviders()

def OpenRTM_aist.InPortBase.InPortBase.initProviders (   self)

InPort provider の初期化

void initProviders();

◆ notify_connect()

def 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()

def OpenRTM_aist.InPortBase.InPortBase.properties (   self)

プロパティを取得する

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

戻り値
プロパティ

◆ publishInterfaces()

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

◆ read()

def 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()

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

ConnectorDataListener リスナを削除する

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

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

void removeConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener* listener)

◆ removeConnectorListener()

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

ConnectorDataListener リスナを削除する

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

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

void removeConnectorListener(ConnectorListenerType type, ConnectorListener* listener)

◆ subscribeInterfaces()

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

◆ unsubscribeInterfaces()

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


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