public class OutPortSHMProvider extends SharedMemory implements OutPortProvider, ObjectCreator<OutPortProvider>, ObjectDestructor
データ転送に CORBA の OpenRTM::PortSharedMemory インターフェースを利用し た、pull 型データフロー型を実現する OutPort プロバイダクラス。
| 修飾子とタイプ | フィールドと説明 |
|---|---|
protected NVListHolder |
m_properties
接続プロフィールを保持するメンバ変数です。
|
m_endian| コンストラクタと説明 |
|---|
OutPortSHMProvider()
コンストラクタ
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
PortSharedMemory |
_this()
当該OpenRTM.PortSharedMemoryのCORBAオブジェクト参照を取得する。
|
void |
close_memory() |
void |
close_memory(boolean unlink)
マッピングした共有メモリをアンマップする
|
protected PortStatus |
convertReturn(ReturnCode status)
ReturnCodeをPortStatusに変換する。
|
OutPortProvider |
creator_()
OutPortSHMProvider を生成する
|
void |
destructor_(java.lang.Object obj)
OutPortSHMProvider を破棄する
|
PortStatus |
get()
データの送信を要求する
|
PortStatus |
get(CdrDataHolder data)
[CORBA interface] バッファからデータを取得する
設定された内部バッファからデータを取得する。
|
void |
init(Properties prop)
設定初期化
{@.ja OutPortSHMProvider の各種設定を行う。
|
static void |
OutPortSHMProviderInit()
モジュール初期化関数
OutPortSHMProvider のファクトリを登録する初期化関数。
|
boolean |
publishInterface(NVListHolder properties)
Interface情報を公開する
{@.ja Interface情報を公開する。
|
void |
publishInterfaceProfile(NVListHolder properties)
InterfaceProfile情報を公開する
{@.ja InterfaceProfile情報を公開する。
|
PortStatus |
put()
データの送信を知らせる
|
void |
setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
バッファをセットする
{@.ja OutPortProvider がデータを取り出すバッファをセットする。
|
void |
setConnector(OutPortConnector 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 |
setPortType(java.lang.String portType)
インタフェースプロフィールのポートタイプを設定する。
|
protected void |
setSubscriptionType(java.lang.String subscriptionType)
インタフェースプロフィールのサブスクリプションタイプを設定する。
|
create_memory, open_memory, read, setEndian, setInterface, string_to_MemorySize, write_all_interfaces, _invoke, _thisprotected NVListHolder m_properties
接続プロフィールを保持するメンバ変数です。
public PortSharedMemory _this()
_this クラス内 PortSharedMemoryPOApublic void init(Properties prop)
OutPortSHMProvider の各種設定を行う。与えられた Propertiesから必要な情報を取得して各種設定を行う。この init() 関 数は、OutPortProvider生成直後および、接続時にそれぞれ呼ばれる可 能性がある。したがって、この関数は複数回呼ばれることを想定して記 述されるべきである。
init インタフェース内 OutPortProviderprop - 設定情報
public void setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
OutPortProvider がデータを取り出すバッファをセットする。 すでにセットされたバッファがある場合、以前のバッファへの ポインタに対して上書きされる。 OutPortProviderはバッファの所有権を仮定していないので、 バッファの削除はユーザの責任で行わなければならない。
setBuffer インタフェース内 OutPortProviderbuffer - OutPortProviderがデータを取り出すバッファへのポインタ
public PortStatus get(CdrDataHolder data)
設定された内部バッファからデータを取得する。
data - 取得データを格納するバッファ
protected PortStatus convertReturn(ReturnCode status)
status - ReturnCode
public OutPortProvider creator_()
creator_ インタフェース内 ObjectCreator<OutPortProvider>public void destructor_(java.lang.Object obj)
destructor_ インタフェース内 ObjectDestructorobj - 破棄するインタスタンス
public static void OutPortSHMProviderInit()
OutPortSHMProvider のファクトリを登録する初期化関数。
public void publishInterfaceProfile(NVListHolder properties)
InterfaceProfile情報を公開する。 引数で指定するプロパティ情報内の NameValue オブジェクトの dataport.interface_type 値を調べ、当該ポートに設定されている インターフェースタイプと一致する場合のみ情報を取得する。
publishInterfaceProfile インタフェース内 OutPortProviderproperties - InterfaceProfile情報を受け取るプロパティ
public boolean publishInterface(NVListHolder properties)
Interface情報を公開する。引数で指定するプロパティ情報内の NameValue オブジェクトのdataport.interface_type 値を調べ、当該ポー トに設定されていなければNameValue に情報を追加する。すでに同一イ ンターフェースが登録済みの場合は何も行わない。
publishInterface インタフェース内 OutPortProviderproperties - Interface情報を受け取るプロパティ
public void setConnector(OutPortConnector connector)
OutPort は接続確立時に OutPortConnector オブジェクトを生成し、生 成したオブジェクトのポインタと共にこの関数を呼び出す。所有権は OutPort が保持するので OutPortProvider は OutPortConnector を削 除してはいけない。
setConnector インタフェース内 OutPortProviderconnector - OutPortConnector
protected void setPortType(java.lang.String portType)
portType - ポートタイプ
protected void setDataType(java.lang.String dataType)
dataType - データタイプ
protected void setInterfaceType(java.lang.String interfaceType)
interfaceType - インタフェースタイプ
protected void setDataFlowType(java.lang.String dataFlowType)
dataFlowType - データフロータイプ
protected void setSubscriptionType(java.lang.String subscriptionType)
subscriptionType - サブスクリプションタイプ
public void setListener(ConnectorBase.ConnectorInfo info, ConnectorListeners listeners)
OutPort はデータ送信処理における各種イベントに対して特定のリスナ オブジェクトをコールするコールバック機構を提供する。詳細は ConnectorListener.h の ConnectorDataListener, ConnectorListener 等を参照のこと。OutPortSHMProvider では、以下のコールバック が提供される。
setListener インタフェース内 OutPortProviderinfo - 接続情報
listeners - リスナオブジェクト
public void close_memory(boolean unlink)
close_memory インタフェース内 PortSharedMemoryOperationsclose_memory クラス内 SharedMemoryunlink - Linuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする
# void close_memory(boolean unlink);public void close_memory()
close_memory クラス内 SharedMemorypublic PortStatus get()
get インタフェース内 PortSharedMemoryOperationsget クラス内 SharedMemorypublic PortStatus put()
put インタフェース内 PortSharedMemoryOperationsput クラス内 SharedMemory