OpenRTM-aist 2.0.2
|
オブジェクトリファレンスを保持するプレースホルダテンプレートクラス [詳解]
#include <CorbaConsumer.h>
公開メンバ関数 | |
CorbaConsumer () | |
コンストラクタ | |
CorbaConsumer (const CorbaConsumer &x) | |
コピーコンストラクタ | |
CorbaConsumer & | operator= (const CorbaConsumer &x) |
代入演算子 | |
void | swap (CorbaConsumer &x) |
~CorbaConsumer () override | |
仮想デストラクタ | |
bool | setObject (CORBA::Object_ptr obj) override |
オブジェクトをセットする | |
ObjectTypePtr | _ptr () |
ObjectType 型のオブジェクトのリファレンスを取得 | |
ObjectTypePtr | operator-> () |
ObjectType 型のオブジェクトのリファレンスを取得 | |
void | releaseObject () override |
CORBAオブジェクトの設定をクリアする | |
![]() | |
CorbaConsumerBase ()=default | |
コンストラクタ | |
CorbaConsumerBase (const CorbaConsumerBase &x) | |
コピーコンストラクタ | |
CorbaConsumerBase & | operator= (const CorbaConsumerBase &x) |
代入演算子 | |
void | swap (CorbaConsumerBase &x) |
swap関数 | |
virtual | ~CorbaConsumerBase () |
仮想デストラクタ | |
virtual CORBA::Object_ptr | getObject () |
CORBAオブジェクトを取得する | |
限定公開変数類 | |
ObjectTypeVar | m_var |
設定された CORBA オブジェクト | |
![]() | |
CORBA::Object_var | m_objref |
設定された CORBA オブジェクト | |
オブジェクトリファレンスを保持するプレースホルダテンプレートクラス
テンプレート引数で与えられた型のCORBAオブジェクトを保持する。 オブジェクトがセットされたときに、与えられた型で narrow されるので、 _ptr() で取得するリファレンスは、narrow 済みのリファレンスである。 内部的な使用のために、_ptr 型, _var型も同時にテンプレート引数として 与える必要がある。(下記注意事項参照)
注意: ObjectTypePtr = ObjectType::_ptr_type としているか、 _ptr_type は標準では規定されていない。 ただし、omniORB, TAO, MICO では、プロキシクラス内部で、 Type_ptr 型を _ptr_type に typedef しているので、 テンプレートの第2引数を指定しなくてもコンパイルは通る。
ObjectType | このホルダが保持するオブジェクトの型 |
ObjectTypePtr | このホルダが保持する _ptr 型 |
ObjectTypeVar | このホルダが保持する _var 型 |
|
default |
コンストラクタ
|
inline |
コピーコンストラクタ
x | コピー元 |
|
inlineoverride |
|
inline |
ObjectType 型のオブジェクトのリファレンスを取得
ObjectType に narrow済みのオブジェクトのリファレンスを取得する。 オブジェクトリファレンスを使用するには、setObject() でセット済みで なければならない。 オブジェクトがセットされていなければ nil オブジェクトリファレンスが 返される。
参照先 RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::m_var.
|
inline |
ObjectType 型のオブジェクトのリファレンスを取得
ObjectType に narrow済みのオブジェクトのリファレンスを取得する。 オブジェクトリファレンスを使用するには、setObject() でセット済みで なければならない。 オブジェクトがセットされていなければ nil オブジェクトリファレンスが 返される。
参照先 RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::m_var.
|
inline |
|
inlineoverridevirtual |
CORBAオブジェクトの設定をクリアする
設定されている CORBA オブジェクトをクリアする。 CORBAオブジェクトそのものに対しては何も操作しない。
RTC::CorbaConsumerBaseを再実装しています。
参照先 RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::m_var, RTC::CorbaConsumerBase::releaseObject().
参照元 RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::setObject(), RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::~CorbaConsumer().
|
inlineoverridevirtual |
オブジェクトをセットする
ConsumerBase のオーバーライド。CORBA::Object_var にオブジェクトをセット するとともに、templateパラメータの型で narrow したオブジェクトを メンバ変数に保持する。 _var 型変数を引数に渡す場合は var.in() を渡すこと。
[in] | obj | CORBA Objecct |
RTC::CorbaConsumerBaseを再実装しています。
RTC::InPortSHMConsumer, RTC::OutPortSHMConsumerで再実装されています。
参照先 RTC::CorbaConsumerBase::m_objref, RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::m_var, RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::releaseObject(), RTC::CorbaConsumerBase::setObject().
|
inline |
|
protected |
設定された CORBA オブジェクト
参照元 RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::_ptr(), RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::operator->(), RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::releaseObject(), RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::setObject(), RTC::CorbaConsumer< ObjectType, ObjectTypePtr, ObjectTypeVar >::swap().