OpenRTM-aist  1.2.1
InPortSHMConsumer.h
Go to the documentation of this file.
1 // -*- C++ -*-
20 #ifndef RTC_INPORTSHMCONSUMER_H
21 #define RTC_INPORTSHMCONSUMER_H
22 
23 
24 //#include <rtm/BufferBase.h>
25 
26 #include <rtm/SharedMemoryPort.h>
27 #include <rtm/CorbaConsumer.h>
28 #include <rtm/InPortConsumer.h>
29 #include <rtm/Manager.h>
31 
32 namespace RTC
33 {
56  : public InPortConsumer,
57  public CorbaConsumer< ::OpenRTM::PortSharedMemory >
58  {
60  public:
80 
94  virtual ~InPortSHMConsumer();
95 
114  virtual void init(coil::Properties& prop);
133  virtual InPortConsumer::ReturnCode put(cdrMemoryStream& data);
150  virtual bool setObject(CORBA::Object_ptr obj);
151  virtual void publishInterfaceProfile(SDOPackage::NVList& properties);
152  virtual bool subscribeInterface(const SDOPackage::NVList& properties);
153  virtual void unsubscribeInterface(const SDOPackage::NVList& properties);
154 
155  private:
156  bool subscribeFromIor(const SDOPackage::NVList& properties);
157  bool subscribeFromRef(const SDOPackage::NVList& properties);
158  bool unsubscribeFromIor(const SDOPackage::NVList& properties);
159  bool unsubscribeFromRef(const SDOPackage::NVList& properties);
160 
161  protected:
162  InPortConsumer::ReturnCode convertReturnCode(OpenRTM::PortStatus ret);
163 
164  private:
165  coil::Mutex m_mutex;
166  mutable Logger rtclog;
167  coil::Properties m_properties;
168 
169  int m_memorySize;
170  std::string m_shmAddress;
171  SharedMemoryPort m_shmem;
172  bool m_endian;
173  };
174 }; // namespace RTC
175 
176 extern "C"
177 {
191  void InPortSHMConsumerInit(void);
192 };
193 
194 #endif // RTC_INPORTCORBACDRCONSUMER_H
195 
InPortConsumer abstract class.
Definition: InPortConsumer.h:76
CORBA Consumer class.
#define DATAPORTSTATUS_ENUM
Importing RTC::DataPortStatus macro.
Definition: DataPortStatus.h:233
InPortCorbaCdrConsumer class.
RT-Component.
Mutex class.
Definition: Mutex.h:40
InPortSHMConsumer class.
Definition: InPortSHMConsumer.h:55
Definition: CorbaConsumer.h:338
virtual void unsubscribeInterface(const SDOPackage::NVList &properties)
Unsubscribe the data send notification.
virtual bool setObject(CORBA::Object_ptr obj)
Set Object.
Shared Memory Port class.
-*- C++ -*-
virtual void init(coil::Properties &prop)
Initializing configuration.
virtual bool subscribeInterface(const SDOPackage::NVList &properties)
Subscribe the data send notification.
DATAPORTSTATUS_ENUM InPortSHMConsumer()
Constructor.
Logger class.
Definition: SystemLogger.h:99
virtual void publishInterfaceProfile(SDOPackage::NVList &properties)
Publish InterfaceProfile information.
Class represents a set of properties.
Definition: Properties.h:101
virtual ~InPortSHMConsumer()
Destructor.
void InPortSHMConsumerInit(void)
Module initialization.
InPortConsumer class.
virtual InPortConsumer::ReturnCode put(cdrMemoryStream &data)
Send data to the destination port.
Definition: SharedMemoryPort.h:52
InPortConsumer::ReturnCode convertReturnCode(OpenRTM::PortStatus ret)