diff options
author | pgontla <pgontla@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-14 22:50:06 +0000 |
---|---|---|
committer | pgontla <pgontla@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-14 22:50:06 +0000 |
commit | 56c33f32eeeb399204249240b654feb515dd8297 (patch) | |
tree | 0f17cbffd3dd486cb53bdfd668403e389211b18e /TAO/tao/PortableInterceptorC.i | |
parent | b9dc9d9b80151b37b7d6e431a6025308ec113d98 (diff) | |
download | ATCD-56c33f32eeeb399204249240b654feb515dd8297.tar.gz |
ChangeLogTag: Mon Jan 14 14:41:17 2002 Priyanka Gontla <pgontla@ece.uci.edu>
Diffstat (limited to 'TAO/tao/PortableInterceptorC.i')
-rw-r--r-- | TAO/tao/PortableInterceptorC.i | 812 |
1 files changed, 812 insertions, 0 deletions
diff --git a/TAO/tao/PortableInterceptorC.i b/TAO/tao/PortableInterceptorC.i index ddc96f25a4f..46eee27070b 100644 --- a/TAO/tao/PortableInterceptorC.i +++ b/TAO/tao/PortableInterceptorC.i @@ -377,6 +377,413 @@ tao_PortableInterceptor_ServerRequestInterceptor_upcast ( #endif /* end #if !defined */ +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory::ObjectReferenceFactory () // default constructor +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory::~ObjectReferenceFactory () // destructor +{} + +ACE_INLINE const char* +PortableInterceptor::ObjectReferenceFactory::_tao_obv_static_repository_id () +{ + return "IDL:PortableInterceptor/ObjectReferenceFactory:1.0"; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate::ObjectReferenceTemplate () // default constructor +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate::~ObjectReferenceTemplate () // destructor +{} + +ACE_INLINE const char* +PortableInterceptor::ObjectReferenceTemplate::_tao_obv_static_repository_id () +{ + return "IDL:PortableInterceptor/ObjectReferenceTemplate:1.0"; +} + + +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + +#if !defined (__TAO_UNBOUNDED_VALUETYPE_SEQUENCE_PORTABLEINTERCEPTOR_OBJECTREFERENCETEMPLATESEQ_CI_) +#define __TAO_UNBOUNDED_VALUETYPE_SEQUENCE_PORTABLEINTERCEPTOR_OBJECTREFERENCETEMPLATESEQ_CI_ + +ACE_INLINE PortableInterceptor::ObjectReferenceTemplate ** +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (CORBA::ULong nelems) +{ + PortableInterceptor::ObjectReferenceTemplate **buf = 0; + + ACE_NEW_RETURN (buf, PortableInterceptor::ObjectReferenceTemplate*[nelems], 0); + + for (CORBA::ULong i = 0; i < nelems; i++) + { + buf[i] = 0; + } + + return buf; +} + +ACE_INLINE void +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::freebuf (PortableInterceptor::ObjectReferenceTemplate **buffer) +{ + if (buffer == 0) + return; + delete[] buffer; +} + +ACE_INLINE +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq (void) +{ +} + +ACE_INLINE +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq (CORBA::ULong maximum) + : TAO_Unbounded_Base_Sequence (maximum, _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (maximum)) +{ +} + +ACE_INLINE +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq (CORBA::ULong maximum, + CORBA::ULong length, + PortableInterceptor::ObjectReferenceTemplate* *value, + CORBA::Boolean release) +: TAO_Unbounded_Base_Sequence (maximum, length, value, release) +{ +} + +ACE_INLINE +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq(const _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq &rhs) + : TAO_Unbounded_Base_Sequence (rhs) +{ + if (rhs.buffer_ != 0) + { + PortableInterceptor::ObjectReferenceTemplate **tmp1 = _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (this->maximum_); + PortableInterceptor::ObjectReferenceTemplate ** const tmp2 = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate ** ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < rhs.length_; ++i) + { + if (tmp2[i] != 0) + tmp2[i]->_add_ref (); + tmp1[i] = tmp2 [i]; + } + + this->buffer_ = tmp1; + } + else + { + this->buffer_ = 0; + } +} + +ACE_INLINE PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq & +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::operator= (const _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq &rhs) +{ + if (this == &rhs) + return *this; + + if (this->release_) + { + PortableInterceptor::ObjectReferenceTemplate **tmp = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate **, this->buffer_); + + for (CORBA::ULong i = 0; i < this->length_; ++i) + { + if (tmp[i] != 0) + tmp[i]->_remove_ref (); + tmp[i] = 0; + } + if (this->maximum_ < rhs.maximum_) + { + _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::freebuf (tmp); + this->buffer_ = _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (rhs.maximum_); + } + } + else + this->buffer_ = _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (rhs.maximum_); + + TAO_Unbounded_Base_Sequence::operator= (rhs); + + PortableInterceptor::ObjectReferenceTemplate **tmp1 = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate **, this->buffer_); + PortableInterceptor::ObjectReferenceTemplate ** const tmp2 = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate ** ACE_CAST_CONST, rhs.buffer_); + + for (CORBA::ULong i = 0; i < rhs.length_; ++i) + { + if (tmp2[i] != 0) + tmp2[i]->_add_ref (); + tmp1[i] = tmp2 [i]; + } + + return *this; +} + +ACE_INLINE TAO_Valuetype_Manager<PortableInterceptor::ObjectReferenceTemplate,PortableInterceptor::ObjectReferenceTemplate_var> +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::operator[] (CORBA::ULong index) const +// read-write accessor +{ + ACE_ASSERT (index < this->maximum_); + PortableInterceptor::ObjectReferenceTemplate ** const tmp = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate ** ACE_CAST_CONST, this->buffer_); + return TAO_Valuetype_Manager<PortableInterceptor::ObjectReferenceTemplate,PortableInterceptor::ObjectReferenceTemplate_var> (tmp + index, this->release_); +} + +ACE_INLINE PortableInterceptor::ObjectReferenceTemplate* * +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::get_buffer (CORBA::Boolean orphan) +{ + PortableInterceptor::ObjectReferenceTemplate **result = 0; + if (orphan == 0) + { + // We retain ownership. + if (this->buffer_ == 0) + { + result = _TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::allocbuf (this->maximum_); + this->buffer_ = result; + this->release_ = 1; + } + else + { + result = ACE_reinterpret_cast (PortableInterceptor::ObjectReferenceTemplate**, this->buffer_); + } + } + else // if (orphan == 1) + { + if (this->release_ != 0) + { + // We set the state back to default and relinquish + // ownership. + result = ACE_reinterpret_cast(PortableInterceptor::ObjectReferenceTemplate**,this->buffer_); + this->maximum_ = 0; + this->length_ = 0; + this->buffer_ = 0; + this->release_ = 0; + } + } + return result; +} + +ACE_INLINE const PortableInterceptor::ObjectReferenceTemplate* * +PortableInterceptor::_TAO_Unbounded_Valuetype_Sequence_PortableInterceptor_ObjectReferenceTemplateSeq::get_buffer (void) const +{ + return ACE_reinterpret_cast(const PortableInterceptor::ObjectReferenceTemplate ** ACE_CAST_CONST, this->buffer_); +} + + +#endif /* end #if !defined */ + + +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + +#if !defined (_PORTABLEINTERCEPTOR_OBJECTREFERENCETEMPLATESEQ_CI_) +#define _PORTABLEINTERCEPTOR_OBJECTREFERENCETEMPLATESEQ_CI_ + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceTemplateSeq_var +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::ObjectReferenceTemplateSeq_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::ObjectReferenceTemplateSeq_var (ObjectReferenceTemplateSeq *p) + : ptr_ (p) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::ObjectReferenceTemplateSeq_var (const ::PortableInterceptor::ObjectReferenceTemplateSeq_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, ::PortableInterceptor::ObjectReferenceTemplateSeq (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::~ObjectReferenceTemplateSeq_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE PortableInterceptor::ObjectReferenceTemplateSeq_var & +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator= (ObjectReferenceTemplateSeq *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq_var & +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator= (const ::PortableInterceptor::ObjectReferenceTemplateSeq_var &p) +{ + if (this != &p) + { + if (p.ptr_ == 0) + { + delete this->ptr_; + this->ptr_ = 0; + } + else + { + ObjectReferenceTemplateSeq *deep_copy = + new ObjectReferenceTemplateSeq (*p.ptr_); + + if (deep_copy != 0) + { + ObjectReferenceTemplateSeq *tmp = deep_copy; + deep_copy = this->ptr_; + this->ptr_ = tmp; + delete deep_copy; + } + } + } + + return *this; +} + +ACE_INLINE const ::PortableInterceptor::ObjectReferenceTemplateSeq * +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq * +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator const ::PortableInterceptor::ObjectReferenceTemplateSeq &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator ::PortableInterceptor::ObjectReferenceTemplateSeq &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator ::PortableInterceptor::ObjectReferenceTemplateSeq &() const // cast +{ + return *this->ptr_; +} + +// variable-size types only +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator ::PortableInterceptor::ObjectReferenceTemplateSeq *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE TAO_Valuetype_Manager<PortableInterceptor::ObjectReferenceTemplate, PortableInterceptor::ObjectReferenceTemplate_var> +PortableInterceptor::ObjectReferenceTemplateSeq_var::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + +ACE_INLINE const ::PortableInterceptor::ObjectReferenceTemplateSeq & +PortableInterceptor::ObjectReferenceTemplateSeq_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq & +PortableInterceptor::ObjectReferenceTemplateSeq_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq *& +PortableInterceptor::ObjectReferenceTemplateSeq_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq * +PortableInterceptor::ObjectReferenceTemplateSeq_var::_retn (void) +{ + ::PortableInterceptor::ObjectReferenceTemplateSeq *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq * +PortableInterceptor::ObjectReferenceTemplateSeq_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceTemplateSeq_out +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_out::ObjectReferenceTemplateSeq_out (ObjectReferenceTemplateSeq *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_out::ObjectReferenceTemplateSeq_out (ObjectReferenceTemplateSeq_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_out::ObjectReferenceTemplateSeq_out (const ::PortableInterceptor::ObjectReferenceTemplateSeq_out &p) // copy constructor + : ptr_ (ACE_const_cast (ObjectReferenceTemplateSeq_out&, p).ptr_) +{} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq_out & +PortableInterceptor::ObjectReferenceTemplateSeq_out::operator= (const ::PortableInterceptor::ObjectReferenceTemplateSeq_out &p) +{ + this->ptr_ = ACE_const_cast (ObjectReferenceTemplateSeq_out&, p).ptr_; + return *this; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq_out & +PortableInterceptor::ObjectReferenceTemplateSeq_out::operator= (ObjectReferenceTemplateSeq *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplateSeq_out::operator ::PortableInterceptor::ObjectReferenceTemplateSeq *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq *& +PortableInterceptor::ObjectReferenceTemplateSeq_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE ::PortableInterceptor::ObjectReferenceTemplateSeq * +PortableInterceptor::ObjectReferenceTemplateSeq_out::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE TAO_Valuetype_Manager<PortableInterceptor::ObjectReferenceTemplate, PortableInterceptor::ObjectReferenceTemplate_var> +PortableInterceptor::ObjectReferenceTemplateSeq_out::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + + +#endif /* end #if !defined */ + #if !defined (_PORTABLEINTERCEPTOR_IORINFO___CI_) #define _PORTABLEINTERCEPTOR_IORINFO___CI_ @@ -679,3 +1086,408 @@ ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &,PortableInterceptor::Invali return 1; } +//@@ Boris: begin experimental +TAO_NAMESPACE CORBA +{ + void add_ref (PortableInterceptor::ObjectReferenceFactory *); + void remove_ref (PortableInterceptor::ObjectReferenceFactory *); +} +TAO_NAMESPACE_CLOSE +//@@ Boris: end experimental + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableInterceptor::ObjectReferenceFactory *); +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &, PortableInterceptor::ObjectReferenceFactory *&); +//@@ Boris: begin experimental +TAO_NAMESPACE CORBA +{ + void add_ref (PortableInterceptor::ObjectReferenceTemplate *); + void remove_ref (PortableInterceptor::ObjectReferenceTemplate *); +} +TAO_NAMESPACE_CLOSE +//@@ Boris: end experimental + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &, const PortableInterceptor::ObjectReferenceTemplate *); +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &, PortableInterceptor::ObjectReferenceTemplate *&); + +#if !defined _TAO_CDR_OP_PortableInterceptor_ObjectReferenceTemplateSeq_I_ +#define _TAO_CDR_OP_PortableInterceptor_ObjectReferenceTemplateSeq_I_ + +CORBA::Boolean TAO_Export operator<< ( + TAO_OutputCDR &, + const PortableInterceptor::ObjectReferenceTemplateSeq & + ); +CORBA::Boolean TAO_Export operator>> ( + TAO_InputCDR &, + PortableInterceptor::ObjectReferenceTemplateSeq & + ); + +#endif /* _TAO_CDR_OP_PortableInterceptor_ObjectReferenceTemplateSeq_I_ */ + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceFactory_var +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::ObjectReferenceFactory_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::ObjectReferenceFactory_var (ObjectReferenceFactory* p) + : ptr_ (p) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::ObjectReferenceFactory_var (const ObjectReferenceFactory* p) + : ptr_ (ACE_const_cast(ObjectReferenceFactory*, p)) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* +PortableInterceptor::ObjectReferenceFactory_var::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::ObjectReferenceFactory_var (const ObjectReferenceFactory_var &p) // copy constructor +{ + CORBA::add_ref (p.ptr ()); + this->ptr_ = p.ptr (); +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::~ObjectReferenceFactory_var (void) // destructor +{ + CORBA::remove_ref (this->ptr_); +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var & +PortableInterceptor::ObjectReferenceFactory_var::operator= (ObjectReferenceFactory* p) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = p; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var & +PortableInterceptor::ObjectReferenceFactory_var::operator= (const ObjectReferenceFactory_var &p) +{ + if (this != &p) + { + CORBA::remove_ref (this->ptr_); + ObjectReferenceFactory* tmp = p.ptr (); + CORBA::add_ref (tmp); + this->ptr_ = tmp; + } + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::operator const PortableInterceptor::ObjectReferenceFactory* () const // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_var::operator PortableInterceptor::ObjectReferenceFactory* () // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* +PortableInterceptor::ObjectReferenceFactory_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* +PortableInterceptor::ObjectReferenceFactory_var::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* & +PortableInterceptor::ObjectReferenceFactory_var::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* & +PortableInterceptor::ObjectReferenceFactory_var::out (void) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* +PortableInterceptor::ObjectReferenceFactory_var::_retn (void) +{ + // yield ownership of managed obj reference + ObjectReferenceFactory* tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceFactory_out +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out::ObjectReferenceFactory_out (ObjectReferenceFactory* &p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out::ObjectReferenceFactory_out (ObjectReferenceFactory_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out::ObjectReferenceFactory_out (const ObjectReferenceFactory_out &p) // copy constructor + : ptr_ (ACE_const_cast (ObjectReferenceFactory_out&,p).ptr_) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out & +PortableInterceptor::ObjectReferenceFactory_out::operator= (const ObjectReferenceFactory_out &p) +{ + this->ptr_ = ACE_const_cast (ObjectReferenceFactory_out&,p).ptr_; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out & +PortableInterceptor::ObjectReferenceFactory_out::operator= (const ObjectReferenceFactory_var &p) +{ + ObjectReferenceFactory* tmp = p.ptr (); + CORBA::add_ref (tmp); + this->ptr_ = tmp; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out & +PortableInterceptor::ObjectReferenceFactory_out::operator= (ObjectReferenceFactory* p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory_out::operator PortableInterceptor::ObjectReferenceFactory* &() // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* & +PortableInterceptor::ObjectReferenceFactory_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceFactory* +PortableInterceptor::ObjectReferenceFactory_out::operator-> (void) +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceTemplate_var +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::ObjectReferenceTemplate_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::ObjectReferenceTemplate_var (ObjectReferenceTemplate* p) + : ptr_ (p) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::ObjectReferenceTemplate_var (const ObjectReferenceTemplate* p) + : ptr_ (ACE_const_cast(ObjectReferenceTemplate*, p)) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* +PortableInterceptor::ObjectReferenceTemplate_var::ptr (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::ObjectReferenceTemplate_var (const ObjectReferenceTemplate_var &p) // copy constructor +{ + CORBA::add_ref (p.ptr ()); + this->ptr_ = p.ptr (); +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::~ObjectReferenceTemplate_var (void) // destructor +{ + CORBA::remove_ref (this->ptr_); +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var & +PortableInterceptor::ObjectReferenceTemplate_var::operator= (ObjectReferenceTemplate* p) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = p; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var & +PortableInterceptor::ObjectReferenceTemplate_var::operator= (const ObjectReferenceTemplate_var &p) +{ + if (this != &p) + { + CORBA::remove_ref (this->ptr_); + ObjectReferenceTemplate* tmp = p.ptr (); + CORBA::add_ref (tmp); + this->ptr_ = tmp; + } + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::operator const PortableInterceptor::ObjectReferenceTemplate* () const // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_var::operator PortableInterceptor::ObjectReferenceTemplate* () // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* +PortableInterceptor::ObjectReferenceTemplate_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* +PortableInterceptor::ObjectReferenceTemplate_var::in (void) const +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* & +PortableInterceptor::ObjectReferenceTemplate_var::inout (void) +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* & +PortableInterceptor::ObjectReferenceTemplate_var::out (void) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* +PortableInterceptor::ObjectReferenceTemplate_var::_retn (void) +{ + // yield ownership of managed obj reference + ObjectReferenceTemplate* tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +// ************************************************************* +// Inline operations for class PortableInterceptor::ObjectReferenceTemplate_out +// ************************************************************* + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out::ObjectReferenceTemplate_out (ObjectReferenceTemplate* &p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out::ObjectReferenceTemplate_out (ObjectReferenceTemplate_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + CORBA::remove_ref (this->ptr_); + this->ptr_ = 0; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out::ObjectReferenceTemplate_out (const ObjectReferenceTemplate_out &p) // copy constructor + : ptr_ (ACE_const_cast (ObjectReferenceTemplate_out&,p).ptr_) +{} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out & +PortableInterceptor::ObjectReferenceTemplate_out::operator= (const ObjectReferenceTemplate_out &p) +{ + this->ptr_ = ACE_const_cast (ObjectReferenceTemplate_out&,p).ptr_; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out & +PortableInterceptor::ObjectReferenceTemplate_out::operator= (const ObjectReferenceTemplate_var &p) +{ + ObjectReferenceTemplate* tmp = p.ptr (); + CORBA::add_ref (tmp); + this->ptr_ = tmp; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out & +PortableInterceptor::ObjectReferenceTemplate_out::operator= (ObjectReferenceTemplate* p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate_out::operator PortableInterceptor::ObjectReferenceTemplate* &() // cast +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* & +PortableInterceptor::ObjectReferenceTemplate_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE +PortableInterceptor::ObjectReferenceTemplate* +PortableInterceptor::ObjectReferenceTemplate_out::operator-> (void) +{ + return this->ptr_; +} + |