OpenRTM-aist  2.1.0
PublisherBase.h
[詳解]
1 // -*- C++ -*-
20 #ifndef RTC_PUBLISHERBASE_H
21 #define RTC_PUBLISHERBASE_H
22 
23 #include <coil/Properties.h>
24 #include <coil/Factory.h>
25 #include <rtm/RTC.h>
26 #include <rtm/CdrBufferBase.h>
27 #include <rtm/DataPortStatus.h>
28 #include <rtm/ByteDataStreamBase.h>
29 
30 
31 namespace coil
32 {
33  class Properties;
34 } // namespace coil
35 namespace RTC
36 {
37  class InPortConsumer;
38  class ConnectorListenersBase;
39  class ConnectorInfo;
40 
66  {
67  public:
79  virtual ~PublisherBase() = default;
80 
109 
135  virtual DataPortStatus setConsumer(InPortConsumer* consumer) = 0;
136 
163 
198  ConnectorListenersBase* listeners) = 0;
199 
255  std::chrono::nanoseconds timeout) = 0;
256 
284  virtual bool isActive() = 0;
285 
311  virtual DataPortStatus activate() = 0;
312 
338  virtual DataPortStatus deactivate() = 0;
339 
358  virtual void release(){}
359  };
360 
361  using PublisherFactory = coil::GlobalFactory<PublisherBase>;
362 } // namespace RTC
363 
364 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
365 EXTERN template class DLL_PLUGIN coil::GlobalFactory<RTC::PublisherBase>;
366 #elif defined(__GNUC__)
367 EXTERN template class coil::GlobalFactory<RTC::PublisherBase>;
368 #endif
369 
370 #endif // RTC_PUBLISHERBASE_H
Data Stream Buffer Base class
DataPortStatus class
RTComponent header
BufferBase 抽象クラス
Definition: BufferBase.h:106
シリアライザの基底クラス
Definition: ByteDataStreamBase.h:63
ConnectorInfo クラス
Definition: ConnectorBase.h:50
Definition: ConnectorListener.h:1354
InPortConsumer 抽象クラス
Definition: InPortConsumer.h:78
Publisher 基底クラス
Definition: PublisherBase.h:66
virtual ~PublisherBase()=default
デストラクタ
virtual DataPortStatus deactivate()=0
非アクティブ化する
virtual DataPortStatus setBuffer(BufferBase< ByteData > *buffer)=0
バッファのセット
virtual DataPortStatus activate()=0
アクティブ化する
virtual void release()
Publisher を破棄する。
Definition: PublisherBase.h:358
virtual DataPortStatus write(ByteDataStreamBase *data, std::chrono::nanoseconds timeout)=0
データを書き込む
virtual DataPortStatus setListener(ConnectorInfo &info, ConnectorListenersBase *listeners)=0
リスナを設定する。
virtual bool isActive()=0
アクティブ化確認
virtual DataPortStatus setConsumer(InPortConsumer *consumer)=0
InPortコンシューマのセット
virtual DataPortStatus init(coil::Properties &prop)=0
設定初期化
RTコンポーネント
coil::GlobalFactory< PublisherBase > PublisherFactory
Definition: PublisherBase.h:361
DataPortStatus
Definition: DataPortStatus.h:114
coil::Properties Properties
Definition: RTC.h:72
Definition: DefaultPeriodicTask.h:24