クラス RTC::OutPortBase

OutPort 基底クラス [詳細]

#include <OutPortBase.h>

RTC::OutPortBaseに対する継承グラフ

RTC::PortBase RTC::DataPortStatus RTC::OutPort< DataType >

すべてのメンバ一覧

Public メソッド

 OutPortBase (const char *name, const char *data_type)
 コンストラクタ
virtual ~OutPortBase (void)
 デストラクタ
void init (coil::Properties &prop)
 プロパティの初期化
const char * name () const
 OutPort名称の取得
coil::Properties & properties ()
 プロパティを取得する
const std::vector
< OutPortConnector * > & 
connectors ()
 Connector を取得
ConnectorBase::ProfileList getConnectorProfiles ()
 ConnectorProfile を取得
coil::vstring getConnectorIds ()
 ConnectorId を取得
coil::vstring getConnectorNames ()
 Connectorの名前を取得
bool getConnectorProfileById (const char *id, ConnectorBase::Profile &prof)
 ConnectorProfileをIDで取得
bool getConnectorProfileByName (const char *name, ConnectorBase::Profile &prof)
 ConnectorProfileを名前で取得
bool publishInterfaceProfiles (SDOPackage::NVList &properties)
 インターフェースプロファイルを公開する
virtual void onConnect (const char *id, PublisherBase *publisher)
 Interface情報を公開する
virtual void onDisconnect (const char *id)
virtual void activateInterfaces ()
 InPortを activates する
virtual void deactivateInterfaces ()
 全ての Port のインターフェースを deactivates する

Public 変数

DATAPORTSTATUS_ENUM
typedef std::vector
< OutPortConnector * > 
ConnectorList

Protected メソッド

void configure ()
 OutPortの設定を行う
virtual ReturnCode_t publishInterfaces (ConnectorProfile &connector_profile)
 Interface 情報を公開する
virtual ReturnCode_t subscribeInterfaces (const ConnectorProfile &connector_profile)
 Interface に接続する
virtual void unsubscribeInterfaces (const ConnectorProfile &connector_profile)
 Interface の接続を解除する
void initProviders ()
 OutPort provider の初期化
void initConsumers ()
 InPort consumer の初期化
OutPortProvidercreateProvider (ConnectorProfile &cprof, coil::Properties &prop)
 OutPort provider の生成
InPortConsumercreateConsumer (const ConnectorProfile &cprof, coil::Properties &prop)
 InPort consumer の生成
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer)
 OutPortPushConnector の生成
OutPortConnectorcreateConnector (const ConnectorProfile &cprof, coil::Properties &prop, OutPortProvider *provider)
 OutPortPullConnector の生成

Protected 変数

coil::Properties m_properties
std::string m_name
std::vector
< OutPortConnector * > 
m_connectors
std::vector
< InPortConsumer * > 
m_consumers
coil::vstring m_providerTypes
coil::vstring m_consumerTypes
std::vector
< OutPortProvider * > 
m_providers


説明

OutPort 基底クラス

OutPort の基底クラス。

Properties: port.outport プロパティは

以下に指定したものが渡される。 (port.outport.[name]が優先される) さらに、一部のプロパティは接続時に ConnectorProfile により 渡される場合があり、その場合は ConnectorProfile が優先される。

dataport.dataflow_type dataport.interface_type dataport.subscription_type

[buffer]

[publihser]

[interface]

OutPort 側の connect() では以下のシーケンスで処理が行われる。

1. OutPort に関連する connector 情報の生成およびセット

2. InPortに関連する connector 情報の取得

5. ConnectorProfile::properties で与えられた情報から、 OutPort側の初期化処理を行う。

6. 上記の処理のうち一つでもエラーであれば、エラーリターンする。 正常に処理が行われた場合はRTCRTC_OKでリターンする。

から:
0.2.0

コンストラクタとデストラクタ

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

コンストラクタ

コンストラクタ。

引数:
name ポート名

virtual RTC::OutPortBase::~OutPortBase ( void   )  [virtual]

デストラクタ

デストラクタ。 登録された全ての Publisher を削除する。


関数

void RTC::OutPortBase::init ( coil::Properties &  prop  ) 

プロパティの初期化

OutPortのプロパティを初期化する

const char* RTC::OutPortBase::name (  )  const

OutPort名称の取得

OutPortの名称を取得する。

戻り値:
ポート名称

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

プロパティを取得する

OutPortのプロパティを取得する。

戻り値:
プロパティ

const std::vector<OutPortConnector*>& RTC::OutPortBase::connectors (  ) 

Connector を取得

現在所有しているコネクタを取得する。

戻り値:
connector のリスト

ConnectorBase::ProfileList RTC::OutPortBase::getConnectorProfiles (  ) 

ConnectorProfile を取得

現在所有しているコネクタのProfileを取得する。

戻り値:
ConnectorProfile のリスト

coil::vstring RTC::OutPortBase::getConnectorIds (  ) 

ConnectorId を取得

現在所有しているコネクタのIDを取得する。

戻り値:
ConnectorId のリスト

coil::vstring RTC::OutPortBase::getConnectorNames (  ) 

Connectorの名前を取得

現在所有しているコネクタの名前を取得する。

戻り値:
Connector名のリスト

