クラス テンプレート RTC::OutPort< DataType >

OutPort テンプレートクラス. [詳細]

#include <OutPort.h>

RTC::OutPort< DataType >に対する継承グラフ
RTC::OutPortBase RTC::PortBase RTC::DataPortStatus

すべてのメンバ一覧

Public メソッド

 OutPort (const char *name, DataType &value)
 コンストラクタ
virtual ~OutPort (void)
virtual bool write (DataType &value)
 データ書き込み
bool write ()
 データ書き込み
bool operator<< (DataType &value)
 データ書き込み
DataPortStatus::Enum getStatus (int index)
 特定のコネクタへの書き込みステータスを得る
DataPortStatusList getStatusList ()
 特定のコネクタへの書き込みステータスリストを得る
void setOnWrite (OnWrite< DataType > *on_write)
 OnWrite コールバックの設定.
void setOnWriteConvert (OnWriteConvert< DataType > *on_wconvert)
 OnWriteConvert コールバックの設定.

説明

template<class DataType>
class RTC::OutPort< DataType >

OutPort テンプレートクラス.

OutPort テンプレートクラス、テンプレートの引数として、OutPortが 扱うデータ型 DataType をとる。

OnWrite系コールバック (書込みに起因するイベントによりコールされる)

OnBuffer系コールバック (バッファに起因するイベントによりコールされる)

2種類のコールバックファンクタのシグニチャ ConnectorDataCallback::operator()(ConnectorId, const cdrStream&) ConnectorCallback::operator()(ConnectorId)

OnConnect系コールバック (接続に起因するイベントによりコールされる)

1種類のコールバックファンクタのシグニチャ ConnectionCallback::operator()(ConnectorProfile)

OnSender系コールバック (送信側に起因するイベントによりコールされる) 以下は、パブリッシャが存在する接続、すなわち dataflow type = push のときのみ有効。

OnReceiver系コールバック (受信側に起因するイベントによりコールされる) 以下は、パブリッシャが存在する接続、すなわち dataflow type = push のときのみ有効。

から:
0.2.0

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

template<class DataType >
RTC::OutPort< DataType >::OutPort ( const char *  name,
DataType &  value 
) [inline]

コンストラクタ

コンストラクタ

引数:
name ポート名
value このポートにバインドされるデータ変数
length バッファ長(デフォルト値:8)
template<class DataType >
virtual RTC::OutPort< DataType >::~OutPort ( void   )  [inline, virtual]

デストラクタ


関数

template<class DataType >
DataPortStatus::Enum RTC::OutPort< DataType >::getStatus ( int  index  )  [inline]

特定のコネクタへの書き込みステータスを得る

OutPort は接続ごとに Connector と呼ばれる仮想データチャネルを持 つ。write() 関数はこれら Connector に対してデータを書き込むが、 各 Connector は書き込みごとにステータスを返す。write() 関数では、 すべての Connector が正常終了したときのみ true を返し、それ以外 では false を返却する。この関数は write() が false の場合ステー タスを調べるのに使用することができる。

引数:
index Connector の index
戻り値:
ステータス
template<class DataType >
DataPortStatusList RTC::OutPort< DataType >::getStatusList (  )  [inline]

特定のコネクタへの書き込みステータスリストを得る

OutPort は接続ごとに Connector と呼ばれる仮想データチャネルを持 つ。write() 関数はこれら Connector に対してデータを書き込むが、 各 Connector は書き込みごとにステータスを返す。write() 関数では、 すべての Connector が正常終了したときのみ true を返し、それ以外 では false を返却する。この関数は write() が false の場合ステー タスを調べるのに使用することができる。

戻り値:
ステータスリスト
template<class DataType >
bool RTC::OutPort< DataType >::operator<< ( DataType &  value  )  [inline]

データ書き込み

ポートへデータを書き込む。 設定された値をポートに書き込む。

引数:
value 書き込み対象データ
戻り値:
書き込み処理結果(書き込み成功:true、書き込み失敗:false)

参照先 RTC::OutPort< DataType >::write().

template<class DataType >
void RTC::OutPort< DataType >::setOnWrite ( OnWrite< DataType > *  on_write  )  [inline]

OnWrite コールバックの設定.

write() 呼び出し時に、各コネクタに対してデータを書き込む直前に呼 ばれる OnWrite コールバックファンクタを設定する。この関数により 設定されたファンクタオブジェクトの所有権は、呼び出し側が持つ。し たがっ const て、このファンクタオブジェクトの解体責任は呼び出し側にある。 ファンクタの設定を解除する場合には引数に 0 を渡すことで、コール バックが無効となる。

引数:
on_write OnWrite コールバックファンクタ
template<class DataType >
void RTC::OutPort< DataType >::setOnWriteConvert ( OnWriteConvert< DataType > *  on_wconvert  )  [inline]

OnWriteConvert コールバックの設定.

write() 呼び出し時に、各コネクタに対してデータを書き込み直前に呼 ばれ、データ変換を行う OnWriteConvert コールバックファンクタを設 定する。引数に直近で書き込まれたデータが与えられ、戻り値に実際に コネクタまたはバッファに書き込まれるデータを返すファンクタを設定 する。この関数により設定されたファンクタオブジェクトの所有権は、 呼び出し側が持つ。したがっ const て、このファンクタオブジェクト の解体責任は呼び出し側にある。ファンクタの設定を解除する場合には 引数に 0 を渡すことで、コールバックが無効となる。 データ書き込み 時に呼ばれる OnWriteConvert コールバックファンクタを設定する。こ のコールバック関数の処理結果が書き込まれる。このため書き込みデー タのフィルタリングが可能となる。

引数:
on_wconvert OnWriteConvert コールバックファンクタ
template<class DataType >
bool RTC::OutPort< DataType >::write (  )  [inline, virtual]

データ書き込み

ポートへデータを書き込む。 バインドされた変数に設定された値をポートに書き込む。

戻り値:
書き込み処理結果(書き込み成功:true、書き込み失敗:false)

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

参照元 RTC::OutPort< DataType >::operator<<().

template<class DataType >
virtual bool RTC::OutPort< DataType >::write ( DataType &  value  )  [inline, virtual]

データ書き込み

ポートへデータを書き込む。

  • コールバックファンクタ OnWrite がセットされている場合、 OutPort が保持するバッファに書き込む前に OnWrite が呼ばれる。
  • OutPort が保持するバッファがオーバーフローを検出できるバッファであり、 かつ、書き込む際にバッファがオーバーフローを検出した場合、 コールバックファンクタ OnOverflow が呼ばれる。
  • コールバックファンクタ OnWriteConvert がセットされている場合、 バッファ書き込み時に、 OnWriteConvert の operator() の戻り値が バッファに書き込まれる。
引数:
value 書き込み対象データ
戻り値:
書き込み処理結果(書き込み成功:true、書き込み失敗:false)

参照先 RTC::DataPortStatus::CONNECTION_LOST, RTC::PortBase::disconnect(), RTC::PortBase::findConnProfile(), CORBA_SeqUtil::for_each(), RTC::OutPortBase::m_connectors, RTC::PortBase::m_connectorsMutex, RTC::PortBase::m_onConnectionLost, RTC::DataPortStatus::PORT_OK, RTC_DEBUG, RTC_TRACE, と RTC_WARN.

OpenRTMに対してFri Mar 11 00:00:51 2011に生成されました。  doxygen 1.6.3