OpenRTM-aist  1.2.1
InPortSHMConsumer.h
[詳解]
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 抽象クラス
Definition: InPortConsumer.h:76
CORBA Consumer class.
#define DATAPORTSTATUS_ENUM
RTC::DataPortStatus 導入
Definition: DataPortStatus.h:233
InPortCorbaCdrConsumer class.
RTコンポーネント
Mutex クラス
Definition: Mutex.h:40
InPortSHMConsumer クラス
Definition: InPortSHMConsumer.h:55
オブジェクトリファレンスを保持するプレースホルダテンプレートクラス
Definition: CorbaConsumer.h:338
virtual void unsubscribeInterface(const SDOPackage::NVList &properties)
データ送出通知受け取りからの登録解除
virtual bool setObject(CORBA::Object_ptr obj)
Shared Memory Port class.
-*- C++ -*-
virtual void init(coil::Properties &prop)
設定初期化
virtual bool subscribeInterface(const SDOPackage::NVList &properties)
データ送出通知受け取りへの登録
DATAPORTSTATUS_ENUM InPortSHMConsumer()
コンストラクタ
Logger クラス
Definition: SystemLogger.h:99
virtual void publishInterfaceProfile(SDOPackage::NVList &properties)
InterfaceProfile情報を公開する
プロパティセットを表現するクラス
Definition: Properties.h:101
virtual ~InPortSHMConsumer()
デストラクタ
void InPortSHMConsumerInit(void)
モジュール初期化関数
InPortConsumer class.
virtual InPortConsumer::ReturnCode put(cdrMemoryStream &data)
接続先へのデータ送信
SharedMemory クラス
Definition: SharedMemoryPort.h:52
InPortConsumer::ReturnCode convertReturnCode(OpenRTM::PortStatus ret)