bool RTC::OutPortBase::getConnectorProfileById ( const char *  id,
ConnectorBase::Profile prof 
)

ConnectorProfileをIDで取得

現在所有しているコネクタをIDで取得する。

引数:
id Connector ID
prof ConnectorProfile
戻り値:
false 指定したIDがない

bool RTC::OutPortBase::getConnectorProfileByName ( const char *  name,
ConnectorBase::Profile prof 
)

ConnectorProfileを名前で取得

現在所有しているコネクタを名前で取得する。

引数:
name Connector name
prof ConnectorProfile
戻り値:
false 指定した名前がない

bool RTC::OutPortBase::publishInterfaceProfiles ( SDOPackage::NVList &  properties  ) 

インターフェースプロファイルを公開する

現在 OutPort が所有しているインターフェースのプロファイルを DataOutPortに対して公開するためのオペレーション。 DataOutPortから呼ばれることを意図している

引数:
properties IFプロファイルを書き込むNVList

virtual void RTC::OutPortBase::onConnect ( const char *  id,
PublisherBase publisher 
) [inline, virtual]

Interface情報を公開する

Interface情報を公開する。

引数:
connector_profile Interface情報を書き込むコネクタプロファイル
Interface情報を取得する

コネクタプロファイルで与えられた情報から、インターフェース情報を 取得する。

引数:
connector_profile インターフェース情報を取得するコネクタ プロファイル
戻り値:
登録処理結果
登録されているInterface情報を解除する

接続を開場するために、登録済みのコネクタプロファイルを解除する。 取得する。

引数:
connector_profile インターフェース情報を解除するコネクタ プロファイル
戻り値:
登録処理結果

RTC::OutPort< DataType >で再定義されています。

virtual void RTC::OutPortBase::onDisconnect ( const char *  id  )  [inline, virtual]

RTC::OutPort< DataType >で再定義されています。

virtual void RTC::OutPortBase::activateInterfaces (  )  [virtual]

InPortを activates する

InPortを activate する。

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

virtual void RTC::OutPortBase::deactivateInterfaces (  )  [virtual]

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

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

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

void RTC::OutPortBase::configure (  )  [protected]

OutPortの設定を行う

propertiesの情報に基づきOutPortの各種設定を行う

virtual ReturnCode_t RTC::OutPortBase::publishInterfaces ( ConnectorProfile &  connector_profile  )  [protected, virtual]

Interface 情報を公開する

このオペレーションは、notify_connect() 処理シーケンスの始めにコール される純粋仮想関数である。 notify_connect() では、

の順に protected 関数がコールされ接続処理が行われる。
このオペレーションは、新規の connector_id に対しては接続の生成、 既存の connector_id に対しては更新が適切に行われる必要がある。

引数:
connector_profile 接続に関するプロファイル情報
戻り値:
ReturnCode_t 型のリターンコード

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

virtual ReturnCode_t RTC::OutPortBase::subscribeInterfaces ( const ConnectorProfile &  connector_profile  )  [protected, virtual]

Interface に接続する

このオペレーションは、notify_connect() 処理シーケンスの中間にコール される純粋仮想関数である。 notify_connect() では、

の順に protected 関数がコールされ接続処理が行われる。

引数:
connector_profile 接続に関するプロファイル情報
戻り値:
ReturnCode_t 型のリターンコード

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

virtual void RTC::OutPortBase::unsubscribeInterfaces ( const ConnectorProfile &  connector_profile  )  [protected, virtual]

Interface の接続を解除する

このオペレーションは、notify_disconnect() 処理シーケンスの終わりにコール される純粋仮想関数である。 notify_disconnect() では、

引数:
connector_profile 接続に関するプロファイル情報

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

void RTC::OutPortBase::initProviders (  )  [protected]

OutPort provider の初期化

void RTC::OutPortBase::initConsumers (  )  [protected]

InPort consumer の初期化

OutPortProvider* RTC::OutPortBase::createProvider ( ConnectorProfile &  cprof,
coil::Properties &  prop 
) [protected]

OutPort provider の生成

InPortConsumer* RTC::OutPortBase::createConsumer ( const ConnectorProfile &  cprof,
coil::Properties &  prop 
) [protected]

InPort consumer の生成

OutPortConnector* RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties &  prop,
InPortConsumer consumer 
) [protected]

OutPortPushConnector の生成

OutPortConnector* RTC::OutPortBase::createConnector ( const ConnectorProfile &  cprof,
coil::Properties &  prop,
OutPortProvider provider 
) [protected]

OutPortPullConnector の生成


変数

DATAPORTSTATUS_ENUM typedef std::vector<OutPortConnector*> RTC::OutPortBase::ConnectorList

coil::Properties RTC::OutPortBase::m_properties [protected]

std::string RTC::OutPortBase::m_name [protected]

std::vector<OutPortConnector*> RTC::OutPortBase::m_connectors [protected]

std::vector<InPortConsumer*> RTC::OutPortBase::m_consumers [protected]

coil::vstring RTC::OutPortBase::m_providerTypes [protected]

coil::vstring RTC::OutPortBase::m_consumerTypes [protected]

std::vector<OutPortProvider*> RTC::OutPortBase::m_providers [protected]


OpenRTMに対してSun May 24 14:08:26 2009に生成されました。  doxygen 1.5.3