OpenRTM-aist  1.2.1
公開メンバ関数 | 全メンバ一覧
RTC::InPortSHMProvider クラス

InPortSHMProvider クラス [詳解]

#include <InPortSHMProvider.h>

RTC::InPortSHMProvider の継承関係図
Inheritance graph
[凡例]
RTC::InPortSHMProvider 連携図
Collaboration graph
[凡例]

公開メンバ関数

 InPortSHMProvider ()
 コンストラクタ [詳解]
 
virtual ~InPortSHMProvider ()
 デストラクタ [詳解]
 
virtual void init (coil::Properties &prop)
 設定初期化 [詳解]
 
virtual void setBuffer (BufferBase< cdrMemoryStream > *buffer)
 バッファをセットする [詳解]
 
virtual void setListener (ConnectorInfo &info, ConnectorListeners *listeners)
 リスナを設定する。 [詳解]
 
virtual void setConnector (InPortConnector *connector)
 Connectorを設定する。 [詳解]
 
virtual ::OpenRTM::PortStatus put () throw (CORBA::SystemException)
 [CORBA interface] バッファにデータを書き込む [詳解]
 
- 基底クラス RTC::InPortProvider に属する継承公開メンバ関数
DATAPORTSTATUS_ENUM InPortProvider ()
 コンストラクタ [詳解]
 
virtual ~InPortProvider (void)
 デストラクタ [詳解]
 
virtual void publishInterfaceProfile (SDOPackage::NVList &properties)
 InterfaceProfile情報を公開する [詳解]
 
virtual bool publishInterface (SDOPackage::NVList &properties)
 Interface情報を公開する [詳解]
 
- 基底クラス RTC::SharedMemoryPort に属する継承公開メンバ関数
 SharedMemoryPort ()
 コンストラクタ [詳解]
 
virtual ~SharedMemoryPort ()
 デストラクタ [詳解]
 
virtual int string_to_MemorySize (std::string size_str)
 文字列で指定したデータサイズを数値に変換する 1M → 1048576 1k → 1024 100 → 100 [詳解]
 
virtual void create_memory (::CORBA::ULongLong memory_size, const char *shm_address) throw (CORBA::SystemException)
 共有メモリの初期化 windowsではページングファイル上に領域を確保する Linuxでは/dev/shm以下にファイルを作成する 作成したファイルの内容を仮想アドレスにマッピングする [詳解]
 
virtual void open_memory (::CORBA::ULongLong memory_size, const char *shm_address) throw (CORBA::SystemException)
 共有メモリのマッピングを行う [詳解]
 
virtual void close_memory (::CORBA::Boolean unlink=false) throw (CORBA::SystemException)
 マッピングした共有メモリをアンマップする [詳解]
 
virtual void write (cdrMemoryStream &data)
 データを書き込む 先頭8byteにデータサイズを書き込み、その後ろにデータを書き込む 設定したデータサイズが共有メモリのサイズを上回った場合、共有メモリの初期化を行う [詳解]
 
virtual void read (cdrMemoryStream &data)
 データを読み込む [詳解]
 
virtual void setInterface (::OpenRTM::PortSharedMemory_ptr sm) throw (CORBA::SystemException)
 通信先のCORBAインターフェースを登録する 登録する事により共有メモリの初期化したときに、通信先でもマッピングをやり直すことができる [詳解]
 
virtual void setEndian (::CORBA::Boolean endian) throw (CORBA::SystemException)
 エンディアンを設定する [詳解]
 
virtual ::OpenRTM::PortStatus put () throw (CORBA::SystemException)
 データの送信を知らせる [詳解]
 
virtual ::OpenRTM::PortStatus get () throw (CORBA::SystemException)
 データの送信を要求する [詳解]
 
virtual ::OpenRTM::PortSharedMemory_ptr getObjRef ()
 

その他の継承メンバ

- 基底クラス RTC::DataPortStatus に属する継承公開型
enum  Enum {
  PORT_OK = 0, PORT_ERROR, BUFFER_ERROR, BUFFER_FULL,
  BUFFER_EMPTY, BUFFER_TIMEOUT, SEND_FULL, SEND_TIMEOUT,
  RECV_EMPTY, RECV_TIMEOUT, INVALID_ARGS, PRECONDITION_NOT_MET,
  CONNECTION_LOST, UNKNOWN_ERROR
}
 
- 基底クラス RTC::DataPortStatus に属する継承静的公開メンバ関数
static const char * toString (DataPortStatus::Enum status)
 DataPortStatus リターンコードを文字列に変換 [詳解]
 
- 基底クラス RTC::InPortProvider に属する継承限定公開メンバ関数
void setInterfaceType (const char *interface_type)
 インタフェースタイプを設定する [詳解]
 
void setDataFlowType (const char *dataflow_type)
 データフロータイプを設定する [詳解]
 
void setSubscriptionType (const char *subs_type)
 サブスクリプションタイプを設定する [詳解]
 
- 基底クラス RTC::InPortProvider に属する継承限定公開変数類
SDOPackage::NVList m_properties
 ポートプロファイルを保持するプロパティ [詳解]
 
Logger rtclog
 ロガーストリーム [詳解]
 
- 基底クラス RTC::SharedMemoryPort に属する継承限定公開変数類
::OpenRTM::PortSharedMemory_var m_smInterface
 
bool m_endian
 
coil::SharedMemory m_shmem
 

詳解

InPortSHMProvider クラス

InPortProvider

通信手段に 共有メモリ を利用した入力ポートプロバイダーの実装クラス。

から
1.2.0

構築子と解体子

RTC::InPortSHMProvider::InPortSHMProvider ( )

コンストラクタ

コンストラクタ

virtual RTC::InPortSHMProvider::~InPortSHMProvider ( )
virtual

デストラクタ

デストラクタ

関数詳解

virtual void RTC::InPortSHMProvider::init ( coil::Properties prop)
virtual

設定初期化

引数
prop設定情報

RTC::InPortProviderを実装しています。

virtual ::OpenRTM::PortStatus RTC::InPortSHMProvider::put ( )
throw (CORBA::SystemException
)

[CORBA interface] バッファにデータを書き込む

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

引数
data書込対象データ
virtual void RTC::InPortSHMProvider::setBuffer ( BufferBase< cdrMemoryStream > *  buffer)
virtual

バッファをセットする

引数
bufferOutPortProviderがデータを取り出すバッファへのポインタ

RTC::InPortProviderを実装しています。

virtual void RTC::InPortSHMProvider::setConnector ( InPortConnector connector)
virtual

Connectorを設定する。

引数
connectorOutPortConnector

RTC::InPortProviderを実装しています。

virtual void RTC::InPortSHMProvider::setListener ( ConnectorInfo info,
ConnectorListeners listeners 
)
virtual

リスナを設定する。

引数
info接続情報
listenersリスナオブジェクト

RTC::InPortProviderを実装しています。


このクラス詳解は次のファイルから抽出されました: