OpenRTM-aist 2.1.0
|
データ型指定のConnectorListener ホルダクラス [詳解]
#include <ConnectorListener.h>
公開メンバ関数 | |
ConnectorDataListenerHolderT ()=default | |
コンストラクタ | |
~ConnectorDataListenerHolderT () override | |
デストラクタ | |
ReturnCode | notify (ConnectorInfo &info, ByteData &cdrdata, const std::string &marshalingtype) override |
リスナーへ通知する | |
ReturnCode | notifyIn (ConnectorInfo &info, ByteData &data) override |
リスナーへ通知する(OutPort側) リスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOut関数を使用する必要がある。 | |
ReturnCode | notifyOut (ConnectorInfo &info, ByteData &data) override |
リスナーへ通知する(OutPort側) リスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOut関数を使用する必要がある。 | |
![]() | |
ConnectorDataListenerHolder () | |
コンストラクタ | |
virtual | ~ConnectorDataListenerHolder () |
デストラクタ | |
void | addListener (ConnectorDataListener *listener, bool autoclean) |
リスナーの追加 | |
void | removeListener (ConnectorDataListener *listener) |
リスナーの削除 | |
size_t | size () |
リスナーの数を得る | |
template<class DataType > | |
ReturnCode | notifyIn (ConnectorInfo &info, DataType &typeddata) |
リスナーへ通知する(データ型指定版、InPort側) 登録されているリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 InPort側ではnotifyIn関数を使用する必要がある。 | |
template<class DataType > | |
ReturnCode | notifyOut (ConnectorInfo &info, DataType &typeddata) |
リスナーへ通知する(データ型指定版、OutPort側) 登録されているリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 InPort側ではnotifyOut関数を使用する必要がある。 | |
template<class DataType > | |
ReturnCode | notify (ConnectorInfo &info, DataType &typeddata, const std::string &marshalingtype) |
リスナーへ通知する(データ型指定版) | |
その他の継承メンバ | |
![]() | |
enum | Enum { NO_CHANGE = 0 , INFO_CHANGED = 1 << 0 , DATA_CHANGED = 1 << 1 , BOTH_CHANGED = INFO_CHANGED | DATA_CHANGED } |
![]() | |
USE_CONNLISTENER_STATUS | |
![]() | |
std::vector< Entry > | m_listeners |
std::mutex | m_mutex |
ByteDataStreamBase * | m_cdr { nullptr } |
std::string | m_marshalingtype |
データ型指定のConnectorListener ホルダクラス
複数の ConnectorListener を保持し管理するクラス。
|
default |
コンストラクタ
|
inlineoverride |
デストラクタ
|
inlineoverridevirtual |
リスナーへ通知する
登録されているリスナのコールバックメソッドを呼び出す。
info | ConnectorInfo |
cdrdata | データ |
RTC::ConnectorDataListenerHolderを再実装しています。
参照先 RTC::ConnectorListenerStatus::BOTH_CHANGED, RTC::ConnectorListenerStatus::DATA_CHANGED, RTC::ByteDataStream< DataType >::deserialize(), RTC::ByteData::getBuffer(), RTC::ByteData::getDataLength(), RTC::ByteDataStreamBase::getDataLength(), RTC::ByteDataStreamBase::isLittleEndian(), RTC::ConnectorDataListenerHolder::m_cdr, RTC::ConnectorDataListenerHolder::m_listeners, RTC::ConnectorDataListenerHolder::m_marshalingtype, RTC::ConnectorDataListenerHolder::m_mutex, RTC::ConnectorListenerStatus::NO_CHANGE, RTC::ConnectorInfo::properties, RTC::ByteDataStreamBase::readData(), RTC::ByteDataStream< DataType >::serialize(), RTC::ByteData::setDataLength(), RTC::ByteDataStreamBase::writeData() (計17項目).
参照元 RTC::ConnectorDataListenerHolderT< DataType >::notifyIn(), RTC::ConnectorDataListenerHolderT< DataType >::notifyOut().
|
inlineoverridevirtual |
リスナーへ通知する(OutPort側) リスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOut関数を使用する必要がある。
info | ConnectorInfo |
data | バイト列のデータ |
RTC::ConnectorDataListenerHolderを再実装しています。
参照先 RTC::ConnectorDataListenerHolderT< DataType >::notify(), RTC::ConnectorInfo::properties.
|
inlineoverridevirtual |
リスナーへ通知する(OutPort側) リスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOut関数を使用する必要がある。
info | ConnectorInfo |
data | バイト列のデータ |
RTC::ConnectorDataListenerHolderを再実装しています。
参照先 RTC::ConnectorDataListenerHolderT< DataType >::notify(), RTC::ConnectorInfo::properties.