OpenRTM-aist  1.2.1
OutPortDirectProvider.h
Go to the documentation of this file.
1 // -*- C++ -*-
18 #ifndef RTC_OUTPORTDIRECTPROVIDER_H
19 #define RTC_OUTPORTDIRECTPROVIDER_H
20 
21 
22 #include <rtm/BufferBase.h>
23 #include <rtm/OutPortProvider.h>
24 #include <rtm/Manager.h>
25 #include <rtm/ConnectorListener.h>
26 #include <rtm/ConnectorBase.h>
27 
28 #ifdef WIN32
29 #pragma warning( disable : 4290 )
30 #endif
31 
32 namespace RTC
33 {
56  : public OutPortProvider
57  {
58  public:
73 
87  virtual ~OutPortDirectProvider(void);
88 
116  virtual void init(coil::Properties& prop);
117 
143  virtual void setBuffer(CdrBufferBase* buffer);
144 
189  virtual void setListener(ConnectorInfo& info,
190  ConnectorListeners* listeners);
191 
216  virtual void setConnector(OutPortConnector* connector);
217 
218 
219  private:
220 
221 
222 
232  inline void onBufferRead(cdrMemoryStream& data)
233  {
234  m_listeners->
235  connectorData_[ON_BUFFER_READ].notify(m_profile, data);
236  }
237 
247  inline void onSend(cdrMemoryStream& data)
248  {
249  m_listeners->
250  connectorData_[ON_SEND].notify(m_profile, data);
251  }
252 
260  inline void onBufferEmpty()
261  {
262  m_listeners->
263  connector_[ON_BUFFER_EMPTY].notify(m_profile);
264  }
265 
273  inline void onBufferReadTimeout()
274  {
275  m_listeners->
276  connector_[ON_BUFFER_READ_TIMEOUT].notify(m_profile);
277  }
278 
286  inline void onSenderEmpty()
287  {
288  m_listeners->
289  connector_[ON_SENDER_EMPTY].notify(m_profile);
290  }
291 
299  inline void onSenderTimeout()
300  {
301  m_listeners->
302  connector_[ON_SENDER_TIMEOUT].notify(m_profile);
303  }
304 
312  inline void onSenderError()
313  {
314  m_listeners->
315  connector_[ON_SENDER_ERROR].notify(m_profile);
316  }
317 
318  private:
319  CdrBufferBase* m_buffer;
320  ConnectorListeners* m_listeners;
321  ConnectorInfo m_profile;
322  OutPortConnector* m_connector;
323  }; // class OutPortDirectProvider
324 }; // namespace RTC
325 
326 extern "C"
327 {
341  void OutPortDirectProviderInit(void);
342 };
343 
344 #ifdef WIN32
345 #pragma warning( default : 4290 )
346 #endif
347 
348 #endif // RTC_OUTPORTDIRECTPROVIDER_H
Definition: ConnectorListener.h:622
ConnectorListeners class.
Definition: ConnectorListener.h:1217
virtual void init(coil::Properties &prop)
Initializing configuration.
OutPortConnector base class.
Definition: OutPortConnector.h:54
RT-Component.
OutPortDirectProvider(void)
Constructor.
Definition: ConnectorListener.h:623
Definition: ConnectorBase.h:43
-*- C++ -*-
Definition: ConnectorListener.h:624
Definition: ConnectorListener.h:145
Connector base class.
virtual void setListener(ConnectorInfo &info, ConnectorListeners *listeners)
Set the listener.
virtual ~OutPortDirectProvider(void)
Destructor.
Buffer abstract class.
OutPortProvider class.
void OutPortDirectProviderInit(void)
Module initialization.
OutPortProvider.
Definition: OutPortProvider.h:189
Definition: ConnectorListener.h:144
Definition: ConnectorListener.h:621
Class represents a set of properties.
Definition: Properties.h:101
Definition: ConnectorListener.h:620
OutPortDirectProvider class.
Definition: OutPortDirectProvider.h:55
virtual void setBuffer(CdrBufferBase *buffer)
Setting outside buffer&#39;s pointer.
virtual void setConnector(OutPortConnector *connector)
set Connector
BufferBase abstract class.
Definition: BufferBase.h:104
connector listener class