OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
InPortCorbaCdrUDPProvider.h
[詳解]
1// -*- C++ -*-
19#ifndef RTC_INPORTCORBACDRUDPPROVIDER_H
20#define RTC_INPORTCORBACDRUDPPROVIDER_H
21
22#include <rtm/idl/DataPortUDPSkel.h>
23#include <rtm/BufferBase.h>
24#include <rtm/InPortProvider.h>
25#include <rtm/CORBA_SeqUtil.h>
26#include <rtm/Manager.h>
28#include <rtm/ConnectorBase.h>
29
30namespace RTC
31{
57 : public InPortProvider,
58 public virtual POA_OpenRTM::InPortCdrUDP,
59 public virtual PortableServer::RefCountServantBase
60 {
61 public:
76
91
119 void init(coil::Properties& prop) override;
120
146 void setBuffer(BufferBase<ByteData>* buffer) override;
147
197 ConnectorListenersBase* listeners) override;
198
223 void setConnector(InPortConnector* connector) override;
224
242 void put(const ::OpenRTM::CdrData& data) override;
243
244 private:
245
246
247
257 inline void onBufferWrite(ByteData& data)
258 {
260 m_profile, data);
261 }
262
272 inline void onBufferFull(ByteData& data)
273 {
275 m_profile, data);
276 }
277
287 inline void onBufferWriteTimeout(ByteData& data)
288 {
290 m_profile, data);
291 }
292
302 inline void onBufferWriteOverwrite(ByteData& data)
303 {
305 m_profile, data);
306 }
307
317 inline void onReceived(ByteData& data)
318 {
320 m_profile, data);
321 }
322
332 inline void onReceiverFull(ByteData& data)
333 {
335 m_profile, data);
336 }
337
345 inline void onReceiverTimeout(ByteData& data)
346 {
348 m_profile, data);
349 }
350
358 inline void onReceiverError(ByteData& data)
359 {
361 m_profile, data);
362 }
363
364 private:
372 void convertReturn(BufferStatus status, ByteData& data);
373
374 CdrBufferBase* m_buffer;
375 ::OpenRTM::InPortCdrUDP_var m_objref;
376 ConnectorListenersBase* m_listeners;
377 ConnectorInfo m_profile;
378 InPortConnector* m_connector;
379 ByteData m_cdr;
380
381 }; // class InPortCorCdrbaProvider
382} // namespace RTC
383
384extern "C"
385{
400}
401
402#endif // RTC_INPORTCORBACDRUDPPROVIDER_H
403
Buffer abstract class
CORBA sequence utility template functions
Connector base class
connector listener class
void InPortCorbaCdrUDPProviderInit(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
InPortCorbaCdrUDPProvider クラス
Definition InPortCorbaCdrUDPProvider.h:60
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
リスナを設定する。
~InPortCorbaCdrUDPProvider(void) override
デストラクタ
void setBuffer(BufferBase< ByteData > *buffer) override
バッファをセットする
void setConnector(InPortConnector *connector) override
Connectorを設定する。
void init(coil::Properties &prop) override
設定初期化
void put(const ::OpenRTM::CdrData &data) override
[CORBA interface] バッファにデータを書き込む
InPortCorbaCdrUDPProvider(void)
コンストラクタ
Definition InPortProvider.h:191
RTコンポーネント
BufferBase< ByteData > CdrBufferBase
Definition CdrBufferBase.h:31
BufferStatus
BufferStatus リターンコード
Definition BufferStatus.h:57