diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp | 127 |
1 files changed, 121 insertions, 6 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp index 9b18545640b..0b458f46647 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp @@ -114,7 +114,7 @@ TAO::SSLIOP::Current::setup (TAO::SSLIOP::Current_Impl *&prev_impl, void TAO::SSLIOP::Current::teardown (TAO::SSLIOP::Current_Impl *prev_impl, - bool &setup_done) + bool &setup_done) { if (setup_done) { @@ -193,13 +193,128 @@ tao_TAO_SSLIOP_Current_upcast ( return *tmp; } +// ************************************************************* +// Operations for class TAO::SSLIOP::Current_var +// ************************************************************* -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) +TAO::SSLIOP::Current_var::Current_var (void) // default constructor + : ptr_ (TAO::SSLIOP::Current::_nil ()) +{ +} + +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::ptr (void) const +{ + return this->ptr_; +} + +TAO::SSLIOP::Current_var::Current_var ( + const ::TAO::SSLIOP::Current_var &p) + : TAO_Base_var (), + ptr_ (TAO::SSLIOP::Current::_duplicate (p.ptr ())) +{ +} + +TAO::SSLIOP::Current_var::~Current_var (void) +{ + CORBA::release (this->ptr_); +} + +TAO::SSLIOP::Current_var & +TAO::SSLIOP::Current_var::operator= (TAO::SSLIOP::Current_ptr p) +{ + CORBA::release (this->ptr_); + this->ptr_ = p; + return *this; +} + +TAO::SSLIOP::Current_var & +TAO::SSLIOP::Current_var::operator= (const ::TAO::SSLIOP::Current_var &p) +{ + if (this != &p) + { + CORBA::release (this->ptr_); + this->ptr_ = ::TAO::SSLIOP::Current::_duplicate (p.ptr ()); + } + return *this; +} + +TAO::SSLIOP::Current_var::operator const ::TAO::SSLIOP::Current_ptr &() const +{ + return this->ptr_; +} + +TAO::SSLIOP::Current_var::operator ::TAO::SSLIOP::Current_ptr &() +{ + return this->ptr_; +} + +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::operator-> (void) const +{ + return this->ptr_; +} + +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::in (void) const +{ + return this->ptr_; +} -template class TAO_Pseudo_Var_T<TAO::SSLIOP::Current>; +::TAO::SSLIOP::Current_ptr & +TAO::SSLIOP::Current_var::inout (void) +{ + return this->ptr_; +} -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) +::TAO::SSLIOP::Current_ptr & +TAO::SSLIOP::Current_var::out (void) +{ + CORBA::release (this->ptr_); + this->ptr_ = ::TAO::SSLIOP::Current::_nil (); + return this->ptr_; +} -# pragma instantiate TAO_Pseudo_Var_T<TAO::SSLIOP::Current> +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::_retn (void) +{ + // yield ownership of managed obj reference + ::TAO::SSLIOP::Current_ptr val = this->ptr_; + this->ptr_ = ::TAO::SSLIOP::Current::_nil (); + return val; +} -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::tao_duplicate (TAO::SSLIOP::Current_ptr p) +{ + return ::TAO::SSLIOP::Current::_duplicate (p); +} + +void +TAO::SSLIOP::Current_var::tao_release (TAO::SSLIOP::Current_ptr p) +{ + CORBA::release (p); +} + +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::tao_nil (void) +{ + return ::TAO::SSLIOP::Current::_nil (); +} + +::TAO::SSLIOP::Current_ptr +TAO::SSLIOP::Current_var::tao_narrow ( + CORBA::Object *p + ACE_ENV_ARG_DECL + ) +{ + return ::TAO::SSLIOP::Current::_narrow (p ACE_ENV_ARG_PARAMETER); +} + +CORBA::Object * +TAO::SSLIOP::Current_var::tao_upcast (void *src) +{ + TAO::SSLIOP::Current **tmp = + static_cast<TAO::SSLIOP::Current **> (src); + return *tmp; +} |