#include <OutPortBase.h>
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 の初期化 | |
OutPortProvider * | createProvider (ConnectorProfile &cprof, coil::Properties &prop) |
OutPort provider の生成 | |
InPortConsumer * | createConsumer (const ConnectorProfile &cprof, coil::Properties &prop) |
InPort consumer の生成 | |
OutPortConnector * | createConnector (const ConnectorProfile &cprof, coil::Properties &prop, InPortConsumer *consumer) |
OutPortPushConnector の生成 | |
OutPortConnector * | createConnector (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 の基底クラス。
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でリターンする。
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 を取得
現在所有しているコネクタを取得する。
ConnectorBase::ProfileList RTC::OutPortBase::getConnectorProfiles | ( | ) |
ConnectorProfile を取得
現在所有しているコネクタのProfileを取得する。
coil::vstring RTC::OutPortBase::getConnectorIds | ( | ) |
ConnectorId を取得
現在所有しているコネクタのIDを取得する。
coil::vstring RTC::OutPortBase::getConnectorNames | ( | ) |
Connectorの名前を取得
現在所有しているコネクタの名前を取得する。
bool RTC::OutPortBase::getConnectorProfileById | ( | const char * | id, | |
ConnectorBase::Profile & | prof | |||
) |
ConnectorProfileをIDで取得
現在所有しているコネクタをIDで取得する。
id | Connector ID | |
prof | ConnectorProfile |
bool RTC::OutPortBase::getConnectorProfileByName | ( | const char * | name, | |
ConnectorBase::Profile & | prof | |||
) |
ConnectorProfileを名前で取得
現在所有しているコネクタを名前で取得する。
name | Connector name | |
prof | ConnectorProfile |
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情報を書き込むコネクタプロファイル |
コネクタプロファイルで与えられた情報から、インターフェース情報を 取得する。
connector_profile | インターフェース情報を取得するコネクタ プロファイル |
接続を開場するために、登録済みのコネクタプロファイルを解除する。 取得する。
connector_profile | インターフェース情報を解除するコネクタ プロファイル |
RTC::OutPort< DataType >で再定義されています。
virtual void RTC::OutPortBase::onDisconnect | ( | const char * | id | ) | [inline, virtual] |
RTC::OutPort< DataType >で再定義されています。
virtual void RTC::OutPortBase::activateInterfaces | ( | ) | [virtual] |
virtual void RTC::OutPortBase::deactivateInterfaces | ( | ) | [virtual] |
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 | 接続に関するプロファイル情報 |
RTC::PortBaseを実装しています。
virtual ReturnCode_t RTC::OutPortBase::subscribeInterfaces | ( | const ConnectorProfile & | connector_profile | ) | [protected, virtual] |
Interface に接続する
このオペレーションは、notify_connect() 処理シーケンスの中間にコール される純粋仮想関数である。 notify_connect() では、
の順に protected 関数がコールされ接続処理が行われる。
connector_profile | 接続に関するプロファイル情報 |
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] |
OutPortConnector* RTC::OutPortBase::createConnector | ( | const ConnectorProfile & | cprof, | |
coil::Properties & | prop, | |||
OutPortProvider * | provider | |||
) | [protected] |
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] |