OpenRTM-aist  2.1.0
ConnectorBase.h
Go to the documentation of this file.
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.
DataPortStatus mixin class.
Definition: ConnectorListener.h:35
BufferBase abstract class.
Definition: BufferBase.h:106
Connector Base class.
Definition: ConnectorBase.h:209
virtual ~ConnectorBase()=default
Destructor.
virtual void activate()=0
Connector activation.
virtual const char * name()=0
Getting Connector name.
virtual const ConnectorInfo & profile()=0
Getting Profile.
virtual void deactivate()=0
Connector deactivation.
virtual DataPortStatus disconnect()=0
Disconnect connection.
virtual CdrBufferBase * getBuffer()=0
Getting Buffer.
virtual const char * id()=0
Getting Connector ID.
ConnectorInfo class.
Definition: ConnectorBase.h:50
~ConnectorInfo()
Destructor.
coil::vstring ports
Connection ports.
Definition: ConnectorBase.h:170
ConnectorInfo(const ConnectorInfo &)
Constructor.
coil::Properties properties
Connection properties.
Definition: ConnectorBase.h:178
ConnectorInfo()=default
Constructor.
std::string name
Connection name.
Definition: ConnectorBase.h:154
ConnectorInfo(const char *name_, const char *id_, coil::vstring ports_, const coil::Properties &properties_)
Constructor.
ConnectorInfo & operator=(const ConnectorInfo &)=default
Operator=.
std::string id
ConnectionID.
Definition: ConnectorBase.h:162
RT-Component.
std::vector< ConnectorBase * > ConnectorList
Definition: ConnectorBase.h:184
coil::Properties Properties
Definition: RTC.h:72
std::vector< ConnectorInfo > ConnectorInfoList
Definition: ConnectorBase.h:181