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

java.lang.Object
  上位を拡張 org.omg.PortableServer.Servant
      上位を拡張 OpenRTM.InPortCdrPOA
          上位を拡張 jp.go.aist.rtm.RTC.port.InPortCorbaCdrProvider
すべての実装されたインタフェース:
ObjectCreator<InPortProvider>, ObjectDestructor, InPortProvider, InPortCdrOperations, org.omg.CORBA.portable.InvokeHandler

public class InPortCorbaCdrProvider
extends InPortCdrPOA
implements InPortProvider, ObjectCreator<InPortProvider>, ObjectDestructor

InPortCorbaCdrProvider クラス

データ転送に CORBA の OpenRTM::InPortCdr インターフェースを利用し た、push 型データフロー型を実現する InPort プロバイダクラス。


フィールドの概要
protected  NVListHolder m_properties
          インタフェース情報を保持するオブジェクトです。
 
コンストラクタの概要
InPortCorbaCdrProvider()
          コンストラクタ
 
メソッドの概要
 InPortCdr _this()
          当該OpenRTM.InPortCdrのCORBAオブジェクト参照を取得する。
protected  PortStatus convertReturn(ReturnCode status, com.sun.corba.se.impl.encoding.EncapsOutputStream data)
          リターンコード変換 {p.en Return codes conversion}
 InPortProvider creator_()
          InPortCorbaCdrProvider を生成する
 void destructor_(java.lang.Object obj)
          InPortCorbaCdrProvider を破棄する
 void init(Properties prop)
          設定初期化 {@.ja InPortCorbaCdrProvider の各種設定を行う。
static void InPortCorbaCdrProviderInit()
          モジュール初期化関数 InPortCorbaCdrConsumer のファクトリを登録する初期化関数。
 boolean publishInterface(NVListHolder properties)
          Interface情報を公開する {@.ja Interface情報を公開する。
 void publishInterfaceProfile(NVListHolder properties)
          InterfaceProfile情報を公開する {@.ja InterfaceProfile情報を公開する。
 PortStatus put(byte[] data)
          [CORBA interface] バッファにデータを書き込む 設定されたバッファにデータを書き込む。
 PortStatus put(CdrDataHolder data)
          [CORBA interface] バッファにデータを書き込む 設定されたバッファにデータを書き込む。
 void setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
          バッファをセットする {@.ja OutPortProvider がデータを取り出すバッファをセットする。
 void setConnector(InPortConnector connector)
          Connectorを設定する。
protected  void setDataFlowType(java.lang.String dataflowType)
          インタフェースプロフィールのデータフロータイプを設定する。
protected  void setDataType(java.lang.String dataType)
          インタフェースプロフィールのデータタイプを設定する。
protected  void setInterfaceType(java.lang.String interfaceType)
          インタフェースプロフィールのインタフェースタイプを設定する。
 void setListener(ConnectorBase.ConnectorInfo info, ConnectorListeners listeners)
          リスナを設定する。
protected  void setSubscriptionType(java.lang.String subscriptionType)
          インタフェースプロフィールのサブスクリプションタイプを設定する。
 
クラス OpenRTM.InPortCdrPOA から継承されたメソッド
_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_properties

protected NVListHolder m_properties

インタフェース情報を保持するオブジェクトです。

コンストラクタの詳細

InPortCorbaCdrProvider

public InPortCorbaCdrProvider()
コンストラクタ

メソッドの詳細

_this

public InPortCdr _this()
当該OpenRTM.InPortCdrのCORBAオブジェクト参照を取得する。

オーバーライド:
クラス InPortCdrPOA 内の _this
戻り値:
当該PortのCORBAオブジェクト参照

init

public void init(Properties prop)
設定初期化

InPortCorbaCdrProvider の各種設定を行う。与えられた Propertiesから必要な情報を取得して各種設定を行う。この init() 関 数は、InPortProvider生成直後および、接続時にそれぞれ呼ばれる可 能性がある。したがって、この関数は複数回呼ばれることを想定して記 述されるべきである。

定義:
インタフェース InPortProvider 内の init
パラメータ:
prop - 設定情報

setBuffer

public void setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
バッファをセットする

OutPortProvider がデータを取り出すバッファをセットする。 すでにセットされたバッファがある場合、以前のバッファへの ポインタに対して上書きされる。 OutPortProviderはバッファの所有権を仮定していないので、 バッファの削除はユーザの責任で行わなければならない。

定義:
インタフェース InPortProvider 内の setBuffer
パラメータ:
buffer - OutPortProviderがデータを取り出すバッファへのポインタ

put

public PortStatus put(byte[] data)
               throws org.omg.CORBA.SystemException
[CORBA interface] バッファにデータを書き込む

設定されたバッファにデータを書き込む。

定義:
インタフェース InPortCdrOperations 内の put
パラメータ:
data - 書込対象データ
例外:
org.omg.CORBA.SystemException

put

public PortStatus put(CdrDataHolder data)
               throws org.omg.CORBA.SystemException
[CORBA interface] バッファにデータを書き込む

設定されたバッファにデータを書き込む。

パラメータ:
data - 書込対象データ
戻り値:
ステータス
例外:
org.omg.CORBA.SystemException

convertReturn

protected PortStatus convertReturn(ReturnCode status,
                                   com.sun.corba.se.impl.encoding.EncapsOutputStream data)
リターンコード変換 {p.en Return codes conversion}

パラメータ:
status - ReturnCode
戻り値:
PortStatus

creator_

public InPortProvider creator_()
InPortCorbaCdrProvider を生成する

定義:
インタフェース ObjectCreator<InPortProvider> 内の creator_
戻り値:
生成されたInPortProvider

destructor_

public void destructor_(java.lang.Object obj)
InPortCorbaCdrProvider を破棄する

定義:
インタフェース ObjectDestructor 内の destructor_
パラメータ:
obj - 破棄するインタスタンス

InPortCorbaCdrProviderInit

public static void InPortCorbaCdrProviderInit()
モジュール初期化関数

InPortCorbaCdrConsumer のファクトリを登録する初期化関数。


publishInterfaceProfile

public void publishInterfaceProfile(NVListHolder properties)
InterfaceProfile情報を公開する

InterfaceProfile情報を公開する。 引数で指定するプロパティ情報内の NameValue オブジェクトの dataport.interface_type 値を調べ、当該ポートに設定されている インターフェースタイプと一致する場合のみ情報を取得する。

定義:
インタフェース InPortProvider 内の publishInterfaceProfile
パラメータ:
properties - InterfaceProfile情報を受け取るホルダオブジェクト

publishInterface

public boolean publishInterface(NVListHolder properties)
Interface情報を公開する

Interface情報を公開する。引数で指定するプロパティ情報内の NameValue オブジェクトのdataport.interface_type 値を調べ、当該ポー トに設定されていなければNameValue に情報を追加する。すでに同一イ ンターフェースが登録済みの場合は何も行わない。

定義:
インタフェース InPortProvider 内の publishInterface
パラメータ:
properties - properties Interface情報を受け取るホルダオブジェクト
戻り値:
true: 正常終了

setListener

public void setListener(ConnectorBase.ConnectorInfo info,
                        ConnectorListeners listeners)
リスナを設定する。

InPort はデータ送信処理における各種イベントに対して特定のリスナ オブジェクトをコールするコールバック機構を提供する。詳細は ConnectorListener.h の ConnectorDataListener, ConnectorListener 等を参照のこと。InPortCorbaCdrProvider では、以下のコールバック が提供される。

定義:
インタフェース InPortProvider 内の setListener
パラメータ:
info - 接続情報
listeners - リスナオブジェクト

setConnector

public void setConnector(InPortConnector connector)
Connectorを設定する。

InPort は接続確立時に InPortConnector オブジェクトを生成し、生 成したオブジェクトのポインタと共にこの関数を呼び出す。所有権は InPort が保持するので InPortProvider は InPortConnector を削 除してはいけない。

定義:
インタフェース InPortProvider 内の setConnector
パラメータ:
connector - InPortConnector

setDataType

protected void setDataType(java.lang.String dataType)
インタフェースプロフィールのデータタイプを設定する。

パラメータ:
dataType - データタイプ

setInterfaceType

protected void setInterfaceType(java.lang.String interfaceType)
インタフェースプロフィールのインタフェースタイプを設定する。

パラメータ:
interfaceType - インタフェースタイプ

setDataFlowType

protected void setDataFlowType(java.lang.String dataflowType)
インタフェースプロフィールのデータフロータイプを設定する。

パラメータ:
dataflowType - データフロータイプ

setSubscriptionType

protected void setSubscriptionType(java.lang.String subscriptionType)
インタフェースプロフィールのサブスクリプションタイプを設定する。

パラメータ:
subscriptionType - サブスクリプションタイプ