OpenRTM  1.0.0
InPortPullConnector.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTC_OUTPORTPULLCONNECTOR_H
21 #define RTC_OUTPORTPULLCONNECTOR_H
22 
23 #include <rtm/InPortConnector.h>
24 #include <rtm/InPortProvider.h>
25 #include <rtm/PublisherBase.h>
26 #include <rtm/DataPortStatus.h>
27 
28 namespace RTC
29 {
30  class OutPortConsumer;
31  class ConnectorListeners;
32 
88  : public InPortConnector
89  {
90  public:
92 
134  OutPortConsumer* consumer,
135  ConnectorListeners& listeners,
136  CdrBufferBase* buffer = 0);
137 
153  virtual ~InPortPullConnector();
154 
186  virtual ReturnCode read(cdrMemoryStream& data);
187 
201  virtual ReturnCode disconnect();
202 
217  virtual void activate(){}; // do nothing
218 
233  virtual void deactivate(){}; // do nothing
234 
235  protected:
256 
264  void onConnect();
265 
273  void onDisconnect();
274 
275  private:
283  OutPortConsumer* m_consumer;
284 
292  ConnectorListeners& m_listeners;
293  };
294 }; // namespace RTC
295 
296 #endif // RTC_PULL_CONNECTOR_H