summaryrefslogtreecommitdiff
path: root/TAO/tao/Objref_VarOut_T.cpp
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2003-07-01 03:30:58 +0000
committerbala <balanatarajan@users.noreply.github.com>2003-07-01 03:30:58 +0000
commitc4218b9725988b4e1061155c3616477a46d8425c (patch)
tree7b247d1ef21c897401827a3d90d41e82d2fdd8d6 /TAO/tao/Objref_VarOut_T.cpp
parentd1f4ec89b4761404ac8678402752bf65eaa60485 (diff)
downloadATCD-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.cpp66
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;
}