OpenRTM-aist  1.2.1
InPortPushConnector.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_INPORTPUSHCONNECTOR_H
21 #define RTC_INPORTPUSHCONNECTOR_H
22 
23 #include <rtm/InPortConnector.h>
24 #include <rtm/InPortConsumer.h>
25 #include <rtm/PublisherBase.h>
26 
27 namespace RTC
28 {
29  class InPortProvider;
30 
81  : public InPortConnector
82  {
83  public:
85 
127  InPortProvider* provider,
128  ConnectorListeners& listeners,
129  CdrBufferBase* buffer = 0);
130 
146  virtual ~InPortPushConnector();
147 
180  virtual ReturnCode read(cdrMemoryStream& data);
181 
201  virtual ReturnCode disconnect();
202 
217  virtual void activate(){}; // do nothing
218 
233  virtual void deactivate(){}; // do nothing
234 
235  protected:
255  virtual CdrBufferBase* createBuffer(ConnectorInfo& info);
256 
264  void onConnect();
265 
273  void onDisconnect();
274 
275  inline void onBufferRead(cdrMemoryStream& data)
276  {
277  m_listeners.
278  connectorData_[ON_BUFFER_READ].notify(m_profile, data);
279 
280  }
281  void onBufferEmpty(cdrMemoryStream& data)
282  {
283  m_listeners.
284  connector_[ON_BUFFER_EMPTY].notify(m_profile);
285 
286  }
287  void onBufferReadTimeout(cdrMemoryStream& data)
288  {
289  m_listeners.
290  connector_[ON_BUFFER_READ_TIMEOUT].notify(m_profile);
291  }
292 
293  private:
301  InPortProvider* m_provider;
302 
310  ConnectorListeners& m_listeners;
311 
312  bool m_deleteBuffer;
313  };
314 }; // namespace RTC
315 
316 #endif // RTC_PUSH_CONNECTOR_H
InPortPushConnector クラス
Definition: InPortPushConnector.h:80
void onBufferReadTimeout(cdrMemoryStream &data)
Definition: InPortPushConnector.h:287
ConnectorListeners クラス
Definition: ConnectorListener.h:1217
ConnectorInfo m_profile
ConnectorInfo.
Definition: InPortConnector.h:315
InPortConnector 基底クラス
Definition: InPortConnector.h:51
#define DATAPORTSTATUS_ENUM
RTC::DataPortStatus 導入
Definition: DataPortStatus.h:233
RTコンポーネント
ConnectorInfo クラス
Definition: ConnectorBase.h:43
virtual ReturnCode disconnect()
接続解除
virtual ~InPortPushConnector()
デストラクタ
void onConnect()
接続確立時にコールバックを呼ぶ
Definition: InPortProvider.h:190
DATAPORTSTATUS_ENUM InPortPushConnector(ConnectorInfo info, InPortProvider *provider, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
コンストラクタ
void onBufferEmpty(cdrMemoryStream &data)
Definition: InPortPushConnector.h:281
InPortConnector base class.
Definition: ConnectorListener.h:144
virtual void activate()
アクティブ化
Definition: InPortPushConnector.h:217
Publisher base class.
Definition: ConnectorListener.h:621
virtual CdrBufferBase * createBuffer(ConnectorInfo &info)
Bufferの生成
Definition: ConnectorListener.h:620
virtual ReturnCode read(cdrMemoryStream &data)
データの読み出し
virtual void deactivate()
非アクティブ化
Definition: InPortPushConnector.h:233
void onBufferRead(cdrMemoryStream &data)
Definition: InPortPushConnector.h:275
BufferBase 抽象クラス
Definition: BufferBase.h:104
InPortConsumer class.
void onDisconnect()
接続切断時にコールバックを呼ぶ