OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
InPortDirectProvider.h
[詳解]
1// -*- C++ -*-
20#ifndef RTC_INPORTDIRECTPROVIDER_H
21#define RTC_INPORTDIRECTPROVIDER_H
22
23#include <rtm/BufferBase.h>
24#include <rtm/InPortProvider.h>
25#include <rtm/Manager.h>
27#include <rtm/ConnectorBase.h>
28
29namespace RTC
30{
56 : public InPortProvider
57 {
58 public:
73
88
116 void init(coil::Properties& prop) override;
117
143 void setBuffer(BufferBase<ByteData>* buffer) override;
144
194 ConnectorListenersBase* listeners) override;
195
220 void setConnector(InPortConnector* connector) override;
221
222 private:
232 inline void onBufferWrite(ByteData& data)
233 {
234 m_listeners->notifyIn(ConnectorDataListenerType::ON_BUFFER_WRITE, m_profile, data);
235 }
236
246 inline void onBufferFull(ByteData& data)
247 {
248 m_listeners->notifyIn(ConnectorDataListenerType::ON_BUFFER_FULL, m_profile, data);
249 }
250
260 inline void onBufferWriteTimeout(ByteData& data)
261 {
263 }
264
274 inline void onBufferWriteOverwrite(ByteData& data)
275 {
276 m_listeners->notifyIn(ConnectorDataListenerType::ON_BUFFER_OVERWRITE, m_profile, data);
277 }
278
288 inline void onReceived(ByteData& data)
289 {
290 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVED, m_profile, data);
291 }
292
302 inline void onReceiverFull(ByteData& data)
303 {
304 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVER_FULL, m_profile, data);
305 }
306
314 inline void onReceiverTimeout(ByteData& data)
315 {
316 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVER_TIMEOUT, m_profile, data);
317 }
318
326 inline void onReceiverError(ByteData& data)
327 {
328 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVER_ERROR, m_profile, data);
329 }
330
331 private:
332 CdrBufferBase* m_buffer{nullptr};
333 ConnectorListenersBase* m_listeners;
334 ConnectorInfo m_profile;
335 InPortConnector* m_connector;
336
337 }; // class InPortCorCdrbaProvider
338} // namespace RTC
339
340extern "C"
341{
356}
357
358#endif // RTC_INPORTDIRECTPROVIDER_H
359
Buffer abstract class
Connector base class
connector listener class
void InPortDirectProviderInit(void)
モジュール初期化関数
InPortProvider class
-*- C++ -*-
BufferBase 抽象クラス
Definition BufferBase.h:106
シリアライズ後のバイト列を操作するクラス
Definition ByteData.h:30
ConnectorInfo クラス
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
virtual::RTC::ConnectorListenerStatus::Enum notifyIn(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
リスナーへ通知する(InPort側) 指定の種類のリスナのコールバックメソッドを呼び出す。 InPortとOutPortでシリアライザの種類が違う場合があるため、 InPort側ではnotifyOut関...
InPortConnector 基底クラス
Definition InPortConnector.h:54
InPortDirectProvider クラス
Definition InPortDirectProvider.h:57
InPortDirectProvider()
コンストラクタ
void setConnector(InPortConnector *connector) override
Connectorを設定する。
void init(coil::Properties &prop) override
設定初期化
~InPortDirectProvider() override
デストラクタ
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
リスナを設定する。
void setBuffer(BufferBase< ByteData > *buffer) override
バッファをセットする
Definition InPortProvider.h:191
RTコンポーネント
BufferBase< ByteData > CdrBufferBase
Definition CdrBufferBase.h:31