20#ifndef RTC_INPORTCONNECTOR_H
21#define RTC_INPORTCONNECTOR_H
120 const char*
id()
override;
220 template<
class DataType>
320 template <
typename DataType>
340 "ON_SENDER_EMPTY(InPort,OutPort) "
341 "callback called in direct mode."));
347 RTC_TRACE((
"ON_BUFFER_READ(OutPort), "));
348 RTC_TRACE((
"callback called in direct mode."));
352 RTC_TRACE((
"callback called in direct mode."));
356 RTC_TRACE((
"callback called in direct mode."));
359 RTC_TRACE((
"ON_BUFFER_WRITE(InPort), "));
360 RTC_TRACE((
"callback called in direct mode."));
#define RTC_PARANOID(fmt)
パラノイドログ出力マクロ。
Definition SystemLogger.h:732
#define RTC_TRACE(fmt)
トレースログ出力マクロ。
Definition SystemLogger.h:687
#define RTC_ERROR(fmt)
エラーログ出力マクロ。
Definition SystemLogger.h:599
BufferBase 抽象クラス
Definition BufferBase.h:106
シリアライザの基底クラス
Definition ByteDataStreamBase.h:63
virtual void isLittleEndian(bool little_endian)
エンディアンの設定
シリアライザのテンプレートクラス シリアライザを実装する場合は必ずこのクラスを継承する必要がある coil::GlobalFactory <RTC::ByteDataStream>にシリアライザを登録す...
Definition ByteDataStreamBase.h:200
virtual bool deserialize(DataType &data)=0
データの復号化
シリアライズ後のバイト列を操作するクラス
Definition ByteData.h:30
Connector 基底クラス
Definition ConnectorBase.h:209
ConnectorInfo クラス
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
virtual ::RTC::ConnectorListenerStatus::Enum notify(ConnectorListenerType type, ConnectorInfo &info)=0
リスナーへ通知する
virtual ::RTC::ConnectorListenerStatus::Enum notifyIn(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
リスナーへ通知する(InPort側) 指定の種類のリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 InPort側ではnotifyOut関...
virtual ::RTC::ConnectorListenerStatus::Enum notifyOut(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
リスナーへ通知する(OutPort側) 指定の種類のリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 OutPort側ではnotifyOu...
direct接続用OutPort基底クラス
Definition DirectOutPortBase.h:48
virtual void read(DataType &data)=0
データの取得
virtual bool isEmpty()=0
新規データが無いことを確認
InPortConnector 基底クラス
Definition InPortConnector.h:54
DataPortStatus disconnect() override=0
接続解除関数
virtual BufferStatus write(ByteData &cdr)
std::string m_marshaling_type
シリアライザの名前
Definition InPortConnector.h:448
virtual void unsubscribeInterface(const coil::Properties &prop)
コンシューマのインターフェースの登録を取り消す
bool setOutPort(OutPortBase *directOutPort)
データをダイレクトに書き込むためのOutPortのサーバントを設定する
const char * name() override
Connector 名取得
CdrBufferBase * getBuffer() override
Buffer を取得する
ByteDataStreamBase * m_cdr
シリアライザへの参照
Definition InPortConnector.h:457
bool m_littleEndian
接続エンディアン
Definition InPortConnector.h:423
const char * id() override
Connector ID 取得
Logger rtclog
ロガーストリーム
Definition InPortConnector.h:391
ConnectorInfo m_profile
ConnectorInfo
Definition InPortConnector.h:399
bool getDirectData(DataType &data)
ダイレクト接続時に変数渡しでデータを取得する
Definition InPortConnector.h:321
const ConnectorInfo & profile() override
ConnectorInfo 取得
ConnectorListenersBase * m_listeners
ConnectorListenrs への参照
Definition InPortConnector.h:407
PortBase * m_directOutPort
同一プロセス上のピアOutPortのポインタ
Definition InPortConnector.h:439
virtual bool isLittleEndian()
endian 設定を返す
virtual void setEndian(bool endian_type)
endianタイプ設定
DataPortStatus read(DataType &data)
データ型の変換テンプレート
Definition InPortConnector.h:221
virtual DataPortStatus read(ByteDataStreamBase *data)=0
read 関数
ConnectorListenersBase * m_outPortListeners
OutPort 側の ConnectorListenrs への参照
Definition InPortConnector.h:431
~InPortConnector() override
デストラクタ
InPortConnector(ConnectorInfo &info, ConnectorListenersBase *listeners, CdrBufferBase *buffer)
コンストラクタ
CdrBufferBase * m_buffer
Connector が保持している Buffer
Definition InPortConnector.h:415
Logger クラス
Definition SystemLogger.h:101
OutPort 基底クラス
Definition OutPortBase.h:229
Port の基底クラス
Definition PortBase.h:132
virtual DirectPortBase * getDirectPort()
direct通信用ポートオブジェクト取得
DataPortStatus
Definition DataPortStatus.h:114
BufferStatus
BufferStatus リターンコード
Definition BufferStatus.h:57