OpenRTM-aist 2.1.0
|
#include <OutPortProvider.h>
クラス | |
struct | publishInterfaceFunc |
インターフェースプロファイルを公開するたのファンクタ [詳解] | |
struct | publishInterfaceProfileFunc |
インターフェースプロファイルを公開するたのファンクタ [詳解] | |
公開メンバ関数 | |
virtual | ~OutPortProvider () |
デストラクタ | |
virtual void | init (coil::Properties &prop) |
設定初期化 | |
virtual void | setBuffer (CdrBufferBase *buffer)=0 |
バッファをセットする | |
virtual void | setListener (ConnectorInfo &info, ConnectorListenersBase *listeners)=0 |
リスナを設定する。 | |
virtual void | setConnector (OutPortConnector *connector)=0 |
Connectorを設定する。 | |
virtual void | publishInterfaceProfile (SDOPackage::NVList &prop) |
InterfaceProfile情報を公開する | |
virtual bool | publishInterface (SDOPackage::NVList &prop) |
Interface情報を公開する | |
限定公開メンバ関数 | |
void | setPortType (const char *port_type) |
ポートタイプを設定する | |
void | setDataType (const char *data_type) |
データタイプを設定する | |
void | setInterfaceType (const char *interface_type) |
インターフェースタイプを設定する | |
void | setDataFlowType (const char *dataflow_type) |
データフロータイプを設定する | |
void | setSubscriptionType (const char *subs_type) |
サブスクリプションタイプを設定する | |
限定公開変数類 | |
SDOPackage::NVList | m_properties |
ポートプロファイルを保持するプロパティ | |
Logger | rtclog |
ロガーストリーム | |
InPort の PROVIDED インターフェースを実装するための抽象基底クラス。 InPort に対して新しいインターフェースを実装する場合には、このクラ スを継承し、以下の関数を実装する必要がある。
さらに、コンストラクタ内で以下の関数を呼び、設定情報を初期化する必 要がある。
そのほか、InPortProvider のプロパティとして外部に公開する必要のあ る値は、protected 変数 (SDOPackage::NVList) m_properties に対して セットすること。セットされた値は、インターフェースのプロファイルと して、また、接続時に他のインターフェースにこのインターフェースに関 する情報を与える際に利用される。以下の仮想関数は、ポートのインター フェースプロファイル取得時および接続処理時にポートから呼び出される。 予めセットされたこのインターフェースのプロファイル情報はこれらの関 数呼び出しによりポートに伝えられる。
InPort は InPortProvider のファクトリ管理クラスに対して利用可能 な InPortProvider を問合せ、提供可能なインターフェースタイプを外 部に宣言する。従って、InPort に対して PROVIDED インターフェース を提供する InPortProvider のサブクラスは、InPortProviderFactory にファクトリ関数を登録する必要がある。
RTC::InPortProviderFactory::instance().addFactory() を、
を与えて呼び出す必要がある。以下は、ファクトリへの登録と、それを初 期化関数とした例である。
extern "C" { void InPortCorbaCdrProviderInit(void) { RTC::InPortProviderFactory& factory(RTC::InPortProviderFactory::instance()); factory.addFactory("corba_cdr", ::coil::Creator<RTC::InPortProvider, RTC::InPortCorbaCdrProvider>, ::coil::Destructor<RTC::InPortProvider, RTC::InPortCorbaCdrProvider>); } };
この例のように、ファクトリへの登録を初期化関数として、extern "C" によりシンボルを参照可能にしておく。こうすることで、 InPortProvider を共有オブジェクト化 (DLL化) して動的ロード可能に し、プロバイダの型を動的に追加することが可能となる。
OutPort の PROVIDED インターフェースを実装するための抽象基底クラス。 OutPort に対して新しいインターフェースを実装する場合には、このクラ スを継承し、以下の関数を実装する必要がある。
さらに、コンストラクタ内で以下の関数を呼び、設定情報を初期化する必 要がある。
そのほか、OutPortProvider のプロパティとして外部に公開する必要のあ る値は、protected 変数 (SDOPackage::NVList) m_properties に対して セットすること。セットされた値は、インターフェースのプロファイルと して、また、接続時に他のインターフェースにこのインターフェースに関 する情報を与える際に利用される。以下の仮想関数は、ポートのインター フェースプロファイル取得時および接続処理時にポートから呼び出される。 予めセットされたこのインターフェースのプロファイル情報はこれらの関 数呼び出しによりポートに伝えられる。
OutPort は OutPortProvider のファクトリ管理クラスに対して利用可能 な OutPortProvider を問合せ、提供可能なインターフェースタイプを外 部に宣言する。従って、OutPort に対して PROVIDED インターフェース を提供する OutPortProvider のサブクラスは、OutPortProviderFactory にファクトリ関数を登録する必要がある。
RTC::OutPortProviderFactory::instance().addFactory() を、
を与えて呼び出す必要がある。以下は、ファクトリへの登録と、それを初 期化関数とした例である。
extern "C" { void OutPortCorbaCdrProviderInit(void) { RTC::OutPortProviderFactory& factory(RTC::OutPortProviderFactory::instance()); factory.addFactory("corba_cdr", ::coil::Creator<RTC::OutPortProvider, RTC::OutPortCorbaCdrProvider>, ::coil::Destructor<RTC::OutPortProvider, RTC::OutPortCorbaCdrProvider>); } };
この例のように、ファクトリへの登録を初期化関数として、extern "C" によりシンボルを参照可能にしておく。こうすることで、 OutPortProvider を共有オブジェクト化 (DLL化) して動的ロード可能に し、プロバイダの型を動的に追加することが可能となる。
|
virtual |
デストラクタ
|
virtual |
|
virtual |
Interface情報を公開する
参照元 RTC::OutPortProvider::publishInterfaceFunc::operator()().
|
virtual |
InterfaceProfile情報を公開する
参照元 RTC::OutPortProvider::publishInterfaceProfileFunc::operator()().
|
pure virtual |
バッファをセットする
RTC::OutPortCorbaCdrProvider, RTC::OutPortDirectProvider, RTC::OutPortDSProvider, RTC::OutPortSHMProviderで実装されています。
|
pure virtual |
Connectorを設定する。
RTC::OutPortCorbaCdrProvider, RTC::OutPortDirectProvider, RTC::OutPortDSProvider, RTC::OutPortSHMProviderで実装されています。
|
protected |
データフロータイプを設定する
|
protected |
データタイプを設定する
|
protected |
インターフェースタイプを設定する
|
pure virtual |
リスナを設定する。
RTC::OutPortCorbaCdrProvider, RTC::OutPortDirectProvider, RTC::OutPortDSProvider, RTC::OutPortSHMProviderで実装されています。
|
protected |
ポートタイプを設定する
|
protected |
サブスクリプションタイプを設定する
|
protected |
ポートプロファイルを保持するプロパティ
|
mutableprotected |
ロガーストリーム