OpenRTM-aist  2.1.0
ConnectorBase.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_CONNECTORBASE_H
21 #define RTC_CONNECTORBASE_H
22 
23 #include <coil/stringutil.h>
24 #include <coil/Properties.h>
25 
26 #include <rtm/RTC.h>
27 #include <rtm/CdrBufferBase.h>
28 #include <rtm/DataPortStatus.h>
29 #include <rtm/SystemLogger.h>
30 
31 #include <string>
32 #include <utility>
33 #include <vector>
34 
35 namespace RTC
36 {
50  {
51  public:
77  ConnectorInfo(const char* name_, const char* id_,
78  coil::vstring ports_, const coil::Properties& properties_);
94  ConnectorInfo() = default;
95 
111  ConnectorInfo(const ConnectorInfo& /*info*/);
112 
129 
146 
154  std::string name;
162  std::string id;
170  coil::vstring ports;
179  };
180 
181  using ConnectorInfoList = std::vector<ConnectorInfo>;
182 
183  class ConnectorBase;
184  using ConnectorList = std::vector<ConnectorBase*>;
185 
186 
209  {
210  public:
211 
241  virtual ~ConnectorBase() = default;
242 
256  virtual const ConnectorInfo& profile() = 0;
257 
271  virtual const char* id() = 0;
272 
286  virtual const char* name() = 0;
287 
301  virtual DataPortStatus disconnect() = 0;
302 
316  virtual CdrBufferBase* getBuffer() = 0;
317 
332  virtual void activate() = 0;
333 
348  virtual void deactivate() = 0;
349  };
350 } // namespace RTC
351 
352 #endif // RTC_CONNECTORBASE_H
DataPortStatus class
RTComponent header
RT component logger class
BufferBase 抽象クラス
Definition: BufferBase.h:106
Connector 基底クラス
Definition: ConnectorBase.h:209
virtual ~ConnectorBase()=default
デストラクタ
virtual void activate()=0
アクティブ化
virtual const char * name()=0
Connector 名取得
virtual const ConnectorInfo & profile()=0
Profile 取得
virtual void deactivate()=0
非アクティブ化
virtual DataPortStatus disconnect()=0
接続解除関数
virtual CdrBufferBase * getBuffer()=0
Buffer を取得する
virtual const char * id()=0
Connector ID 取得
ConnectorInfo クラス
Definition: ConnectorBase.h:50
~ConnectorInfo()
デストラクタ
coil::vstring ports
接続ポートIOR
Definition: ConnectorBase.h:170
ConnectorInfo(const ConnectorInfo &)
コンストラクタ
coil::Properties properties
プロパティ
Definition: ConnectorBase.h:178
ConnectorInfo()=default
コンストラクタ
std::string name
接続名前
Definition: ConnectorBase.h:154
ConnectorInfo(const char *name_, const char *id_, coil::vstring ports_, const coil::Properties &properties_)
コンストラクタ
ConnectorInfo & operator=(const ConnectorInfo &)=default
代入演算子
std::string id
接続ID
Definition: ConnectorBase.h:162
RTコンポーネント
std::vector< ConnectorBase * > ConnectorList
Definition: ConnectorBase.h:184
DataPortStatus
Definition: DataPortStatus.h:114
coil::Properties Properties
Definition: RTC.h:72
std::vector< ConnectorInfo > ConnectorInfoList
Definition: ConnectorBase.h:181