OpenRTM-aist 2.0.2
読み取り中…
検索中…
一致する文字列を見つけられません
InPortBase.h
[詳解]
1// -*- C++ -*-
20#ifndef RTC_INPORTBASE_H
21#define RTC_INPORTBASE_H
22
23#include <rtm/PortBase.h>
24#include <rtm/DataPortStatus.h>
25#include <rtm/CdrBufferBase.h>
27#include <rtm/OutPortBase.h>
28
43namespace RTC
44{
45 class InPortProvider;
46 class OutPortConsumer;
47 class InPortConnector;
48
69 : public PortBase
70 {
71 public:
72
73 using ConnectorList = std::vector<InPortConnector*>;
74
94 InPortBase(const char* name, const char* data_type);
95
109 ~InPortBase() override;
110
126 virtual void init(coil::Properties& prop);
127
142 virtual bool read(std::string name="") = 0;
143
159 coil::Properties& properties();
160
179 const std::vector<InPortConnector*>& connectors();
180
200
219 coil::vstring getConnectorIds();
220
239 coil::vstring getConnectorNames();
240
262
284
307 bool getConnectorProfileById(const char* id,
308 ConnectorInfo& prof);
309
332 bool getConnectorProfileByName(const char* name,
333 ConnectorInfo& prof);
334
335
352 void activateInterfaces() override;
353
370 void deactivateInterfaces() override;
371
448 ConnectorDataListener* listener,
449 bool autoclean = true);
450
451
472 ConnectorDataListener* listener);
473
474
528 ConnectorListener* listener,
529 bool autoclean = true);
530
551 ConnectorListener* listener);
552
571
597 ReturnCode_t
598 connect(ConnectorProfile& connector_profile) override;
599
618 ReturnCode_t notify_connect(ConnectorProfile& connector_profile) override;
619 protected:
648 ReturnCode_t
649 publishInterfaces(ConnectorProfile& cprof) override;
650
678 ReturnCode_t
679 subscribeInterfaces(const ConnectorProfile& cprof) override;
680
702 void
703 unsubscribeInterfaces(const ConnectorProfile& connector_profile) override;
704
705
714
723
755 bool checkEndian(const coil::Properties& prop, bool& littleEndian);
756
769 createProvider(ConnectorProfile& cprof, coil::Properties& prop);
770
783 createConsumer(const ConnectorProfile& cprof, coil::Properties& prop);
784
797 createConnector(ConnectorProfile& cprof, coil::Properties& prop,
798 InPortProvider* provider);
811 createConnector(const ConnectorProfile& cprof, coil::Properties& prop,
812 OutPortConsumer* consumer);
821
868 coil::vstring m_providerTypes;
876 coil::vstring m_consumerTypes;
893
902 };
903} // namespace RTC
904
905#endif // RTC_INPORTBASE_H
connector listener class
DataPortStatus class
InPortBase base class
RTC's Port base class
BufferBase 抽象クラス
Definition BufferBase.h:106
ConnectorDataListener クラス
Definition ConnectorListener.h:408
ConnectorInfo クラス
Definition ConnectorBase.h:50
ConnectorListener クラス
Definition ConnectorListener.h:884
Definition ConnectorListener.h:1354
InPort 用 Port
Definition InPortBase.h:70
InPortConnector * createConnector(const ConnectorProfile &cprof, coil::Properties &prop, OutPortConsumer *consumer)
InPortPullConnector の生成
bool m_littleEndian
接続エンディアン
Definition InPortBase.h:892
virtual void init(coil::Properties &prop)
プロパティの初期化
ReturnCode_t notify_connect(ConnectorProfile &connector_profile) override
coil::vstring m_providerTypes
利用可能provider
Definition InPortBase.h:868
std::vector< InPortConnector * > ConnectorList
Definition InPortBase.h:73
virtual ConnectorListenersBase * getListeners()
リスナホルダを取得する
~InPortBase() override
デストラクタ
void removeConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener *listener)
ConnectorDataListener リスナを削除する
InPortConnector * createConnector(ConnectorProfile &cprof, coil::Properties &prop, InPortProvider *provider)
InPortPushConnector の生成
void addConnectorListener(ConnectorListenerType type, ConnectorListener *listener, bool autoclean=true)
ConnectorListener リスナを追加する
virtual bool read(std::string name="")=0
RTObject_impl::readAll()から呼ばれる仮想関数
bool m_singlebuffer
バッファモード
Definition InPortBase.h:852
ConnectorList m_connectors
接続リスト
Definition InPortBase.h:884
const std::vector< InPortConnector * > & connectors()
Connector を取得
coil::Properties & properties()
プロパティを取得する
CdrBufferBase * m_thebuffer
バッファ
Definition InPortBase.h:860
ReturnCode_t subscribeInterfaces(const ConnectorProfile &cprof) override
Interfaceに接続する
void unsubscribeInterfaces(const ConnectorProfile &connector_profile) override
Interfaceへの接続を解除する
InPortConnector * getConnectorById(const char *id)
ConnectorProfileをIDで取得
virtual void initConnectorListeners()
コネクタリスナの初期化
ReturnCode_t connect(ConnectorProfile &connector_profile) override
[CORBA interface] Port の接続を行う
OutPortBase * getLocalOutPort(const ConnectorInfo &profile)
ローカルのピアOutPortを取得
coil::vstring getConnectorIds()
ConnectorId を取得
void deactivateInterfaces() override
全ての Port のインターフェースを deactivates する
ConnectorListenersBase * m_listeners
ConnectorDataListener リスナ
Definition InPortBase.h:901
void addConnectorDataListener(ConnectorDataListenerType type, ConnectorDataListener *listener, bool autoclean=true)
ConnectorDataListener リスナを追加する
coil::vstring getConnectorNames()
Connectorの名前を取得
ConnectorInfoList getConnectorProfiles()
ConnectorProfile を取得
void initProviders()
InPort provider の初期化
void activateInterfaces() override
InPortを activates する
InPortConnector * getConnectorByName(const char *name)
ConnectorProfileを名前で取得
coil::vstring m_consumerTypes
利用可能consumer
Definition InPortBase.h:876
ReturnCode_t publishInterfaces(ConnectorProfile &cprof) override
Interface情報を公開する
InPortBase(const char *name, const char *data_type)
コンストラクタ
OutPortConsumer * createConsumer(const ConnectorProfile &cprof, coil::Properties &prop)
OutPort consumer の生成
bool getConnectorProfileById(const char *id, ConnectorInfo &prof)
ConnectorProfileをIDで取得
bool checkEndian(const coil::Properties &prop, bool &littleEndian)
シリアライザのエンディアンをチェックする
void removeConnectorListener(ConnectorListenerType type, ConnectorListener *listener)
ConnectorDataListener リスナを削除する
bool getConnectorProfileByName(const char *name, ConnectorInfo &prof)
ConnectorProfileを名前で取得
InPortProvider * createProvider(ConnectorProfile &cprof, coil::Properties &prop)
InPort provider の生成
void initConsumers()
OutPort consumer の初期化
bool isLittleEndian()
endian 設定を返す
InPortConnector 基底クラス
Definition InPortConnector.h:54
Definition InPortProvider.h:191
OutPort 基底クラス
Definition OutPortBase.h:229
OutPortConsumer 抽象クラス
Definition OutPortConsumer.h:173
Port の基底クラス
Definition PortBase.h:132
RTコンポーネント
ConnectorDataListenerType
ConnectorDataListener のタイプ
Definition ConnectorListener.h:144
std::vector< ConnectorInfo > ConnectorInfoList
Definition ConnectorBase.h:181
ConnectorListenerType
ConnectorListener のタイプ
Definition ConnectorListener.h:670