00001 // -*- C++ -*- 00002 // $Id: AMH_DSI_Response_Handler.inl 79819 2007-10-22 03:35:40Z mesnier_p $ 00003 00004 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00005 00006 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00007 TAO_AMH_DSI_Response_Handler::_duplicate (TAO_AMH_DSI_Response_Handler_ptr x) 00008 { 00009 if (x != 0) 00010 { 00011 x->_add_ref (); 00012 } 00013 00014 return x; 00015 } 00016 00017 00018 // Inline operations for class TAO_AMH_DSI_Response_Handler_var 00019 ACE_INLINE 00020 TAO_AMH_DSI_Response_Handler_var::TAO_AMH_DSI_Response_Handler_var (void) 00021 : ptr_ (TAO_AMH_DSI_Response_Handler::_nil ()) 00022 { 00023 } 00024 00025 ACE_INLINE 00026 TAO_AMH_DSI_Response_Handler_var::TAO_AMH_DSI_Response_Handler_var (TAO_AMH_DSI_Response_Handler_ptr p) 00027 : ptr_ (p) 00028 {} 00029 00030 ACE_INLINE 00031 TAO_AMH_DSI_Response_Handler_var::~TAO_AMH_DSI_Response_Handler_var (void) 00032 { 00033 CORBA::release(ptr_); 00034 } 00035 00036 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00037 TAO_AMH_DSI_Response_Handler_var::ptr (void) const 00038 { 00039 return this->ptr_; 00040 } 00041 00042 ACE_INLINE 00043 TAO_AMH_DSI_Response_Handler_var::TAO_AMH_DSI_Response_Handler_var (const TAO_AMH_DSI_Response_Handler_var &p) 00044 : ptr_ (TAO_AMH_DSI_Response_Handler::_duplicate (p.ptr ())) 00045 {} 00046 00047 ACE_INLINE TAO_AMH_DSI_Response_Handler_var & 00048 TAO_AMH_DSI_Response_Handler_var::operator= (TAO_AMH_DSI_Response_Handler_ptr p) 00049 { 00050 CORBA::release (this->ptr_); 00051 this->ptr_ = p; 00052 return *this; 00053 } 00054 00055 ACE_INLINE TAO_AMH_DSI_Response_Handler_var & 00056 TAO_AMH_DSI_Response_Handler_var::operator= (const TAO_AMH_DSI_Response_Handler_var &p) 00057 { 00058 if (this != &p) 00059 { 00060 CORBA::release (this->ptr_); 00061 this->ptr_ = TAO_AMH_DSI_Response_Handler::_duplicate (p.ptr ()); 00062 } 00063 return *this; 00064 } 00065 00066 ACE_INLINE 00067 TAO_AMH_DSI_Response_Handler_var::operator const TAO_AMH_DSI_Response_Handler_ptr &() const 00068 { 00069 return this->ptr_; 00070 } 00071 00072 ACE_INLINE 00073 TAO_AMH_DSI_Response_Handler_var::operator TAO_AMH_DSI_Response_Handler_ptr &() 00074 { 00075 return this->ptr_; 00076 } 00077 00078 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00079 TAO_AMH_DSI_Response_Handler_var::operator-> (void) const 00080 { 00081 return this->ptr_; 00082 } 00083 00084 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00085 TAO_AMH_DSI_Response_Handler_var::in (void) const 00086 { 00087 return this->ptr_; 00088 } 00089 00090 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr & 00091 TAO_AMH_DSI_Response_Handler_var::inout (void) 00092 { 00093 return this->ptr_; 00094 } 00095 00096 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr & 00097 TAO_AMH_DSI_Response_Handler_var::out (void) 00098 { 00099 CORBA::release (this->ptr_); 00100 this->ptr_ = TAO_AMH_DSI_Response_Handler::_nil (); 00101 return this->ptr_; 00102 } 00103 00104 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00105 TAO_AMH_DSI_Response_Handler_var::_retn (void) 00106 { 00107 // yield ownership 00108 TAO_AMH_DSI_Response_Handler_ptr val = this->ptr_; 00109 this->ptr_ = TAO_AMH_DSI_Response_Handler::_nil (); 00110 return val; 00111 } 00112 TAO_END_VERSIONED_NAMESPACE_DECL