00001 // -*- C++ -*- 00002 // $Id: AMH_DSI_Response_Handler.inl 77500 2007-03-02 18:48:30Z zhangw $ 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 } 00034 00035 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00036 TAO_AMH_DSI_Response_Handler_var::ptr (void) const 00037 { 00038 return this->ptr_; 00039 } 00040 00041 ACE_INLINE 00042 TAO_AMH_DSI_Response_Handler_var::TAO_AMH_DSI_Response_Handler_var (const TAO_AMH_DSI_Response_Handler_var &p) 00043 : ptr_ (TAO_AMH_DSI_Response_Handler::_duplicate (p.ptr ())) 00044 {} 00045 00046 ACE_INLINE TAO_AMH_DSI_Response_Handler_var & 00047 TAO_AMH_DSI_Response_Handler_var::operator= (TAO_AMH_DSI_Response_Handler_ptr p) 00048 { 00049 CORBA::release (this->ptr_); 00050 this->ptr_ = p; 00051 return *this; 00052 } 00053 00054 ACE_INLINE TAO_AMH_DSI_Response_Handler_var & 00055 TAO_AMH_DSI_Response_Handler_var::operator= (const TAO_AMH_DSI_Response_Handler_var &p) 00056 { 00057 if (this != &p) 00058 { 00059 CORBA::release (this->ptr_); 00060 this->ptr_ = TAO_AMH_DSI_Response_Handler::_duplicate (p.ptr ()); 00061 } 00062 return *this; 00063 } 00064 00065 ACE_INLINE 00066 TAO_AMH_DSI_Response_Handler_var::operator const TAO_AMH_DSI_Response_Handler_ptr &() const 00067 { 00068 return this->ptr_; 00069 } 00070 00071 ACE_INLINE 00072 TAO_AMH_DSI_Response_Handler_var::operator TAO_AMH_DSI_Response_Handler_ptr &() 00073 { 00074 return this->ptr_; 00075 } 00076 00077 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00078 TAO_AMH_DSI_Response_Handler_var::operator-> (void) const 00079 { 00080 return this->ptr_; 00081 } 00082 00083 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00084 TAO_AMH_DSI_Response_Handler_var::in (void) const 00085 { 00086 return this->ptr_; 00087 } 00088 00089 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr & 00090 TAO_AMH_DSI_Response_Handler_var::inout (void) 00091 { 00092 return this->ptr_; 00093 } 00094 00095 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr & 00096 TAO_AMH_DSI_Response_Handler_var::out (void) 00097 { 00098 CORBA::release (this->ptr_); 00099 this->ptr_ = TAO_AMH_DSI_Response_Handler::_nil (); 00100 return this->ptr_; 00101 } 00102 00103 ACE_INLINE TAO_AMH_DSI_Response_Handler_ptr 00104 TAO_AMH_DSI_Response_Handler_var::_retn (void) 00105 { 00106 // yield ownership 00107 TAO_AMH_DSI_Response_Handler_ptr val = this->ptr_; 00108 this->ptr_ = TAO_AMH_DSI_Response_Handler::_nil (); 00109 return val; 00110 } 00111 TAO_END_VERSIONED_NAMESPACE_DECL