クラス RTC::OutPortProvider

OutPortProvider. [詳細]

#include <OutPortProvider.h>

RTC::OutPortProviderに対する継承グラフ
RTC::DataPortStatus RTC::OutPortCorbaCdrProvider

すべてのメンバ一覧

構成

struct  publishInterfaceFunc
 インターフェースプロファイルを公開するたのファンクタ [詳細]
struct  publishInterfaceProfileFunc
 インターフェースプロファイルを公開するたのファンクタ [詳細]

Public メソッド

virtual DATAPORTSTATUS_ENUM ~OutPortProvider (void)
 デストラクタ
virtual void init (coil::Properties &prop)
 設定初期化
virtual void setBuffer (CdrBufferBase *buffer)=0
 バッファをセットする
virtual void setListener (ConnectorInfo &info, ConnectorListeners *listeners)=0
 リスナを設定する。
virtual void setConnector (OutPortConnector *connector)=0
 Connectorを設定する。.
virtual void publishInterfaceProfile (SDOPackage::NVList &properties)
 InterfaceProfile情報を公開する.
virtual bool publishInterface (SDOPackage::NVList &properties)
 Interface情報を公開する.

Protected メソッド

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)
 サブスクリプションタイプを設定する

Protected 変数

SDOPackage::NVList m_properties
 ポートプロファイルを保持するプロパティ
Logger rtclog
 ロガーストリーム

説明

OutPortProvider.

InPort の PROVIDED インターフェースを実装するための抽象基底クラス。 InPort に対して新しいインターフェースを実装する場合には、このクラ スを継承し、以下の関数を実装する必要がある。

さらに、コンストラクタ内で以下の関数を呼び、設定情報を初期化する必 要がある。

そのほか、InPortProvider のプロパティとして外部に公開する必要のあ る値は、protected 変数 (SDOPackage::NVList) m_properties に対して セットすること。セットされた値は、インターフェースのプロファイルと して、また、接続時に他のインターフェースにこのインターフェースに関 する情報を与える際に利用される。以下の仮想関数は、ポートのインター フェースプロファイル取得時および接続処理時にポートから呼び出される。 予めセットされたこのインターフェースのプロファイル情報はこれらの関 数呼び出しによりポートに伝えられる。

InPortInPortProvider のファクトリ管理クラスに対して利用可能 な 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化) して動的ロード可能に し、プロバイダの型を動的に追加することが可能となる。

から:
0.4.0

OutPort の PROVIDED インターフェースを実装するための抽象基底クラス。 OutPort に対して新しいインターフェースを実装する場合には、このクラ スを継承し、以下の関数を実装する必要がある。

さらに、コンストラクタ内で以下の関数を呼び、設定情報を初期化する必 要がある。

そのほか、OutPortProvider のプロパティとして外部に公開する必要のあ る値は、protected 変数 (SDOPackage::NVList) m_properties に対して セットすること。セットされた値は、インターフェースのプロファイルと して、また、接続時に他のインターフェースにこのインターフェースに関 する情報を与える際に利用される。以下の仮想関数は、ポートのインター フェースプロファイル取得時および接続処理時にポートから呼び出される。 予めセットされたこのインターフェースのプロファイル情報はこれらの関 数呼び出しによりポートに伝えられる。

OutPortOutPortProvider のファクトリ管理クラスに対して利用可能 な 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化) して動的ロード可能に し、プロバイダの型を動的に追加することが可能となる。

から:
0.4.0

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

virtual DATAPORTSTATUS_ENUM RTC::OutPortProvider::~OutPortProvider ( void   )  [virtual]

デストラクタ

仮想デストラクタ


関数

virtual void RTC::OutPortProvider::init ( coil::Properties prop  )  [virtual]

設定初期化

OutPortProvider の各種設定を行う。実装クラスでは、与えられた Propertiesから必要な情報を取得して各種設定を行う。この init() 関 数は、OutPortProvider生成直後および、接続時にそれぞれ呼ばれる可 能性がある。したがって、この関数は複数回呼ばれることを想定して記 述されるべきである。

引数:
prop 設定情報

RTC::OutPortCorbaCdrProviderで再定義されています。

virtual bool RTC::OutPortProvider::publishInterface ( SDOPackage::NVList &  properties  )  [virtual]

