OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
OutPortCorbaCdrConsumer.h
Go to the documentation of this file.
1// -*- C++ -*-
20#ifndef RTC_OUTPORTCORBACDRCONSUMER_H
21#define RTC_OUTPORTCORBACDRCONSUMER_H
22
23#include <rtm/idl/DataPort_OpenRTMSkel.h>
24#include <rtm/CorbaConsumer.h>
25#include <rtm/OutPortConsumer.h>
27#include <rtm/ConnectorBase.h>
28
29namespace RTC
30{
56 : public OutPortConsumer,
57 public CorbaConsumer< ::OpenRTM::OutPortCdr >
58 {
59 public:
60
75
90
118 void init(coil::Properties& prop) override;
119
145 void setBuffer(CdrBufferBase* buffer) override;
146
192 ConnectorListenersBase* listeners) override;
193
215 DataPortStatus get(ByteData& data) override;
216
239 bool subscribeInterface(const SDOPackage::NVList& properties) override;
240
258 void unsubscribeInterface(const SDOPackage::NVList& properties) override;
259
260 private:
268 DataPortStatus convertReturn(::OpenRTM::PortStatus status,
269 ByteData& data);
270
280 inline void onBufferWrite(ByteData& data)
281 {
282 m_listeners->notifyIn(ConnectorDataListenerType::ON_BUFFER_WRITE, m_profile, data);
283 }
284
294 inline void onBufferFull(ByteData& data)
295 {
296 m_listeners->notifyIn(ConnectorDataListenerType::ON_BUFFER_FULL, m_profile, data);
297 }
298
308 inline void onReceived(ByteData& data)
309 {
310 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVED, m_profile, data);
311 }
312
322 inline void onReceiverFull(ByteData& data)
323 {
324 m_listeners->notifyIn(ConnectorDataListenerType::ON_RECEIVER_FULL, m_profile, data);
325 }
326
334 inline void onSenderEmpty()
335 {
336 m_listeners->notify(ConnectorListenerType::ON_SENDER_EMPTY, m_profile);
337 }
338
346 inline void onSenderTimeout()
347 {
348 m_listeners->notify(ConnectorListenerType::ON_SENDER_TIMEOUT, m_profile);
349 }
350
358 inline void onSenderError()
359 {
360 m_listeners->notify(ConnectorListenerType::ON_SENDER_ERROR, m_profile);
361 }
362 CdrBufferBase* m_buffer;
363 ConnectorListenersBase* m_listeners;
364 ConnectorInfo m_profile;
365 };
366} // namespace RTC
367
368extern "C"
369{
384}
385
386#endif // RTC_OUTPORTCORBACDRCONSUMER_H
Connector base class.
connector listener class
CORBA Consumer class.
OutPortConsumer class.
void OutPortCorbaCdrConsumerInit(void)
Module initialization.
DataPortStatus mixin class.
BufferBase abstract class.
Definition BufferBase.h:106
Definition ByteData.h:30
ConnectorInfo class.
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
virtual::RTC::ConnectorListenerStatus::Enum notifyIn(ConnectorDataListenerType type, ConnectorInfo &info, ByteData &data)=0
Notify listeners. (Typed data version)
virtual::RTC::ConnectorListenerStatus::Enum notify(ConnectorListenerType type, ConnectorInfo &info)=0
Virtual Callback method.
Definition CorbaConsumer.h:333
OutPortConsumer abstract class.
Definition OutPortConsumer.h:173
OutPortCorbaCdrConsumer class.
Definition OutPortCorbaCdrConsumer.h:58
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
DataPortStatus get(ByteData &data) override
Read data.
void init(coil::Properties &prop) override
Initializing configuration.
~OutPortCorbaCdrConsumer() override
Destructor.
void setBuffer(CdrBufferBase *buffer) override
Setting outside buffer's pointer.
void unsubscribeInterface(const SDOPackage::NVList &properties) override
Unsubscribe the data receive notification.
bool subscribeInterface(const SDOPackage::NVList &properties) override
Subscribe the data receive notification.
OutPortCorbaCdrConsumer()
Constructor.
RT-Component.
BufferBase< ByteData > CdrBufferBase
Definition CdrBufferBase.h:31