OpenRTM-aist
1.2.1
|
#include <InPortSHMProvider.h>
公開メンバ関数 | |
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] バッファにデータを書き込む [詳解] | |
![]() | |
DATAPORTSTATUS_ENUM | InPortProvider () |
コンストラクタ [詳解] | |
virtual | ~InPortProvider (void) |
デストラクタ [詳解] | |
virtual void | publishInterfaceProfile (SDOPackage::NVList &properties) |
InterfaceProfile情報を公開する [詳解] | |
virtual bool | publishInterface (SDOPackage::NVList &properties) |
Interface情報を公開する [詳解] | |
![]() | |
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 () |
その他の継承メンバ | |
![]() | |
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 } |
![]() | |
static const char * | toString (DataPortStatus::Enum status) |
DataPortStatus リターンコードを文字列に変換 [詳解] | |
![]() | |
void | setInterfaceType (const char *interface_type) |
インタフェースタイプを設定する [詳解] | |
void | setDataFlowType (const char *dataflow_type) |
データフロータイプを設定する [詳解] | |
void | setSubscriptionType (const char *subs_type) |
サブスクリプションタイプを設定する [詳解] | |
![]() | |
SDOPackage::NVList | m_properties |
ポートプロファイルを保持するプロパティ [詳解] | |
Logger | rtclog |
ロガーストリーム [詳解] | |
![]() | |
::OpenRTM::PortSharedMemory_var | m_smInterface |
bool | m_endian |
coil::SharedMemory | m_shmem |
RTC::InPortSHMProvider::InPortSHMProvider | ( | ) |
コンストラクタ
コンストラクタ
|
virtual |
デストラクタ
デストラクタ
|
virtual |
virtual ::OpenRTM::PortStatus RTC::InPortSHMProvider::put | ( | ) | ||
throw | ( | CORBA::SystemException | ||
) |
[CORBA interface] バッファにデータを書き込む
設定されたバッファにデータを書き込む。
data | 書込対象データ |
|
virtual |
|
virtual |
|
virtual |