OpenRTM-aist 2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
公開型 | 公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
RTC::InPortBase クラスabstract

InPort 用 Port [詳解]

#include <InPortBase.h>

RTC::InPortBase の継承関係図
Inheritance graph
[凡例]
RTC::InPortBase 連携図
Collaboration graph
[凡例]

公開型

using ConnectorList = std::vector< InPortConnector * >
 

公開メンバ関数

 InPortBase (const char *name, const char *data_type)
 コンストラクタ
 
 ~InPortBase () override
 デストラクタ
 
virtual void init (coil::Properties &prop)
 プロパティの初期化
 
virtual bool read (std::string name="")=0
 RTObject_impl::readAll()から呼ばれる仮想関数
 
coil::Properties & properties ()
 プロパティを取得する
 
const std::vector< InPortConnector * > & connectors ()
 Connector を取得
 
ConnectorInfoList getConnectorProfiles ()
 ConnectorProfile を取得
 
coil::vstring getConnectorIds ()
 ConnectorId を取得
 
coil::vstring getConnectorNames ()
 Connectorの名前を取得
 
InPortConnectorgetConnectorById (const char *id)
 ConnectorProfileをIDで取得
 
InPortConnectorgetConnectorByName (const char *name)
 ConnectorProfileを名前で取得
 
bool getConnectorProfileById (const char *id, ConnectorInfo &prof)
 ConnectorProfileをIDで取得
 
bool getConnectorProfileByName (const char *name, ConnectorInfo &prof)
 ConnectorProfileを名前で取得
 
void activateInterfaces () override
 InPortを activates する
 
void deactivateInterfaces () override
 全ての Port のインターフェースを deactivates する
 
void addConnectorDataListener (ConnectorDataListenerType type, ConnectorDataListener *listener, bool autoclean=true)
 ConnectorDataListener リスナを追加する
 
void removeConnectorDataListener (ConnectorDataListenerType type, ConnectorDataListener *listener)
 ConnectorDataListener リスナを削除する
 
void addConnectorListener (ConnectorListenerType type, ConnectorListener *listener, bool autoclean=true)
 ConnectorListener リスナを追加する
 
void removeConnectorListener (ConnectorListenerType type, ConnectorListener *listener)
 ConnectorDataListener リスナを削除する
 
bool isLittleEndian ()
 endian 設定を返す
 
ReturnCode_t connect (ConnectorProfile &connector_profile) override
 [CORBA interface] Port の接続を行う
 
virtual ConnectorListenersBasegetListeners ()
 リスナホルダを取得する
 
ReturnCode_t notify_connect (ConnectorProfile &connector_profile) override
 
- 基底クラス RTC::PortBase に属する継承公開メンバ関数
 PortBase (const char *name="")
 コンストラクタ
 
 ~PortBase () override
 デストラクタ
 
PortProfile * get_port_profile () override
 [CORBA interface] PortProfileを取得する
 
const PortProfile & getPortProfile () const
 PortProfile を取得する。
 
ConnectorProfileList * get_connector_profiles () override
 [CORBA interface] ConnectorProfileListを取得する
 
ConnectorProfile * get_connector_profile (const char *connector_id) override
 [CORBA interface] ConnectorProfile を取得する
 
ReturnCode_t connect (ConnectorProfile &connector_profile) override
 [CORBA interface] Port の接続を行う
 
ReturnCode_t notify_connect (ConnectorProfile &connector_profile) override
 [CORBA interface] Port の接続通知を行う
 
ReturnCode_t disconnect (const char *connector_id) override
 [CORBA interface] Port の接続を解除する
 
ReturnCode_t notify_disconnect (const char *connector_id) override
 [CORBA interface] Port の接続解除通知を行う
 
ReturnCode_t disconnect_all () override
 [CORBA interface] Port の全接続を解除する
 
void setName (const char *name)
 Port の名前を設定する
 
const char * getName () const
 Port の名前を取得する
 
const PortProfile & getProfile () const
 PortProfileを取得する
 
void setPortRef (PortService_ptr port_ref)
 Port のオブジェクト参照を設定する
 
PortService_ptr getPortRef () const
 Port のオブジェクト参照を取得する
 
void setOwner (RTObject_ptr owner)
 Port の owner の RTObject を指定する
 
void setOnPublishInterfaces (ConnectionCallback *on_publish)
 インターフェースを公開する際に呼ばれるコールバックをセットする
 
void setOnSubscribeInterfaces (ConnectionCallback *on_subscribe)
 インターフェースを取得する際に呼ばれるコールバックをセットする
 
void setOnConnected (ConnectionCallback *on_connected)
 接続完了時に呼ばれるコールバックをセットする
 
