#include <OutPort.h>
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 コールバックの設定. |
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 のときのみ有効。
RTC::OutPort< DataType >::OutPort | ( | const char * | name, | |
DataType & | value | |||
) | [inline] |
コンストラクタ
コンストラクタ
name | ポート名 | |
value | このポートにバインドされるデータ変数 | |
length | バッファ長(デフォルト値:8) |
virtual RTC::OutPort< DataType >::~OutPort | ( | void | ) | [inline, virtual] |
デストラクタ
DataPortStatus::Enum RTC::OutPort< DataType >::getStatus | ( | int | index | ) | [inline] |
DataPortStatusList RTC::OutPort< DataType >::getStatusList | ( | ) | [inline] |
bool RTC::OutPort< DataType >::operator<< | ( | DataType & | value | ) | [inline] |
データ書き込み
ポートへデータを書き込む。 設定された値をポートに書き込む。
value | 書き込み対象データ |
void RTC::OutPort< DataType >::setOnWrite | ( | OnWrite< DataType > * | on_write | ) | [inline] |
void RTC::OutPort< DataType >::setOnWriteConvert | ( | OnWriteConvert< DataType > * | on_wconvert | ) | [inline] |
OnWriteConvert コールバックの設定.
write() 呼び出し時に、各コネクタに対してデータを書き込み直前に呼 ばれ、データ変換を行う OnWriteConvert コールバックファンクタを設 定する。引数に直近で書き込まれたデータが与えられ、戻り値に実際に コネクタまたはバッファに書き込まれるデータを返すファンクタを設定 する。この関数により設定されたファンクタオブジェクトの所有権は、 呼び出し側が持つ。したがっ const て、このファンクタオブジェクト の解体責任は呼び出し側にある。ファンクタの設定を解除する場合には 引数に 0 を渡すことで、コールバックが無効となる。 データ書き込み 時に呼ばれる OnWriteConvert コールバックファンクタを設定する。こ のコールバック関数の処理結果が書き込まれる。このため書き込みデー タのフィルタリングが可能となる。
on_wconvert | OnWriteConvert コールバックファンクタ |
bool RTC::OutPort< DataType >::write | ( | ) | [inline, virtual] |
データ書き込み
ポートへデータを書き込む。 バインドされた変数に設定された値をポートに書き込む。
RTC::OutPortBaseを実装しています。
virtual bool RTC::OutPort< DataType >::write | ( | DataType & | value | ) | [inline, virtual] |
データ書き込み
ポートへデータを書き込む。
value | 書き込み対象データ |
参照先 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.