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

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

public abstract class OutPortBase
extends PortBase

出力ポートのベース実装クラス

Publisherの登録やPublisherへのデータ更新通知などの実装を提供する。


入れ子のクラスの概要
protected  class OutPortBase.Publisher
          ポート名です。
 
クラス 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<OutPortConnector> 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  java.util.List<OutPortBase.Publisher> m_publishers
           
 
クラス 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
 
コンストラクタの概要
OutPortBase(java.lang.String name, java.lang.String data_type)
          コンストラクタ
 
メソッドの概要
 void activateInterfaces()
          OutPortを activates する Port に登録されている全てのインターフェースを activate する。
 void addConnectorDataListener(int type, ConnectorDataListenerT listener)
          ConnectorDataListener リスナを追加する バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。
 void addConnectorDataListener(int type, ConnectorDataListenerT listener, boolean autoclean)
          ConnectorDataListener リスナを追加する バッファ書き込みまたは読み出しイベントに関連する各種リスナを設定する。
 void addConnectorListener(int type, ConnectorListener listener)
          ConnectorListener リスナを追加する {@.ja バッファ書き込みまたは読み出しイベントに関連する各種リスナを 設定する。
 void addConnectorListener(int type, ConnectorListener listener, boolean autoclean)
          ConnectorListener リスナを追加する {@.ja バッファ書き込みまたは読み出しイベントに関連する各種リスナを 設定する。
protected  void configure()
          OutPortの設定を行う propertiesの情報に基づきOutPortの各種設定を行う
 ReturnCode_t connect(ConnectorProfileHolder connector_profile)
          [CORBA interface] Port の接続を行う {@.ja 与えられた ConnectoionProfile の情報に基づき、Port間の接続を確立 する。
 java.util.Vector<OutPortConnector> connectors()
          Connector を取得 現在所有しているコネクタを取得する。
protected  OutPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, InPortConsumer consumer)
          OutPortPushConnector の生成
protected  OutPortConnector createConnector(ConnectorProfileHolder cprof, Properties prop, OutPortProvider provider)
          OutPortPullConnector の生成
protected  InPortConsumer createConsumer(ConnectorProfileHolder cprof, Properties prop)
          InPort consumer の生成
protected  OutPortProvider createProvider(ConnectorProfileHolder cprof, Properties prop)
          OutPort provider の生成
 void deactivateInterfaces()
          全ての Port のインターフェースを deactivates する Port に登録されている全てのインターフェースを deactivate する。
 OutPortConnector getConnectorById(java.lang.String id)
          ConnectorProfileをIDで取得 現在所有しているコネクタをIDで取得する。
(package private)  OutPortConnector 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 profh)
          ConnectorProfileをnameで取得 現在所有しているコネクタをIDで取得する。
 boolean getConnectorProfileByName(java.lang.String name, ConnectorBase.ConnectorInfoHolder profh)
          ConnectorProfileを名前で取得 現在所有しているコネクタを名前で取得する。
 java.util.Vector<ConnectorBase.ConnectorInfo> getConnectorProfiles()
          ConnectorProfile を取得 現在所有しているコネクタのProfileを取得する。
 void init(Properties prop)
          プロパティの初期化 指定されたプロパティで初期化する。
protected  void initConsumers()
          InPort consumer の初期化
protected  void initProviders()
          OutPort provider の初期化
 boolean isLittleEndian()
          endian 情報を返す
 void onConnect(java.lang.String id, PublisherBase publisher)
           onConnect
 void onDisconnect(java.lang.String id)
           onDisconenct
 Properties properties()
          プロパティを取得する ポートのプロパティを取得する。
protected  ReturnCode_t publishInterfaces(ConnectorProfileHolder cprof)
          Interface 情報を公開する {@.ja このオペレーションは、notify_connect() 処理シーケンスの始めにコール される純粋仮想関数である。
 void removeConnectorDataListener(int type, ConnectorDataListenerT listener)
          ConnectorDataListener リスナを削除する 設定した各種リスナを削除する。
 void removeConnectorListener(int type, ConnectorListener listener)
          @brief ConnectorDataListener リスナを削除する 設定した各種リスナを削除する。
protected  ReturnCode_t subscribeInterfaces(ConnectorProfileHolder cprof)
          Interface に接続する {@.ja このオペレーションは、notify_connect() 処理シーケンスの中間にコール される純粋仮想関数である。
protected  void unsubscribeInterfaces(ConnectorProfile connector_profile)
          Interfaceへの接続を解除する {@.ja Interfaceへの接続を解除する。
abstract  boolean write()
          データ書き込み {@.ja ポートへデータを書き込む。
 
クラス 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_publishers

protected java.util.List<OutPortBase.Publisher> m_publishers

m_properties

protected Properties m_properties

m_connectors

protected java.util.Vector<OutPortConnector> m_connectors

m_providerTypes

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

m_consumerTypes

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

m_listeners

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

OutPortBase

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

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

init

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

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

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

write

public abstract boolean write()
データ書き込み

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

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

properties

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

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

戻り値:
プロパティ

connectors

public final java.util.Vector<OutPortConnector> 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 OutPortConnector getConnectorById(java.lang.String id)
ConnectorProfileをIDで取得

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

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

getConnectorByName

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

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

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

getConnectorProfileById

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

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

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

getConnectorProfileByName

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

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

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

onConnect

public void onConnect(java.lang.String id,
                      PublisherBase publisher)

onConnect


onDisconnect

public void onDisconnect(java.lang.String id)

onDisconenct


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 情報を公開する

このオペレーションは、notify_connect() 処理シーケンスの始めにコール される純粋仮想関数である。 notify_connect() では、

の順に protected 関数がコールされ接続処理が行われる。
このオペレーションは、新規の connector_id に対しては接続の生成、 既存の connector_id に対しては更新が適切に行われる必要がある。

定義:
クラス PortBase 内の publishInterfaces
パラメータ:
cprof - 接続に関するプロファイル情報
戻り値:
ReturnCode_t 型のリターンコード

subscribeInterfaces

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

このオペレーションは、notify_connect() 処理シーケンスの中間にコール される純粋仮想関数である。 notify_connect() では、

の順に protected 関数がコールされ接続処理が行われる。

定義:
クラス PortBase 内の subscribeInterfaces
パラメータ:
cprof - 接続に関するプロファイル情報
戻り値:
ReturnCode_t 型のリターンコード

unsubscribeInterfaces

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

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

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

activateInterfaces

public void activateInterfaces()
OutPortを activates する

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

定義:
クラス PortBase 内の activateInterfaces

deactivateInterfaces

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

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

定義:
クラス PortBase 内の deactivateInterfaces

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)
ConnectorDataListener リスナを追加する

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

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

 ConnectorDataListener::
         operator()(const ConnectorProfile&, const cdrStream&)
 
デフォルトでは、この関数に与えたリスナオブジェクトの所有権は OutPortに移り、OutPort解体時もしくは、 removeConnectorDataListener() により削除時に自動的に解体される。}

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

removeConnectorDataListener

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

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

パラメータ:
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)
ConnectorListener リスナを追加する

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

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

 ConnectorListener::operator()(const ConnectorProfile&)
 
デフォルトでは、この関数に与えたリスナオブジェクトの所有権は OutPortに移り、OutPort解体時もしくは、 removeConnectorListener() により削除時に自動的に解体される。

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

removeConnectorListener

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

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

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

configure

protected void configure()
OutPortの設定を行う

propertiesの情報に基づきOutPortの各種設定を行う


initProviders

protected void initProviders()
OutPort provider の初期化


initConsumers

protected void initConsumers()
InPort consumer の初期化


createProvider

protected OutPortProvider createProvider(ConnectorProfileHolder cprof,
                                         Properties prop)
OutPort provider の生成


createConsumer

protected InPortConsumer createConsumer(ConnectorProfileHolder cprof,
                                        Properties prop)
InPort consumer の生成


createConnector

protected OutPortConnector createConnector(ConnectorProfileHolder cprof,
                                           Properties prop,
                                           InPortConsumer consumer)
OutPortPushConnector の生成


createConnector

protected OutPortConnector createConnector(ConnectorProfileHolder cprof,
                                           Properties prop,
                                           OutPortProvider provider)
OutPortPullConnector の生成


isLittleEndian

public boolean isLittleEndian()
endian 情報を返す

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