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, _this
protected NVListHolder m_properties
接続プロフィールを保持するメンバ変数です。
public PortSharedMemory _this()
_this
クラス内 PortSharedMemoryPOA
public void init(Properties prop)
OutPortSHMProvider の各種設定を行う。与えられた Propertiesから必要な情報を取得して各種設定を行う。この init() 関 数は、OutPortProvider生成直後および、接続時にそれぞれ呼ばれる可 能性がある。したがって、この関数は複数回呼ばれることを想定して記 述されるべきである。
init
インタフェース内 OutPortProvider
prop
- 設定情報
public void setBuffer(BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
OutPortProvider がデータを取り出すバッファをセットする。 すでにセットされたバッファがある場合、以前のバッファへの ポインタに対して上書きされる。 OutPortProviderはバッファの所有権を仮定していないので、 バッファの削除はユーザの責任で行わなければならない。
setBuffer
インタフェース内 OutPortProvider
buffer
- 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_
インタフェース内 ObjectDestructor
obj
- 破棄するインタスタンス
public static void OutPortSHMProviderInit()
OutPortSHMProvider のファクトリを登録する初期化関数。
public void publishInterfaceProfile(NVListHolder properties)
InterfaceProfile情報を公開する。 引数で指定するプロパティ情報内の NameValue オブジェクトの dataport.interface_type 値を調べ、当該ポートに設定されている インターフェースタイプと一致する場合のみ情報を取得する。
publishInterfaceProfile
インタフェース内 OutPortProvider
properties
- InterfaceProfile情報を受け取るプロパティ
public boolean publishInterface(NVListHolder properties)
Interface情報を公開する。引数で指定するプロパティ情報内の NameValue オブジェクトのdataport.interface_type 値を調べ、当該ポー トに設定されていなければNameValue に情報を追加する。すでに同一イ ンターフェースが登録済みの場合は何も行わない。
publishInterface
インタフェース内 OutPortProvider
properties
- Interface情報を受け取るプロパティ
public void setConnector(OutPortConnector connector)
OutPort は接続確立時に OutPortConnector オブジェクトを生成し、生 成したオブジェクトのポインタと共にこの関数を呼び出す。所有権は OutPort が保持するので OutPortProvider は OutPortConnector を削 除してはいけない。
setConnector
インタフェース内 OutPortProvider
connector
- 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
インタフェース内 OutPortProvider
info
- 接続情報
listeners
- リスナオブジェクト
public void close_memory(boolean unlink)
close_memory
インタフェース内 PortSharedMemoryOperations
close_memory
クラス内 SharedMemory
unlink
- Linuxで/dev/shm以下に作成したファイルを削除する場合にTrueにする
# void close_memory(boolean unlink);public void close_memory()
close_memory
クラス内 SharedMemory
public PortStatus get()
get
インタフェース内 PortSharedMemoryOperations
get
クラス内 SharedMemory
public PortStatus put()
put
インタフェース内 PortSharedMemoryOperations
put
クラス内 SharedMemory