OpenRTM  1.0.0
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  private:
283  InPortProvider* m_provider;
284 
292  ConnectorListeners& m_listeners;
293 
294  bool m_deleteBuffer;
295  };
296 }; // namespace RTC
297 
298 #endif // RTC_PUSH_CONNECTOR_H