OpenRTM-aist  2.1.0
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>
27 #include <rtm/ConnectorListener.h>
28 #include <rtm/ConnectorBase.h>
29 
30 namespace 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 
384 extern "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
coil::Properties Properties
Definition: RTC.h:72
BufferStatus
BufferStatus リターンコード
Definition: BufferStatus.h:57