jp.go.aist.rtm.RTC.port
クラス InPortBase

java.lang.Object
  上位を拡張 org.omg.PortableServer.Servant
      上位を拡張 RTC.PortServicePOA
          上位を拡張 jp.go.aist.rtm.RTC.port.PortBase
              上位を拡張 jp.go.aist.rtm.RTC.port.InPortBase
すべての実装されたインタフェース:
SDOServiceOperations, org.omg.CORBA.portable.InvokeHandler, PortServiceOperations
直系の既知のサブクラス:
InPort

public abstract class InPortBase
extends PortBase

InPort 用 Port


入れ子のクラスの概要
 
クラス jp.go.aist.rtm.RTC.port.PortBase から継承された入れ子のクラス/インタフェース
PortBase.connect_func, PortBase.disconnect_all_func, PortBase.disconnect_func, PortBase.find_conn_id, PortBase.find_interface, PortBase.find_port_ref
 
フィールドの概要
protected  java.util.Vector<InPortConnector> m_connectors
           
protected  java.util.Vector<java.lang.String> m_consumerTypes
           
protected  ConnectorListeners m_listeners
           
protected  Properties m_properties
           
protected  java.util.Vector<java.lang.String> m_providerTypes
           
protected  boolean m_singlebuffer
           
protected  BufferBase<org.omg.CORBA.portable.OutputStream> m_thebuffer
           
 
クラス jp.go.aist.rtm.RTC.port.PortBase から継承されたフィールド
m_connectionLimit, m_connectorsMutex, m_objref, m_onConnected, m_onConnectionLost, m_onDisconnected, m_onPublishInterfaces, m_onSubscribeInterfaces, m_onUnsubscribeInterfaces, m_ownerInstanceName, m_profile, m_profile_mutex, rtcout
 
コンストラクタの概要
InPortBase(java.lang.String name, java.lang.String data_type)
          コンストラクタ
 
