OpenRTM-aist 2.0.2
Loading...
Searching...
No Matches
SharedMemoryPort.h
Go to the documentation of this file.
1// -*- C++ -*-
17#ifndef SHAREDMEMORYPORT_H
18#define SHAREDMEMORYPORT_H
19
20
21#include <rtm/Manager.h>
22#include <rtm/idl/SharedMemorySkel.h>
23#include <coil/SharedMemory.h>
25#include <rtm/ByteData.h>
26
27#define DEFAULT_DATA_SIZE 8
28#define DEFAULT_SHARED_MEMORY_SIZE 2097152
29
30namespace RTC
31{
55 : public virtual POA_OpenRTM::PortSharedMemory,
56 public virtual PortableServer::RefCountServantBase
57 {
58 public:
111 virtual int string_to_MemorySize(std::string size_str);
129 void create_memory(::CORBA::ULongLong memory_size, const char *shm_address) override;
147 void open_memory(::CORBA::ULongLong memory_size, const char *shm_address) override;
161 void close_memory(::CORBA::Boolean unlink = false) override;
179 virtual void write(ByteData& data);
194 virtual void read(ByteData& data);
211 void setInterface(::OpenRTM::PortSharedMemory_ptr sm) override;
227 void setEndian(::CORBA::Boolean endian) override;
243 ::OpenRTM::PortStatus put() override;
259 ::OpenRTM::PortStatus get() override;
260
261 virtual ::OpenRTM::PortSharedMemory_ptr getObjRef();
262
263 protected:
264 ::OpenRTM::PortSharedMemory_var m_smInterface{OpenRTM::PortSharedMemory::_nil()};
265 bool m_endian{true};
266 coil::SharedMemory m_shmem;
267
268 }; // class SharedMemoryPort
269} // namespace RTC
270
271#endif // RTC_RTOBJECT
CORBA CDR Stream Buffer class.
-*- C++ -*-
Definition ByteData.h:30
Definition SharedMemoryPort.h:57
~SharedMemoryPort() override
Destructor.
virtual void write(ByteData &data)
bool m_endian
Definition SharedMemoryPort.h:265
::OpenRTM::PortStatus put() override
void create_memory(::CORBA::ULongLong memory_size, const char *shm_address) override
virtual int string_to_MemorySize(std::string size_str)
void setEndian(::CORBA::Boolean endian) override
void setInterface(::OpenRTM::PortSharedMemory_ptr sm) override
void open_memory(::CORBA::ULongLong memory_size, const char *shm_address) override
::OpenRTM::PortStatus get() override
::OpenRTM::PortSharedMemory_var m_smInterface
Definition SharedMemoryPort.h:264
void close_memory(::CORBA::Boolean unlink=false) override
coil::SharedMemory m_shmem
Definition SharedMemoryPort.h:266
SharedMemoryPort()
Constructor.
virtual::OpenRTM::PortSharedMemory_ptr getObjRef()
virtual void read(ByteData &data)
RT-Component.