OpenRTM-aist  2.1.0
InPortSHMConsumer.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_INPORTSHMCONSUMER_H
21 #define RTC_INPORTSHMCONSUMER_H
22 
23 
24 
25 #include <rtm/SharedMemoryPort.h>
26 #include <rtm/CorbaConsumer.h>
27 #include <rtm/InPortConsumer.h>
28 #include <rtm/Manager.h>
30 
31 namespace RTC
32 {
55  : public InPortConsumer,
56  public CorbaConsumer< ::OpenRTM::PortSharedMemory >
57  {
58  public:
77 
91  ~InPortSHMConsumer() override;
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 
152 private:
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 
158 protected:
159  static DataPortStatus convertReturnCode(OpenRTM::PortStatus ret);
160 
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 
171 extern "C"
172 {
187 }
188 
189 #endif // RTC_INPORTCORBACDRCONSUMER_H
190 
CORBA Consumer class
InPortConsumer class
InPortCorbaCdrConsumer class
void InPortSHMConsumerInit(void)
モジュール初期化関数
-*- C++ -*-
Shared Memory Port class
シリアライズ後のバイト列を操作するクラス
Definition: ByteData.h:30
オブジェクトリファレンスを保持するプレースホルダテンプレートクラス
Definition: CorbaConsumer.h:333
InPortConsumer 抽象クラス
Definition: InPortConsumer.h:78
InPortSHMConsumer クラス
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
接続先へのデータ送信
std::mutex m_mutex
Definition: InPortSHMConsumer.h:162
void init(coil::Properties &prop) override
設定初期化
static DataPortStatus convertReturnCode(OpenRTM::PortStatus ret)
InPortSHMConsumer()
コンストラクタ
~InPortSHMConsumer() override
デストラクタ
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
InterfaceProfile情報を公開する
bool m_endian
Definition: InPortSHMConsumer.h:166
void unsubscribeInterface(const SDOPackage::NVList &properties) override
データ送出通知受け取りからの登録解除
bool subscribeInterface(const SDOPackage::NVList &properties) override
データ送出通知受け取りへの登録
Logger クラス
Definition: SystemLogger.h:101
SharedMemory クラス
Definition: SharedMemoryPort.h:57
RTコンポーネント
DataPortStatus
Definition: DataPortStatus.h:114
coil::Properties Properties
Definition: RTC.h:72