OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
InPortSHMConsumer.h
Go to the documentation of this file.
1// -*- C++ -*-
20#ifndef RTC_INPORTSHMCONSUMER_H
21#define RTC_INPORTSHMCONSUMER_H
22
23
24
26#include <rtm/CorbaConsumer.h>
27#include <rtm/InPortConsumer.h>
28#include <rtm/Manager.h>
30
31namespace RTC
32{
55 : public InPortConsumer,
56 public CorbaConsumer< ::OpenRTM::PortSharedMemory >
57 {
58 public:
77
92
111 void init(coil::Properties& prop) override;
130 DataPortStatus put(ByteData& data) override;
147 bool setObject(CORBA::Object_ptr obj) override;
148 void publishInterfaceProfile(SDOPackage::NVList& properties) override;
149 bool subscribeInterface(const SDOPackage::NVList& properties) override;
150 void unsubscribeInterface(const SDOPackage::NVList& properties) override;
151
152private:
153 bool subscribeFromIor(const SDOPackage::NVList& properties);
154 bool subscribeFromRef(const SDOPackage::NVList& properties);
155 bool unsubscribeFromIor(const SDOPackage::NVList& properties);
156 bool unsubscribeFromRef(const SDOPackage::NVList& properties);
157
158protected:
159 static DataPortStatus convertReturnCode(OpenRTM::PortStatus ret);
160
161 coil::Properties m_properties;
162 std::mutex m_mutex;
163 std::string m_shm_address;
166 bool m_endian{true};
167 mutable Logger rtclog{"InPortSHMConsumer"};
168 };
169} // namespace RTC
170
171extern "C"
172{
187}
188
189#endif // RTC_INPORTCORBACDRCONSUMER_H
190
CORBA Consumer class.
InPortConsumer class.
InPortCorbaCdrConsumer class.
void InPortSHMConsumerInit(void)
Module initialization.
-*- C++ -*-
Shared Memory Port class.
DataPortStatus mixin class.
Definition ByteData.h:30
Definition CorbaConsumer.h:333
InPortConsumer abstract class.
Definition InPortConsumer.h:78
InPortSHMConsumer class.
Definition InPortSHMConsumer.h:57
std::string m_shm_address
Definition InPortSHMConsumer.h:163
Logger rtclog
Definition InPortSHMConsumer.h:167
coil::Properties m_properties
Definition InPortSHMConsumer.h:161
DataPortStatus put(ByteData &data) override
Send data to the destination port.
std::mutex m_mutex
Definition InPortSHMConsumer.h:162
void init(coil::Properties &prop) override
Initializing configuration.
static DataPortStatus convertReturnCode(OpenRTM::PortStatus ret)
InPortSHMConsumer()
Constructor.
~InPortSHMConsumer() override
Destructor.
int m_memory_size
Definition InPortSHMConsumer.h:165
SharedMemoryPort m_shmem
Definition InPortSHMConsumer.h:164
bool setObject(CORBA::Object_ptr obj) override
void publishInterfaceProfile(SDOPackage::NVList &properties) override
Publish InterfaceProfile information.
bool m_endian
Definition InPortSHMConsumer.h:166
void unsubscribeInterface(const SDOPackage::NVList &properties) override
Unsubscribe the data send notification.
bool subscribeInterface(const SDOPackage::NVList &properties) override
Subscribe the data send notification.
Logger class.
Definition SystemLogger.h:101
Definition SharedMemoryPort.h:57
RT-Component.