OpenRTM-aist  1.2.1
InPortPushConnector.h
Go to the documentation of this file.
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 class.
Definition: InPortPushConnector.h:80
void onBufferReadTimeout(cdrMemoryStream &data)
Definition: InPortPushConnector.h:287
ConnectorListeners class.
Definition: ConnectorListener.h:1217
ConnectorInfo m_profile
ConnectorInfo.
Definition: InPortConnector.h:315
InPortConnector base class.
Definition: InPortConnector.h:51
#define DATAPORTSTATUS_ENUM
Importing RTC::DataPortStatus macro.
Definition: DataPortStatus.h:233
RT-Component.
Definition: ConnectorBase.h:43
virtual ReturnCode disconnect()
disconnect
virtual ~InPortPushConnector()
Destructor.
void onConnect()
Invoke callback when connection is established.
InPortProvider.
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()
Connector activation.
Definition: InPortPushConnector.h:217
Publisher base class.
Definition: ConnectorListener.h:621
virtual CdrBufferBase * createBuffer(ConnectorInfo &info)
create buffer
Definition: ConnectorListener.h:620
virtual ReturnCode read(cdrMemoryStream &data)
Reading data.
virtual void deactivate()
Connector deactivation.
Definition: InPortPushConnector.h:233
void onBufferRead(cdrMemoryStream &data)
Definition: InPortPushConnector.h:275
BufferBase abstract class.
Definition: BufferBase.h:104
InPortConsumer class.
void onDisconnect()
Invoke callback when connection is destroied.