OpenRTM  1.0.0
OutPortConnector.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_OUTPORTCONNECTOR_H
21 #define RTC_OUTPORTCONNECTOR_H
22 
23 #include <rtm/SystemLogger.h>
24 #include <rtm/ConnectorBase.h>
25 
26 namespace RTC
27 {
49  : public ConnectorBase
50  {
51  public:
53 
62 
70  virtual ~OutPortConnector();
84  const ConnectorInfo& profile();
85 
99  const char* id();
100 
114  const char* name();
115 
129  virtual ReturnCode disconnect() = 0;
130 
144  virtual CdrBufferBase* getBuffer() = 0;
145 
159  virtual ReturnCode write(const cdrMemoryStream& data) = 0;
160 
174  virtual void setEndian(const bool endian_type);
175 
193  virtual bool isLittleEndian();
194 
208  template <class DataType>
209  ReturnCode write(const DataType& data)
210  {
211  m_cdr.rewindPtrs();
212  RTC_TRACE(("connector endian: %s", isLittleEndian() ? "little":"big"));
213  m_cdr.setByteSwapFlag(isLittleEndian());
214  data >>= m_cdr;
215  return write(m_cdr);
216  }
217 
218  protected:
250  cdrMemoryStream m_cdr;
251 
252  };
253 }; // namespace RTC
254 
255 #endif // RTC_CONNECTORBASE_H
ReturnCode write(const DataType &data)
データ型の変換テンプレート
Definition: OutPortConnector.h:209
#define DATAPORTSTATUS_ENUM
RTC::DataPortStatus 導入
Definition: DataPortStatus.h:233
OutPortConnector 基底クラス
Definition: OutPortConnector.h:48
#define RTC_TRACE(fmt)
トレースログ出力マクロ。
Definition: SystemLogger.h:510
RT component logger class.
Connector 基底クラス
Definition: ConnectorBase.h:156
ConnectorInfo クラス
Definition: ConnectorBase.h:43
virtual CdrBufferBase * getBuffer()=0
Buffer を取得する
ConnectorInfo m_profile
Port の PortProfile.
Definition: OutPortConnector.h:234
Connector base class.
const char * id()
Connector ID 取得
virtual ReturnCode write(const cdrMemoryStream &data)=0
write 関数
virtual bool isLittleEndian()
endian 設定を返す
cdrMemoryStream m_cdr
cdrストリーム
Definition: OutPortConnector.h:250
virtual ReturnCode disconnect()=0
接続解除関数
virtual void setEndian(const bool endian_type)
endianタイプ設定
Logger クラス
Definition: SystemLogger.h:99
Logger rtclog
ロガーストリーム
Definition: OutPortConnector.h:226
const char * name()
Connector 名取得
BufferBase 抽象クラス
Definition: BufferBase.h:104
virtual ~OutPortConnector()
デストラクタ
const ConnectorInfo & profile()
Profile 取得
DATAPORTSTATUS_ENUM OutPortConnector(ConnectorInfo &info)
コンストラクタ
bool m_littleEndian
接続エンディアン
Definition: OutPortConnector.h:242