ConnectorBase.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00020 #ifndef RTC_CONNECTORBASE_H
00021 #define RTC_CONNECTORBASE_H
00022 
00023 #include <coil/stringutil.h>
00024 #include <coil/Properties.h>
00025 
00026 #include <rtm/RTC.h>
00027 #include <rtm/CdrBufferBase.h>
00028 #include <rtm/DataPortStatus.h>
00029 #include <rtm/SystemLogger.h>
00030 
00031 namespace RTC
00032 {
00043   class ConnectorInfo
00044   {
00045   public:
00071     ConnectorInfo(const char* name_, const char* id_,
00072                   coil::vstring ports_, coil::Properties properties_)
00073       : name(name_), id(id_)
00074       , ports(ports_), properties(properties_)
00075     {
00076     }
00092     ConnectorInfo()
00093     {
00094     }
00102     std::string name;
00110     std::string id;
00118     coil::vstring ports;
00126     coil::Properties properties;
00127   };
00128 
00129   typedef std::vector<ConnectorInfo> ConnectorInfoList;
00130 
00131   class ConnectorBase;
00132   typedef std::vector<ConnectorBase*> ConnectorList;
00133   
00134 
00156   class ConnectorBase
00157     : public DataPortStatus
00158   {
00159   public:
00160     DATAPORTSTATUS_ENUM
00161 
00191     virtual ~ConnectorBase(){};
00192 
00206     virtual const ConnectorInfo& profile() = 0;
00207 
00221     virtual const char* id() = 0;
00222 
00236     virtual const char* name() = 0;
00237 
00251     virtual ReturnCode disconnect() = 0;
00252 
00266     virtual CdrBufferBase* getBuffer() = 0;
00267 
00282     virtual void activate() = 0;
00283 
00298     virtual void deactivate() = 0;
00299 
00300   private:
00301     // non-copyable class
00302     //    ConnectorBase(const ConnectorBase& x);
00303     //    ConnectorBase& operator=(const ConnectorBase& x);
00304   };
00305 }; // namespace RTC
00306 
00307 #endif // RTC_CONNECTORBASE_H


openrtm_aist
Author(s): Noriaki Ando
autogenerated on Thu Aug 27 2015 14:16:37