OpenRTM-aist  1.2.1
InPortDirectProvider.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTC_INPORTDIRECTPROVIDER_H
21 #define RTC_INPORTDIRECTPROVIDER_H
22 
23 #include <rtm/BufferBase.h>
24 #include <rtm/InPortProvider.h>
25 #include <rtm/Manager.h>
26 #include <rtm/ConnectorListener.h>
27 #include <rtm/ConnectorBase.h>
28 
29 #ifdef WIN32
30 #pragma warning( disable : 4290 )
31 #endif
32 
33 namespace RTC
34 {
60  : public InPortProvider
61  {
62  public:
77 
91  virtual ~InPortDirectProvider(void);
92 
120  virtual void init(coil::Properties& prop);
121 
147  virtual void setBuffer(BufferBase<cdrMemoryStream>* buffer);
148 
197  virtual void setListener(ConnectorInfo& info,
198  ConnectorListeners* listeners);
199 
224  virtual void setConnector(InPortConnector* connector);
225 
226  private:
227 
237  inline void onBufferWrite(cdrMemoryStream& data)
238  {
239  m_listeners->
240  connectorData_[ON_BUFFER_WRITE].notify(m_profile, data);
241  }
242 
252  inline void onBufferFull(cdrMemoryStream& data)
253  {
254  m_listeners->
255  connectorData_[ON_BUFFER_FULL].notify(m_profile, data);
256  }
257 
267  inline void onBufferWriteTimeout(cdrMemoryStream& data)
268  {
269  m_listeners->
270  connectorData_[ON_BUFFER_WRITE_TIMEOUT].notify(m_profile, data);
271  }
272 
282  inline void onBufferWriteOverwrite(cdrMemoryStream& data)
283  {
284  m_listeners->
285  connectorData_[ON_BUFFER_OVERWRITE].notify(m_profile, data);
286  }
287 
297  inline void onReceived(cdrMemoryStream& data)
298  {
299  m_listeners->
300  connectorData_[ON_RECEIVED].notify(m_profile, data);
301  }
302 
312  inline void onReceiverFull(cdrMemoryStream& data)
313  {
314  m_listeners->
315  connectorData_[ON_RECEIVER_FULL].notify(m_profile, data);
316  }
317 
325  inline void onReceiverTimeout(cdrMemoryStream& data)
326  {
327  m_listeners->
328  connectorData_[ON_RECEIVER_TIMEOUT].notify(m_profile, data);
329  }
330 
338  inline void onReceiverError(cdrMemoryStream& data)
339  {
340  m_listeners->
341  connectorData_[ON_RECEIVER_ERROR].notify(m_profile, data);
342  }
343 
344  private:
345  CdrBufferBase* m_buffer;
346  ConnectorListeners* m_listeners;
347  ConnectorInfo m_profile;
348  InPortConnector* m_connector;
349 
350  }; // class InPortCorCdrbaProvider
351 }; // namespace RTC
352 
353 extern "C"
354 {
368  void InPortDirectProviderInit(void);
369 };
370 
371 #ifdef WIN32
372 #pragma warning( default : 4290 )
373 #endif
374 
375 #endif // RTC_INPORTDIRECTPROVIDER_H
376 
ConnectorListeners class.
Definition: ConnectorListener.h:1217
InPortDirectProvider class.
Definition: InPortDirectProvider.h:59
Definition: ConnectorListener.h:147
InPortConnector base class.
Definition: InPortConnector.h:51
InPortProvider class.
RT-Component.
virtual void setConnector(InPortConnector *connector)
set Connector
Definition: ConnectorListener.h:146
virtual void init(coil::Properties &prop)
Initializing configuration.
Definition: ConnectorBase.h:43
Definition: ConnectorListener.h:140
InPortProvider.
Definition: InPortProvider.h:190
-*- C++ -*-
InPortDirectProvider(void)
Constructor.
Connector base class.
Definition: ConnectorListener.h:142
Buffer abstract class.
Definition: ConnectorListener.h:141
Definition: ConnectorListener.h:143
Class represents a set of properties.
Definition: Properties.h:101
Definition: ConnectorListener.h:149
virtual void setListener(ConnectorInfo &info, ConnectorListeners *listeners)
Set the listener.
void InPortDirectProviderInit(void)
Module initialization.
BufferBase abstract class.
Definition: BufferBase.h:104
virtual ~InPortDirectProvider(void)
Destructor.
connector listener class
virtual void setBuffer(BufferBase< cdrMemoryStream > *buffer)
Setting outside buffer&#39;s pointer.
Definition: ConnectorListener.h:148