Interface情報を公開する.

Interface情報を公開する。引数で指定するプロパティ情報内の NameValue オブジェクトのdataport.interface_type 値を調べ、当該ポー トに設定されていなければNameValue に情報を追加する。すでに同一イ ンターフェースが登録済みの場合は何も行わない。

引数:
properties Interface情報を受け取るプロパティ
戻り値:
true: 正常終了

参照元 RTC::OutPortProvider::publishInterfaceFunc::operator()().

virtual void RTC::OutPortProvider::publishInterfaceProfile ( SDOPackage::NVList &  properties  )  [virtual]

InterfaceProfile情報を公開する.

InterfaceProfile情報を公開する。 引数で指定するプロパティ情報内の NameValue オブジェクトの dataport.interface_type 値を調べ、当該ポートに設定されている インターフェースタイプと一致する場合のみ情報を取得する。

引数:
properties InterfaceProfile情報を受け取るプロパティ

参照元 RTC::OutPortProvider::publishInterfaceProfileFunc::operator()().

virtual void RTC::OutPortProvider::setBuffer ( CdrBufferBase buffer  )  [pure virtual]

バッファをセットする

OutPortProviderがデータを取り出すバッファをセットする。 すでにセットされたバッファがある場合、以前のバッファへの ポインタに対して上書きされる。 OutPortProviderはバッファの所有権を仮定していないので、 バッファの削除はユーザの責任で行わなければならない。

引数:
buffer OutPortProviderがデータを取り出すバッファへのポインタ

RTC::OutPortCorbaCdrProviderで実装されています。

virtual void RTC::OutPortProvider::setConnector ( OutPortConnector connector  )  [pure virtual]

Connectorを設定する。.

OutPort は接続確立時に OutPortConnector オブジェクトを生成し、生 成したオブジェクトのポインタと共にこの関数を呼び出す。所有権は OutPort が保持するので OutPortProviderOutPortConnector を削 除してはいけない。

引数:
connector OutPortConnector

RTC::OutPortCorbaCdrProviderで実装されています。

void RTC::OutPortProvider::setDataFlowType ( const char *  dataflow_type  )  [protected]

データフロータイプを設定する

引数で指定したデータフロータイプを設定する。

引数:
dataflow_type 設定対象データフロータイプ
void RTC::OutPortProvider::setDataType ( const char *  data_type  )  [protected]

データタイプを設定する

引数で指定したデータタイプを設定する。

引数:
data_type 設定対象データタイプ
void RTC::OutPortProvider::setInterfaceType ( const char *  interface_type  )  [protected]

インターフェースタイプを設定する

引数で指定したインターフェースタイプを設定する。

引数:
interface_type 設定対象インターフェースタイプ
virtual void RTC::OutPortProvider::setListener ( ConnectorInfo info,
ConnectorListeners listeners 
) [pure virtual]

リスナを設定する。

OutPort はデータ送信処理における各種イベントに対して特定のリスナ オブジェクトをコールするコールバック機構を提供する。詳細は ConnectorListener.hConnectorDataListener, ConnectorListener 等を参照のこと。OutPortProvider のサブクラスでは、与えられたリス ナを適切なタイミングで呼び出すべきである。ただし、すべてのリスナ を呼び出す必要はない。

引数:
info 接続情報
listeners リスナオブジェクト

RTC::OutPortCorbaCdrProviderで実装されています。

void RTC::OutPortProvider::setPortType ( const char *  port_type  )  [protected]

ポートタイプを設定する

引数で指定したポートタイプを設定する。

引数:
port_type 設定対象ポートタイプ
void RTC::OutPortProvider::setSubscriptionType ( const char *  subs_type  )  [protected]

サブスクリプションタイプを設定する

引数で指定したサブスクリプションタイプを設定する。

引数:
subs_type 設定対象サブスクリプションタイプ

変数

SDOPackage::NVList RTC::OutPortProvider::m_properties [protected]

ポートプロファイルを保持するプロパティ

Logger RTC::OutPortProvider::rtclog [mutable, protected]

ロガーストリーム

OpenRTM-aistに対してFri Oct 28 18:31:16 2016に生成されました。  doxygen 1.6.3