diff options
author | bala <balanatarajan@users.noreply.github.com> | 2003-07-01 03:30:58 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2003-07-01 03:30:58 +0000 |
commit | c4218b9725988b4e1061155c3616477a46d8425c (patch) | |
tree | 7b247d1ef21c897401827a3d90d41e82d2fdd8d6 /TAO/tao/Objref_VarOut_T.cpp | |
parent | d1f4ec89b4761404ac8678402752bf65eaa60485 (diff) | |
download | ATCD-c4218b9725988b4e1061155c3616477a46d8425c.tar.gz |
ChangeLogTag:Mon Jun 30 22:29:51 2003 Balachandran Natarajan <bala@dre.vanderbilt.edu>refactor-stage4
Diffstat (limited to 'TAO/tao/Objref_VarOut_T.cpp')
-rw-r--r-- | TAO/tao/Objref_VarOut_T.cpp | 66 |
1 files changed, 51 insertions, 15 deletions
diff --git a/TAO/tao/Objref_VarOut_T.cpp b/TAO/tao/Objref_VarOut_T.cpp index 4c95b48fa4d..3701176ef17 100644 --- a/TAO/tao/Objref_VarOut_T.cpp +++ b/TAO/tao/Objref_VarOut_T.cpp @@ -15,30 +15,66 @@ ACE_RCSID (tao, Objref_VarOut_T, "$Id$") +// @@@ (JP) This needs to be here temporarily until we regenerate the +// hand-crafted files. + +template<typename T> +T * +TAO::Objref_Traits<T>::tao_duplicate (T * p) +{ + return T::_duplicate (p); +} + +template<typename T> +void +TAO::Objref_Traits<T>::tao_release (T * p) +{ + CORBA::release (p); +} + +template<typename T> +T * +TAO::Objref_Traits<T>::tao_nil (void) +{ + return T::_nil (); +} + +template<typename T> +CORBA::Boolean +TAO::Objref_Traits<T>::tao_marshal (T * p, + TAO_OutputCDR & cdr) +{ + return p->marshal (cdr); +} + +// ================================================================= + template <typename T, typename T_life> TAO_Objref_Var_T<T, T_life>::TAO_Objref_Var_T (void) - : ptr_ (T_life::tao_nil ()) + : ptr_ (TAO::Objref_Traits<T>::tao_nil ()) { } template <typename T, typename T_life> -TAO_Objref_Var_T<T, T_life>::TAO_Objref_Var_T (const TAO_Objref_Var_T<T, T_life> & p) +TAO_Objref_Var_T<T, T_life>::TAO_Objref_Var_T ( + const TAO_Objref_Var_T<T, T_life> & p + ) : TAO_Base_var (), - ptr_ (T_life::tao_duplicate (p.ptr ())) + ptr_ (TAO::Objref_Traits<T>::tao_duplicate (p.ptr ())) { } template <typename T, typename T_life> TAO_Objref_Var_T<T, T_life>::~TAO_Objref_Var_T (void) { - T_life::tao_release (this->ptr_); + TAO::Objref_Traits<T>::tao_release (this->ptr_); } template <typename T, typename T_life> TAO_Objref_Var_T<T, T_life> & TAO_Objref_Var_T<T, T_life>::operator= (T * p) { - T_life::tao_release (this->ptr_); + TAO::Objref_Traits<T>::tao_release (this->ptr_); this->ptr_ = p; return *this; } @@ -51,8 +87,8 @@ TAO_Objref_Var_T<T, T_life>::operator= ( { if (this != &p) { - T_life::tao_release (this->ptr_); - this->ptr_ = T_life::tao_duplicate (p.ptr ()); + TAO::Objref_Traits<T>::tao_release (this->ptr_); + this->ptr_ = TAO::Objref_Traits<T>::tao_duplicate (p.ptr ()); } return *this; @@ -95,8 +131,8 @@ template <typename T, typename T_life> T *& TAO_Objref_Var_T<T, T_life>::out (void) { - T_life::tao_release (this->ptr_); - this->ptr_ = T_life::tao_nil (); + TAO::Objref_Traits<T>::tao_release (this->ptr_); + this->ptr_ = TAO::Objref_Traits<T>::tao_nil (); return this->ptr_; } @@ -105,7 +141,7 @@ T * TAO_Objref_Var_T<T, T_life>::_retn (void) { T * val = this->ptr_; - this->ptr_ = T_life::tao_nil (); + this->ptr_ = TAO::Objref_Traits<T>::tao_nil (); return val; } @@ -120,14 +156,14 @@ template <typename T, typename T_life> void TAO_Objref_Var_T<T, T_life>::free (void) { - T_life::tao_release (this->ptr_); + TAO::Objref_Traits<T>::tao_release (this->ptr_); } template <typename T, typename T_life> void TAO_Objref_Var_T<T, T_life>::reset (T * p) { - T_life::tao_release (this->ptr_); + TAO::Objref_Traits<T>::tao_release (this->ptr_); this->ptr_ = p; } @@ -146,8 +182,8 @@ TAO_Objref_Out_T<T, T_life>::TAO_Objref_Out_T ( ) : ptr_ (p.out ()) { - T_life::tao_release (this->ptr_); - this->ptr_ = T_life::tao_nil (); + TAO::Objref_Traits<T>::tao_release (this->ptr_); + this->ptr_ = TAO::Objref_Traits<T>::tao_nil (); } template <typename T, typename T_life> @@ -174,7 +210,7 @@ TAO_Objref_Out_T<T, T_life>::operator= ( const TAO_Objref_Var_T<T, T_life> & p ) { - this->ptr_ = T_life::tao_duplicate (p.ptr ()); + this->ptr_ = TAO::Objref_Traits<T>::tao_duplicate (p.ptr ()); return *this; } |