OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
OutPortSHMConsumer.h
Go to the documentation of this file.
1// -*- C++ -*-
19#ifndef RTC_OUTPORTSHMCONSUMER_H
20#define RTC_OUTPORTSHMCONSUMER_H
21
23#include <rtm/CorbaConsumer.h>
24#include <rtm/OutPortConsumer.h>
26#include <rtm/ConnectorBase.h>
27
28namespace RTC
29{
52 : public OutPortConsumer,
53 public CorbaConsumer< ::OpenRTM::PortSharedMemory >
54 {
55 public:
56
71
86
105 void init(coil::Properties& prop) override;
106
124 void setBuffer(CdrBufferBase* buffer) override;
125
146 ConnectorListenersBase* listeners) override;
147
169 DataPortStatus get(ByteData& data) override;
170
193 bool subscribeInterface(const SDOPackage::NVList& properties) override;
194
212 void unsubscribeInterface(const SDOPackage::NVList& properties) override;
213 bool setObject(CORBA::Object_ptr obj) override;
214
215 private:
223 DataPortStatus convertReturn(::OpenRTM::PortStatus status,
224 ByteData& data);
225
235 inline void onBufferWrite(ByteData& data)
236 {
238 }
239
249 inline void onBufferFull(ByteData& data)
250 {
252 }
253
263 inline void onReceived(ByteData& data)
264 {
266 }
267
277 inline void onReceiverFull(ByteData& data)
278 {
280 }
281
289 inline void onSenderEmpty()
290 {
292 }
293
301 inline void onSenderTimeout()
302 {
304 }
305
313 inline void onSenderError()
314 {
316 }
317protected:
318 mutable Logger rtclog;
319 coil::Properties m_properties;
320 std::mutex m_mutex;
321 std::string m_shm_address;
325
329 };
330} // namespace RTC
331
332extern "C"
333{
348}
349
350#endif // RTC_OUTPORTSHMCONSUMER_H
Connector base class.
connector listener class
CORBA Consumer class.
OutPortConsumer class.
void OutPortSHMConsumerInit(void)
Module initialization.
Shared Memory Port class.
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
Logger class.
Definition SystemLogger.h:101
OutPortConsumer abstract class.
Definition OutPortConsumer.h:173
OutPortSHMConsumer class.
Definition OutPortSHMConsumer.h:54
~OutPortSHMConsumer() override
Destructor.
int m_memory_size
Definition OutPortSHMConsumer.h:323
std::mutex m_mutex
Definition OutPortSHMConsumer.h:320
DataPortStatus get(ByteData &data) override
Read data.
SharedMemoryPort m_shmem
Definition OutPortSHMConsumer.h:322
coil::Properties m_properties
Definition OutPortSHMConsumer.h:319
void setBuffer(CdrBufferBase *buffer) override
Setting outside buffer's pointer.
ConnectorInfo m_profile
Definition OutPortSHMConsumer.h:328
void init(coil::Properties &prop) override
Initializing configuration.
void unsubscribeInterface(const SDOPackage::NVList &properties) override
Unsubscribe the data receive notification.
bool setObject(CORBA::Object_ptr obj) override
Set Object.
void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners) override
Set the listener.
Logger rtclog
Definition OutPortSHMConsumer.h:318
OutPortSHMConsumer()
Constructor.
bool m_endian
Definition OutPortSHMConsumer.h:324
ConnectorListenersBase * m_listeners
Definition OutPortSHMConsumer.h:327
std::string m_shm_address
Definition OutPortSHMConsumer.h:321
CdrBufferBase * m_buffer
Definition OutPortSHMConsumer.h:326
bool subscribeInterface(const SDOPackage::NVList &properties) override
Subscribe the data receive notification.
Definition SharedMemoryPort.h:57
RT-Component.