OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
OutPortProvider.h
[詳解]
1// -*- C++ -*-
20#ifndef RTC_OUTPORTPROVIDER_H
21#define RTC_OUTPORTPROVIDER_H
22
23#include <coil/Factory.h>
24#include <rtm/BufferBase.h>
25#include <rtm/NVUtil.h>
26#include <rtm/SystemLogger.h>
27#include <rtm/DataPortStatus.h>
29
30#include <string>
31
32namespace RTC
33{
34 class ConnectorListeners;
190 {
191 public:
206
234 virtual void init(coil::Properties& prop);
235
261 virtual void setBuffer(CdrBufferBase* buffer) = 0;
262
293 virtual void setListener(ConnectorInfo& info,
294 ConnectorListenersBase* listeners) = 0;
295
320 virtual void setConnector(OutPortConnector* connector) = 0;
321
345 virtual void publishInterfaceProfile(SDOPackage::NVList& prop);
346
374 virtual bool publishInterface(SDOPackage::NVList& prop);
375
376 protected:
394 void setPortType(const char* port_type);
395
413 void setDataType(const char* data_type);
414
432 void setInterfaceType(const char* interface_type);
433
451 void setDataFlowType(const char* dataflow_type);
452
470 void setSubscriptionType(const char* subs_type);
471
472 protected:
480 SDOPackage::NVList m_properties;
488 mutable Logger rtclog;
489
490 private:
491 std::string m_portType;
492 std::string m_dataType;
493 std::string m_interfaceType;
494 std::string m_dataflowType;
495 std::string m_subscriptionType;
496
497
498 public:
507 {
508 explicit publishInterfaceProfileFunc(SDOPackage::NVList& prop)
509 : m_prop(prop) {}
511 {
513 }
514 SDOPackage::NVList& m_prop;
515 };
516
525 {
526 explicit publishInterfaceFunc(SDOPackage::NVList& prop)
527 : m_prop(prop), provider_(nullptr) {}
529 {
530 if (provider->publishInterface(m_prop))
531 {
532 provider_ = provider;
533 }
534 }
535 SDOPackage::NVList& m_prop;
537 };
538 };
539
547 using OutPortProviderFactory = ::coil::GlobalFactory<OutPortProvider>;
548} // namespace RTC
549
550#if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
551EXTERN template class DLL_PLUGIN coil::GlobalFactory<RTC::OutPortProvider>;
552#elif defined(__GNUC__)
553EXTERN template class coil::GlobalFactory<RTC::OutPortProvider>;
554#endif
555
556#endif // RTC_OUTPORTPROVIDER_H
Buffer abstract class
DataPortStatus class
NameValue and NVList utility functions
OutPortConnector class
RT component logger class
BufferBase 抽象クラス
Definition BufferBase.h:106
ConnectorInfo クラス
Definition ConnectorBase.h:50
Definition ConnectorListener.h:1354
Logger クラス
Definition SystemLogger.h:101
OutPortConnector 基底クラス
Definition OutPortConnector.h:58
OutPortProvider
Definition OutPortProvider.h:190
SDOPackage::NVList m_properties
ポートプロファイルを保持するプロパティ
Definition OutPortProvider.h:480
Logger rtclog
ロガーストリーム
Definition OutPortProvider.h:488
void setDataFlowType(const char *dataflow_type)
データフロータイプを設定する
virtual bool publishInterface(SDOPackage::NVList &prop)
Interface情報を公開する
void setPortType(const char *port_type)
ポートタイプを設定する
virtual void publishInterfaceProfile(SDOPackage::NVList &prop)
InterfaceProfile情報を公開する
virtual void setListener(ConnectorInfo &info, ConnectorListenersBase *listeners)=0
リスナを設定する。
void setSubscriptionType(const char *subs_type)
サブスクリプションタイプを設定する
void setDataType(const char *data_type)
データタイプを設定する
virtual void init(coil::Properties &prop)
設定初期化
virtual void setConnector(OutPortConnector *connector)=0
Connectorを設定する。
void setInterfaceType(const char *interface_type)
インターフェースタイプを設定する
virtual void setBuffer(CdrBufferBase *buffer)=0
バッファをセットする
virtual ~OutPortProvider()
デストラクタ
RTコンポーネント
::coil::GlobalFactory< OutPortProvider > OutPortProviderFactory
OutPortProviderFactory型宣言
Definition OutPortProvider.h:547
インターフェースプロファイルを公開するたのファンクタ
Definition OutPortProvider.h:525
OutPortProvider * provider_
Definition OutPortProvider.h:536
void operator()(OutPortProvider *provider)
Definition OutPortProvider.h:528
publishInterfaceFunc(SDOPackage::NVList &prop)
Definition OutPortProvider.h:526
SDOPackage::NVList & m_prop
Definition OutPortProvider.h:535
インターフェースプロファイルを公開するたのファンクタ
Definition OutPortProvider.h:507
SDOPackage::NVList & m_prop
Definition OutPortProvider.h:514
publishInterfaceProfileFunc(SDOPackage::NVList &prop)
Definition OutPortProvider.h:508
void operator()(OutPortProvider *provider)
Definition OutPortProvider.h:510