void setOnUnsubscribeInterfaces (ConnectionCallback *on_unsubscribe)
 インターフェースを解放する際に呼ばれるコールバックをセットする
 
void setOnDisconnected (ConnectionCallback *on_disconnected)
 接続解除に呼ばれるコールバックをセットする
 
void setOnConnectionLost (ConnectionCallback *on_connection_lost)
 ポートの接続がロストした場合に呼び出されるコールバックをセットする
 
void setPortConnectListenerHolder (PortConnectListeners *portconnListeners)
 PortConnectListeners のホルダをセットする
 
virtual DirectPortBasegetDirectPort ()
 direct通信用ポートオブジェクト取得
 

限定公開メンバ関数

ReturnCode_t publishInterfaces (ConnectorProfile &cprof) override
 Interface情報を公開する
 
ReturnCode_t subscribeInterfaces (const ConnectorProfile &cprof) override
 Interfaceに接続する
 
void unsubscribeInterfaces (const ConnectorProfile &connector_profile) override
 Interfaceへの接続を解除する
 
void initProviders ()
 InPort provider の初期化
 
void initConsumers ()
 OutPort consumer の初期化
 
bool checkEndian (const coil::Properties &prop, bool &littleEndian)
 シリアライザのエンディアンをチェックする
 
InPortProvidercreateProvider (ConnectorProfile &cprof, coil::Properties &prop)
 InPort provider の生成
 
OutPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 OutPort consumer の生成
 
InPortConnectorcreateConnector (ConnectorProfile &cprof, coil::Properties &prop, InPortProvider *provider)
 InPortPushConnector の生成
 
InPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortConsumer *consumer)
 InPortPullConnector の生成
 
OutPortBasegetLocalOutPort (const ConnectorInfo &profile)
 ローカルのピアOutPortを取得
 
virtual void initConnectorListeners ()
 コネクタリスナの初期化
 
- 基底クラス RTC::PortBase に属する継承限定公開メンバ関数
virtual ReturnCode_t connectNext (ConnectorProfile &connector_profile)
 次の Port に対して notify_connect() をコールする
 
virtual ReturnCode_t disconnectNext (ConnectorProfile &cprof)
 次の Port に対して notify_disconnect() をコールする
 
virtual void setConnectionLimit (int limit_value)
 接続の最大数を設定する。
 
virtual ReturnCode_t _publishInterfaces ()
 Interface情報を公開する
 
bool isExistingConnId (const char *id)
 id が既存の ConnectorProfile のものかどうか判定する
 
ConnectorProfile findConnProfile (const char *id)
 id を持つ ConnectorProfile を探す
 
CORBA::Long findConnProfileIndex (const char *id)
 id を持つ ConnectorProfile を探す
 
void updateConnectorProfile (const ConnectorProfile &connector_profile)
 ConnectorProfile の追加もしくは更新
 
bool eraseConnectorProfile (const char *id)
 ConnectorProfile を削除する
 
bool appendInterface (const char *instance_name, const char *type_name, PortInterfacePolarity pol)
 PortInterfaceProfile に インターフェースを登録する
 
bool deleteInterface (const char *name, PortInterfacePolarity pol)
 PortInterfaceProfile からインターフェース登録を削除する
 
template<class ValueType >
void addProperty (const char *key, ValueType value)
 PortProfile の properties に NameValue 値を追加する
 
void appendProperty (const char *key, const char *value)
 PortProfile の properties に NameValue 値を要素に追加する
 
void updateConnectors ()
 存在しないポートをdisconnectする。
 
bool checkPorts (::RTC::PortServiceList &ports)
 ポートの存在を確認する。
 
void onNotifyConnect (const char *portname, RTC::ConnectorProfile &profile)
 
void onNotifyDisconnect (const char *portname, RTC::ConnectorProfile &profile)
 
void onUnsubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile)
 
void onPublishInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onConnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onSubscribeInterfaces (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onConnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onDisconnectNextport (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
void onDisconnected (const char *portname, RTC::ConnectorProfile &profile, ReturnCode_t ret)
 
bool isExistingMarshalingType (coil::Properties &con_prop)
 指定のシリアライザが使用可能かを判定する
 

限定公開変数類

bool m_singlebuffer
 バッファモード
 
CdrBufferBasem_thebuffer
 バッファ
 
coil::vstring m_providerTypes
 利用可能provider
 
coil::vstring m_consumerTypes
 利用可能consumer
 
ConnectorList m_connectors
 接続リスト
 
bool m_littleEndian
 接続エンディアン
 
ConnectorListenersBasem_listeners
 ConnectorDataListener リスナ
 
- 基底クラス RTC::PortBase に属する継承限定公開変数類
coil::Properties m_properties
 プロパティ
 
Logger rtclog
 ロガーストリーム
 
PortProfile m_profile
 Port の PortProfile
 
RTC::PortService_var m_objref
 Port の オブジェクト参照
 
std::mutex m_profile_mutex
 PortProfile の mutex
 
std::mutex m_connectorsMutex
 
std::string m_ownerInstanceName = "unknown"
 インスタンス名
 
int m_connectionLimit {-1}
 Port の接続の最大数
 
ConnectionCallbackm_onPublishInterfaces {nullptr}
 Callback functor オブジェクト
 
ConnectionCallbackm_onSubscribeInterfaces {nullptr}
 Callback functor オブジェクト
 
ConnectionCallbackm_onConnected {nullptr}
 Callback functor オブジェクト
 
ConnectionCallbackm_onUnsubscribeInterfaces {nullptr}
 Callback functor オブジェクト
 
ConnectionCallbackm_onDisconnected {nullptr}
 Callback functor オブジェクト
 
ConnectionCallbackm_onConnectionLost {nullptr}
 Callback functor オブジェクト
 
PortConnectListenersm_portconnListeners {nullptr}
 PortConnectListenerホルダ
 
DirectPortBasem_directport {nullptr}
 

その他の継承メンバ

- 基底クラス RTC::PortBase に属する継承静的限定公開メンバ関数
static bool isEmptyId (const ConnectorProfile &connector_profile)
 ConnectorProfile の connector_id フィールドが空かどうか判定
 
static std::string getUUID ()
 UUIDを生成する
 
static void setUUID (ConnectorProfile &connector_profile)
 UUIDを生成し ConnectorProfile にセットする
 

詳解

InPort 用 Port

データ入力ポートの実装クラス。

から
0.4.0

型定義メンバ詳解

◆ ConnectorList

構築子と解体子

◆ InPortBase()

RTC::InPortBase::InPortBase ( const char *  name,
const char *  data_type 
)

コンストラクタ

◆ ~InPortBase()

RTC::InPortBase::~InPortBase ( )
override

デストラクタ

関数詳解

◆ activateInterfaces()

void RTC::InPortBase::activateInterfaces ( )
overridevirtual

InPortを activates する

Port に登録されている全てのインターフェースを activate する。

RTC::PortBaseを実装しています。

◆ addConnectorDataListener()

void RTC::InPortBase::addConnectorDataListener ( ConnectorDataListenerType  type,
ConnectorDataListener listener,
bool  autoclean = true 
)

◆ addConnectorListener()

void RTC::InPortBase::addConnectorListener ( ConnectorListenerType  type,
ConnectorListener listener,
bool  autoclean = true 
)

ConnectorListener リスナを追加する

参照元 RTC::EventInPort< FsmType >::init().

◆ checkEndian()

bool RTC::InPortBase::checkEndian ( const coil::Properties &  prop,
bool &  littleEndian 
)
protected

シリアライザのエンディアンをチェックする

◆ connect()

ReturnCode_t RTC::InPortBase::connect ( ConnectorProfile &  connector_profile)
override

[CORBA interface] Port の接続を行う

与えられた ConnectoionProfile の情報に基づき、Port間の接続を確立 する。この関数は主にアプリケーションプログラムやツールから呼び出 すことを前提としている。

引数
connector_profileConnectorProfile
戻り値
ReturnCode_t 型のリターンコード

◆ connectors()

const std::vector< InPortConnector * > & RTC::InPortBase::connectors ( )

Connector を取得

◆ createConnector() [1/2]

InPortConnector * RTC::InPortBase::createConnector ( ConnectorProfile &  cprof,
coil::Properties &  prop,
InPortProvider provider 
)
protected

◆ createConnector() [2/2]

InPortConnector * RTC::InPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties &  prop,
OutPortConsumer consumer 
)
protected

◆ createConsumer()

OutPortConsumer * RTC::InPortBase::createConsumer ( const ConnectorProfile &  cprof,
coil::Properties &  prop 
)
protected

OutPort consumer の生成

◆ createProvider()

InPortProvider * RTC::InPortBase::createProvider ( ConnectorProfile &  cprof,
coil::Properties &  prop 
)
protected

InPort provider の生成

◆ deactivateInterfaces()

void RTC::InPortBase::deactivateInterfaces ( )
overridevirtual

全ての Port のインターフェースを deactivates する

Port に登録されている全てのインターフェースを deactivate する。

RTC::PortBaseを実装しています。

◆ getConnectorById()

InPortConnector * RTC::InPortBase::getConnectorById ( const char *  id)

ConnectorProfileをIDで取得

◆ getConnectorByName()

InPortConnector * RTC::InPortBase::getConnectorByName ( const char *  name)

ConnectorProfileを名前で取得

◆ getConnectorIds()

coil::vstring RTC::InPortBase::getConnectorIds ( )

ConnectorId を取得

◆ getConnectorNames()

coil::vstring RTC::InPortBase::getConnectorNames ( )

Connectorの名前を取得

◆ getConnectorProfileById()

bool RTC::InPortBase::getConnectorProfileById ( const char *  id,
ConnectorInfo prof 
)

ConnectorProfileをIDで取得

◆ getConnectorProfileByName()

bool RTC::InPortBase::getConnectorProfileByName ( const char *  name,
ConnectorInfo prof 
)

ConnectorProfileを名前で取得

◆ getConnectorProfiles()

ConnectorInfoList RTC::InPortBase::getConnectorProfiles ( )

ConnectorProfile を取得

◆ getListeners()

virtual ConnectorListenersBase * RTC::InPortBase::getListeners ( )
virtual

リスナホルダを取得する

◆ getLocalOutPort()

OutPortBase * RTC::InPortBase::getLocalOutPort ( const ConnectorInfo profile)
protected

ローカルのピアOutPortを取得

◆ init()

virtual void RTC::InPortBase::init ( coil::Properties &  prop)
virtual

プロパティの初期化

RTC::EventInPort< FsmType >で再実装されています。

参照元 RTC::EventInPort< FsmType >::init().

◆ initConnectorListeners()

virtual void RTC::InPortBase::initConnectorListeners ( )
protectedvirtual

コネクタリスナの初期化

RTC::InPort< DataType >で再実装されています。

◆ initConsumers()

void RTC::InPortBase::initConsumers ( )
protected

OutPort consumer の初期化

◆ initProviders()

void RTC::InPortBase::initProviders ( )
protected

InPort provider の初期化

◆ isLittleEndian()

bool RTC::InPortBase::isLittleEndian ( )

endian 設定を返す

◆ notify_connect()

ReturnCode_t RTC::InPortBase::notify_connect ( ConnectorProfile &  connector_profile)
override

◆ properties()

coil::Properties & RTC::InPortBase::properties ( )

プロパティを取得する

◆ publishInterfaces()

ReturnCode_t RTC::InPortBase::publishInterfaces ( ConnectorProfile &  cprof)
overrideprotectedvirtual

Interface情報を公開する

RTC::PortBaseを実装しています。

◆ read()

virtual bool RTC::InPortBase::read ( std::string  name = "")
pure virtual

RTObject_impl::readAll()から呼ばれる仮想関数

RTC::InPort< DataType >, RTC::EventInPort< FsmType >で実装されています。

◆ removeConnectorDataListener()

void RTC::InPortBase::removeConnectorDataListener ( ConnectorDataListenerType  type,
ConnectorDataListener listener 
)

ConnectorDataListener リスナを削除する

◆ removeConnectorListener()

void RTC::InPortBase::removeConnectorListener ( ConnectorListenerType  type,
ConnectorListener listener 
)

ConnectorDataListener リスナを削除する

◆ subscribeInterfaces()

ReturnCode_t RTC::InPortBase::subscribeInterfaces ( const ConnectorProfile &  cprof)
overrideprotectedvirtual

Interfaceに接続する

RTC::PortBaseを実装しています。

◆ unsubscribeInterfaces()

void RTC::InPortBase::unsubscribeInterfaces ( const ConnectorProfile &  connector_profile)
overrideprotectedvirtual

Interfaceへの接続を解除する

RTC::PortBaseを実装しています。

メンバ詳解

◆ m_connectors

ConnectorList RTC::InPortBase::m_connectors
protected

◆ m_consumerTypes

coil::vstring RTC::InPortBase::m_consumerTypes
protected

利用可能consumer

◆ m_listeners

ConnectorListenersBase* RTC::InPortBase::m_listeners
protected

◆ m_littleEndian

bool RTC::InPortBase::m_littleEndian
protected

接続エンディアン

◆ m_providerTypes

coil::vstring RTC::InPortBase::m_providerTypes
protected

利用可能provider

◆ m_singlebuffer

bool RTC::InPortBase::m_singlebuffer
protected

バッファモード

◆ m_thebuffer

CdrBufferBase* RTC::InPortBase::m_thebuffer
protected

バッファ

参照元 RTC::EventInPort< FsmType >::init().


このクラス詳解は次のファイルから抽出されました: