OpenRTM
1.0.0
|
#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 コールバックの設定 [詳細] | |
![]() | |
OutPortBase (const char *name, const char *data_type) | |
コンストラクタ [詳細] | |
virtual | ~OutPortBase (void) |
デストラクタ [詳細] | |
void | init (coil::Properties &prop) |
プロパティの初期化 [詳細] | |
coil::Properties & | properties () |
プロパティを取得する [詳細] | |
const std::vector < OutPortConnector * > & | connectors () |
Connector を取得 [詳細] | |
ConnectorInfoList | getConnectorProfiles () |
ConnectorProfile を取得 [詳細] | |
coil::vstring | getConnectorIds () |
ConnectorId を取得 [詳細] | |
coil::vstring | getConnectorNames () |
Connectorの名前を取得 [詳細] | |
OutPortConnector * | getConnectorById (const char *id) |
ConnectorProfileをIDで取得 [詳細] | |
OutPortConnector * | getConnectorByName (const char *name) |
ConnectorProfileを名前で取得 [詳細] | |
bool | getConnectorProfileById (const char *id, ConnectorInfo &prof) |
ConnectorProfileをIDで取得 [詳細] | |
bool | getConnectorProfileByName (const char *name, ConnectorInfo &prof) |
ConnectorProfileを名前で取得 [詳細] | |
virtual void | activateInterfaces () |
全ての Port のインターフェースを activate する [詳細] | |
virtual void | deactivateInterfaces () |
全ての Port のインターフェースを deactivate する [詳細] | |
void | addConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener, bool autoclean=true) |
ConnectorDataListener リスナを追加する [詳細] | |
void | removeConnectorDataListener (ConnectorDataListenerType listener_type, ConnectorDataListener *listener) |
ConnectorDataListener リスナを削除する [詳細] | |
void | addConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener, bool autoclean=true) |
ConnectorListener リスナを追加する [詳細] | |
void | removeConnectorListener (ConnectorListenerType callback_type, ConnectorListener *listener) |
ConnectorDataListener リスナを削除する [詳細] | |
bool | isLittleEndian () |
endian 設定を返す [詳細] | |
virtual ReturnCode_t | connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Port の接続を行う [詳細] | |
![]() | |
PortBase (const char *name="") | |
コンストラクタ [詳細] | |
virtual | ~PortBase (void) |
デストラクタ [詳細] | |
virtual PortProfile * | get_port_profile () throw (CORBA::SystemException) |
[CORBA interface] PortProfileを取得する [詳細] | |
const PortProfile & | getPortProfile () const |
PortProfile を取得する。 [詳細] | |
virtual ConnectorProfileList * | get_connector_profiles () throw (CORBA::SystemException) |
[CORBA interface] ConnectorProfileListを取得する [詳細] | |
virtual ConnectorProfile * | get_connector_profile (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] ConnectorProfile を取得する [詳細] | |
virtual ReturnCode_t | notify_connect (ConnectorProfile &connector_profile) throw (CORBA::SystemException) |
[CORBA interface] Port の接続通知を行う [詳細] | |
virtual ReturnCode_t | disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Port の接続を解除する [詳細] | |
virtual ReturnCode_t | notify_disconnect (const char *connector_id) throw (CORBA::SystemException) |
[CORBA interface] Port の接続解除通知を行う [詳細] | |
virtual ReturnCode_t | disconnect_all () throw (CORBA::SystemException) |
[CORBA interface] Port の全接続を解除する [詳細] | |
void | setName (const char *name) |
Port の名前を設定する [詳細] | |
const char * | getName () const |
Port の名前を取得する [詳細] | |
const PortProfile & | getProfile () const |
PortProfileを取得する [詳細] | |
void | setPortRef (PortService_ptr port_ref) |
Port のオブジェクト参照を設定する [詳細] | |
PortService_ptr | getPortRef () |
Port のオブジェクト参照を取得する [詳細] | |
void | setOwner (RTObject_ptr owner) |
Port の owner の RTObject を指定する [詳細] | |
void | setOnPublishInterfaces (ConnectionCallback *on_publish) |
インターフェースを公開する際に呼ばれるコールバックをセットする [詳細] | |
void | setOnSubscribeInterfaces (ConnectionCallback *on_subscribe) |
インターフェースを取得する際に呼ばれるコールバックをセットする [詳細] | |
void | setOnConnected (ConnectionCallback *on_connected) |
接続完了時に呼ばれるコールバックをセットする [詳細] | |
void | setOnUnsubscribeInterfaces (ConnectionCallback *on_subscribe) |
インターフェースを解放する際に呼ばれるコールバックをセットする [詳細] | |
void | setOnDisconnected (ConnectionCallback *on_disconnected) |
接続解除に呼ばれるコールバックをセットする [詳細] | |
void | setOnConnectionLost (ConnectionCallback *on_connection_lost) |
ポートの接続がロストした場合に呼び出されるコールバックをセットする [詳細] | |
void | setPortConnectListenerHolder (PortConnectListeners *portconnListeners) |
PortConnectListeners のホルダをセットする [詳細] | |
Additional Inherited Members | |
![]() | |
enum | Enum { PORT_OK = 0, PORT_ERROR, BUFFER_ERROR, BUFFER_FULL, BUFFER_EMPTY, BUFFER_TIMEOUT, SEND_FULL, SEND_TIMEOUT, RECV_EMPTY, RECV_TIMEOUT, INVALID_ARGS, PRECONDITION_NOT_MET, CONNECTION_LOST, UNKNOWN_ERROR } |
![]() | |
static const char * | toString (DataPortStatus::Enum status) |
DataPortStatus リターンコードを文字列に変換 [詳細] | |
![]() | |
DATAPORTSTATUS_ENUM typedef std::vector< OutPortConnector * > | ConnectorList |
![]() | |
typedef coil::Guard< coil::Mutex > | Guard |
![]() | |
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 の初期化 [詳細] | |
bool | checkEndian (const coil::Properties &prop, bool &littleEndian) |
シリアライザのエンディアンをチェックする [詳細] | |
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 の生成 [詳細] | |
![]() | |
coil::Properties | m_properties |
プロパティ [詳細] | |
std::vector< OutPortConnector * > | m_connectors |
接続リスト [詳細] | |
coil::vstring | m_providerTypes |
利用可能provider [詳細] | |
coil::vstring | m_consumerTypes |
利用可能consumer [詳細] | |
bool | m_littleEndian |
接続エンディアン [詳細] | |
ConnectorListeners | m_listeners |
ConnectorDataListener リスナ [詳細] | |
OutPort テンプレートクラス
OutPort テンプレートクラス、テンプレートの引数として、OutPortが 扱うデータ型 DataType をとる。
OnWrite系コールバック (書込みに起因するイベントによりコールされる)
|
inline |
コンストラクタ
コンストラクタ
name | ポート名 |
value | このポートにバインドされるデータ変数 |
length | バッファ長(デフォルト値:8) |
|
inlinevirtual |
デストラクタ
|
inline |
|
inline |
|
inline |
データ書き込み
ポートへデータを書き込む。 設定された値をポートに書き込む。
value | 書き込み対象データ |
|
inline |
|
inline |
OnWriteConvert コールバックの設定
write() 呼び出し時に、各コネクタに対してデータを書き込み直前に呼 ばれ、データ変換を行う OnWriteConvert コールバックファンクタを設 定する。引数に直近で書き込まれたデータが与えられ、戻り値に実際に コネクタまたはバッファに書き込まれるデータを返すファンクタを設定 する。この関数により設定されたファンクタオブジェクトの所有権は、 呼び出し側が持つ。したがっ const て、このファンクタオブジェクト の解体責任は呼び出し側にある。ファンクタの設定を解除する場合には 引数に 0 を渡すことで、コールバックが無効となる。 データ書き込み 時に呼ばれる OnWriteConvert コールバックファンクタを設定する。こ のコールバック関数の処理結果が書き込まれる。このため書き込みデー タのフィルタリングが可能となる。
on_wconvert | OnWriteConvert コールバックファンクタ |
|
inlinevirtual |
データ書き込み
ポートへデータを書き込む。
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.
|
inlinevirtual |
データ書き込み
ポートへデータを書き込む。 バインドされた変数に設定された値をポートに書き込む。
RTC::OutPortBaseを実装しています。