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