メソッドの概要
 void activateInterfaces()
          InPortを activates する Port に登録されている全てのインターフェースを activate する。
 void addConnectorDataListener(int type, ConnectorDataListenerT listener)
           
 void addConnectorDataListener(int type, ConnectorDataListenerT listener, boolean autoclean)
          ConnectorDataListener リスナを追加する {@.ja バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。
 void addConnectorListener(int type, ConnectorListener listener)
           
 void addConnectorListener(int type, ConnectorListener listener, boolean autoclean)
          ConnectorListener リスナを追加する {@.ja バッファ書き込みまたは読み出しイベントに関連する各種リスナを 設定する。
 ReturnCode_t connect(ConnectorProfileHolder connector_profile)
          [CORBA interface] Port の接続を行う {@.ja 与えられた ConnectoionProfile の情報に基づき、Port間の接続を確立 する。
 java.util.Vector<InPortConnector> connectors()
          Connector を取得 現在所有しているコネクタを取得する。
protected  InPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, InPortProvider provider)
          InPortPushConnector の生成 Connector を生成し、生成が成功すれば m_connectors に保存する。
protected  InPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, OutPortConsumer consumer)
          InPortPullConnector の生成 Connector を生成し、生成が成功すれば m_connectors に保存する。
protected  OutPortConsumer createConsumer(ConnectorProfileHolder cprof, Properties prop)
          OutPort consumer の生成 OutPortConsumer を生成する。
protected  InPortProvider createProvider(ConnectorProfileHolder cprof, Properties prop)
          InPort provider の生成 InPortProvider を生成し、情報を ConnectorProfile に公開する。
 void deactivateInterfaces()
          全ての Port のインターフェースを deactivates する Port に登録されている全てのインターフェースを deactivate する。
 InPortConnector getConnectorById(java.lang.String id)
          ConnectorProfileをIDで取得 現在所有しているコネクタをIDで取得する。
 InPortConnector getConnectorByName(java.lang.String name)
          ConnectorProfileを名前で取得 現在所有しているコネクタを名前で取得する。
 java.util.Vector<java.lang.String> getConnectorIds()
          ConnectorId を取得 現在所有しているコネクタのIDを取得する。
 java.util.Vector<java.lang.String> getConnectorNames()
          Connectorの名前を取得 現在所有しているコネクタの名前を取得する。
 boolean getConnectorProfileById(java.lang.String id, ConnectorBase.ConnectorInfoHolder prof)
          ConnectorProfileをIDで取得 現在所有しているコネクタをIDで取得する。
 boolean getConnectorProfileByName(java.lang.String name, ConnectorBase.ConnectorInfoHolder prof)
          ConnectorProfileを名前で取得 現在所有しているコネクタを名前で取得する。
 java.util.Vector<ConnectorBase.ConnectorInfo> getConnectorProfiles()
          ConnectorProfile を取得 現在所有しているコネクタのProfileを取得する。
 void init(Properties prop)
          プロパティの初期化 指定されたプロパティで初期化する。
protected  void initConsumers()
          OutPort consumer の初期化
protected  void initProviders()
          InPort provider の初期化
 boolean isLittleEndian()
          endian 設定を返す
 Properties properties()
          プロパティを取得する ポートのプロパティを取得する。
protected  ReturnCode_t publishInterfaces(ConnectorProfileHolder cprof)
          Interface情報を公開する {@.ja Interface情報を公開する。
abstract  boolean read()
          RTObject_impl::readAll()から呼ばれる仮想関数
 void removeConnectorDataListener(int type, ConnectorDataListenerT listener)
          ConnectorDataListener リスナを削除する 設定した各種リスナを削除する。
 void removeConnectorListener(int type, ConnectorListener listener)
          ConnectorDataListener リスナを削除する 設定した各種リスナを削除する。
protected  ReturnCode_t subscribeInterfaces(ConnectorProfileHolder cprof)
          Interfaceに接続する {@.ja Interfaceに接続する。
protected  void unsubscribeInterfaces(ConnectorProfile connector_profile)
          Interfaceへの接続を解除する {@.ja Interfaceへの接続を解除する。
 
クラス jp.go.aist.rtm.RTC.port.PortBase から継承されたメソッド
_publishInterfaces, _this, addProperty, appendInterface, appendProperty, checkPorts, connectNext, deleteInterface, disconnect_all, disconnect, disconnectNext, eraseConnectorProfile, findConnProfile, findConnProfileIndex, get_connector_profile, get_connector_profiles, get_port_profile, getName, getPortProfile, getPortRef, getProfile, getUUID, isEmptyId, isExistingConnId, notify_connect, notify_disconnect, setConnectionLimit, setName, setOnConnected, setOnConnectionLost, setOnDisconnected, setOnPublishInterfaces, setOnSubscribeInterfaces, setOnUnsubscribeInterfaces, setOwner, setPortRef, setUUID, updateConnectorProfile, updateConnectors
 
クラス RTC.PortServicePOA から継承されたメソッド
_all_interfaces, _invoke, _this
 
クラス org.omg.PortableServer.Servant から継承されたメソッド
_default_POA, _get_delegate, _get_interface_def, _is_a, _non_existent, _object_id, _orb, _poa, _set_delegate, _this_object, _this_object
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

m_singlebuffer

protected boolean m_singlebuffer

m_thebuffer

protected BufferBase<org.omg.CORBA.portable.OutputStream> m_thebuffer

m_properties

protected Properties m_properties

m_providerTypes

protected java.util.Vector<java.lang.String> m_providerTypes

m_consumerTypes

protected java.util.Vector<java.lang.String> m_consumerTypes

m_connectors

protected java.util.Vector<InPortConnector> m_connectors

m_listeners

protected ConnectorListeners m_listeners
コンストラクタの詳細

InPortBase

public InPortBase(java.lang.String name,
                  java.lang.String data_type)
コンストラクタ

パラメータ:
name - ポート名称
data_type - データタイプ
メソッドの詳細

properties

public Properties properties()
プロパティを取得する

ポートのプロパティを取得する。

戻り値:
プロパティ

connectors

public final java.util.Vector<InPortConnector> connectors()
Connector を取得

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

戻り値:
connector のリスト

getConnectorProfiles

public java.util.Vector<ConnectorBase.ConnectorInfo> getConnectorProfiles()
ConnectorProfile を取得

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

戻り値:
ConnectorProfile のリスト

getConnectorIds

public java.util.Vector<java.lang.String> getConnectorIds()
ConnectorId を取得

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

戻り値:
ConnectorId のリスト

getConnectorNames

public java.util.Vector<java.lang.String> getConnectorNames()
Connectorの名前を取得

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

戻り値:

getConnectorById

public InPortConnector getConnectorById(java.lang.String id)
ConnectorProfileをIDで取得

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

パラメータ:
id - Connector ID
戻り値:
コネクタへのポインタ

getConnectorByName

public InPortConnector getConnectorByName(java.lang.String name)
ConnectorProfileを名前で取得

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

パラメータ:
name - Connector name
戻り値:
コネクタへのポインタ

getConnectorProfileById

public boolean getConnectorProfileById(java.lang.String id,
                                       ConnectorBase.ConnectorInfoHolder prof)
ConnectorProfileをIDで取得

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

パラメータ:
id - Connector ID
prof - ConnectorProfileHolder
戻り値:
false 指定したIDがない

getConnectorProfileByName

public boolean getConnectorProfileByName(java.lang.String name,
                                         ConnectorBase.ConnectorInfoHolder prof)
ConnectorProfileを名前で取得

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

パラメータ:
name - Connector name
prof - ConnectorProfile
戻り値:
false 指定した名前がない

init

public void init(Properties prop)
プロパティの初期化

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

パラメータ:
prop - 設定するプロパティ

read

public abstract boolean read()
RTObject_impl::readAll()から呼ばれる仮想関数

DataPort からデータを読み出す

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

activateInterfaces

public void activateInterfaces()
InPortを activates する

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

定義:
クラス PortBase 内の activateInterfaces

deactivateInterfaces

public void deactivateInterfaces()
全ての Port のインターフェースを deactivates する

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

定義:
クラス PortBase 内の deactivateInterfaces

connect

public ReturnCode_t connect(ConnectorProfileHolder connector_profile)
[CORBA interface] Port の接続を行う

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

定義:
インタフェース PortServiceOperations 内の connect
オーバーライド:
クラス PortBase 内の connect
パラメータ:
connector_profile - ConnectorProfile
戻り値:
ReturnCode_t 型のリターンコード

publishInterfaces

protected ReturnCode_t publishInterfaces(ConnectorProfileHolder cprof)
Interface情報を公開する

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


  dataport.dataflow_type
 

定義:
クラス PortBase 内の publishInterfaces
パラメータ:
cprof - コネクタプロファイル
戻り値:
ReturnCode_t 型のリターンコード

subscribeInterfaces

protected ReturnCode_t subscribeInterfaces(ConnectorProfileHolder cprof)
Interfaceに接続する

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

定義:
クラス PortBase 内の subscribeInterfaces
パラメータ:
cprof - コネクタ・プロファイル
戻り値:
ReturnCode_t 型のリターンコード

unsubscribeInterfaces

protected void unsubscribeInterfaces(ConnectorProfile connector_profile)
Interfaceへの接続を解除する

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

定義:
クラス PortBase 内の unsubscribeInterfaces
パラメータ:
connector_profile - コネクタ・プロファイル

addConnectorDataListener

public void addConnectorDataListener(int type,
                                     ConnectorDataListenerT listener,
                                     boolean autoclean)
ConnectorDataListener リスナを追加する

バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。 設定できるリスナのタイプとコールバックイベントは以下の通り

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

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

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

addConnectorDataListener

public void addConnectorDataListener(int type,
                                     ConnectorDataListenerT listener)

removeConnectorDataListener

public void removeConnectorDataListener(int type,
                                        ConnectorDataListenerT listener)
ConnectorDataListener リスナを削除する

設定した各種リスナを削除する。 [@.en This operation removes a specified listener.}

パラメータ:
type - リスナタイプ
listener - リスナオブジェクトへのポインタ

addConnectorListener

public void addConnectorListener(int type,
                                 ConnectorListener listener,
                                 boolean autoclean)
ConnectorListener リスナを追加する

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

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

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

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

addConnectorListener

public void addConnectorListener(int type,
                                 ConnectorListener listener)

removeConnectorListener

public void removeConnectorListener(int type,
                                    ConnectorListener listener)
ConnectorDataListener リスナを削除する

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

パラメータ:
type - リスナタイプ
listener - リスナオブジェクトへのポインタ

initProviders

protected void initProviders()
InPort provider の初期化


initConsumers

protected void initConsumers()
OutPort consumer の初期化


createProvider

protected InPortProvider createProvider(ConnectorProfileHolder cprof,
                                        Properties prop)
InPort provider の生成

InPortProvider を生成し、情報を ConnectorProfile に公開する。

戻り値:
生成に失敗した場合 0 を返す。

createConsumer

protected OutPortConsumer createConsumer(ConnectorProfileHolder cprof,
                                         Properties prop)
OutPort consumer の生成

OutPortConsumer を生成する。

戻り値:
生成に失敗した場合 0 を返す。

createConnector

protected InPortConnector createConnector(ConnectorProfileHolder cprof,
                                          Properties prop,
                                          InPortProvider provider)
InPortPushConnector の生成

Connector を生成し、生成が成功すれば m_connectors に保存する。

戻り値:
生成に失敗した場合 0 を返す。

createConnector

protected InPortConnector createConnector(ConnectorProfileHolder cprof,
                                          Properties prop,
                                          OutPortConsumer consumer)
InPortPullConnector の生成

Connector を生成し、生成が成功すれば m_connectors に保存する。

戻り値:
生成に失敗した場合 0 を返す。

isLittleEndian

public boolean isLittleEndian()
endian 設定を返す

戻り値:
m_littleEndian がlittleの場合true、bigの場合false を返す。