diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-12-10 00:12:33 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-12-10 00:12:33 +0000 |
commit | bfca847446a661564fde0128808d992ee2964a0b (patch) | |
tree | 88ea4dc68520974eb8e02f4b5673eee7bbea9047 | |
parent | e088fcd8661a808ab82f23a275aea9e9190a8502 (diff) | |
download | ATCD-bfca847446a661564fde0128808d992ee2964a0b.tar.gz |
This commit was manufactured by cvs2svn to create branch
'pluggable_messaging'.
-rw-r--r-- | TAO/tao/GIOPC.cpp | 610 | ||||
-rw-r--r-- | TAO/tao/GIOPC.h | 426 | ||||
-rw-r--r-- | TAO/tao/GIOPC.i | 794 |
3 files changed, 1830 insertions, 0 deletions
diff --git a/TAO/tao/GIOPC.cpp b/TAO/tao/GIOPC.cpp new file mode 100644 index 00000000000..6fd506855ab --- /dev/null +++ b/TAO/tao/GIOPC.cpp @@ -0,0 +1,610 @@ +/* -*- C++ -*- $Id$ */ + +// ================================================================ +// +// = LIBRARY +// TAO +// +// = FILENAME +// GIOPC.h +// +// = DESCRIPTION +// Generated from GIOP1_2.pidl, that contains a part of the new data +// type definitions for GIOP1.2 module. +// The code was generated by the IDL compiler and then hand-crafted +// to reduce the includes interdependencies. +// hand crafted by Balachandran Natarajan <bala@cs.wustl.edu> +// ================================================================ + + +#include "tao/GIOPC.h" +#include "tao/Environment.h" +#include "tao/Any.h" + + +#if !defined (__ACE_INLINE__) +#include "GIOPC.i" +#endif /* !defined INLINE */ + + +static const CORBA::Long _oc_GIOP_AddressingDisposition[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 43, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x47494f50), ACE_NTOHL (0x2f416464), ACE_NTOHL (0x72657373), ACE_NTOHL (0x696e6744), ACE_NTOHL (0x6973706f), ACE_NTOHL (0x73697469), ACE_NTOHL (0x6f6e3a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/GIOP/AddressingDisposition:1.0 + 22, ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737369), ACE_NTOHL (0x6e674469), ACE_NTOHL (0x73706f73), ACE_NTOHL (0x6974696f), ACE_NTOHL (0x6e000000), // name = AddressingDisposition + CORBA::tk_short, + +}; +static CORBA::TypeCode _tc_TAO_tc_GIOP_AddressingDisposition (CORBA::tk_alias, sizeof (_oc_GIOP_AddressingDisposition), (char *) &_oc_GIOP_AddressingDisposition, 0, sizeof (GIOP::AddressingDisposition)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_AddressingDisposition, &_tc_TAO_tc_GIOP_AddressingDisposition) +TAO_NAMESPACE_END +TAO_NAMESPACE_TYPE (const CORBA::Short) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (const CORBA::Short, KeyAddr, 0) +TAO_NAMESPACE_END +TAO_NAMESPACE_TYPE (const CORBA::Short) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (const CORBA::Short, ProfileAddr, 1) +TAO_NAMESPACE_END +TAO_NAMESPACE_TYPE (const CORBA::Short) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (const CORBA::Short, ReferenceAddr, 2) +TAO_NAMESPACE_END +static const CORBA::Long _oc_GIOP_IORAddressingInfo[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 39, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x47494f50), ACE_NTOHL (0x2f494f52), ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737369), ACE_NTOHL (0x6e67496e), ACE_NTOHL (0x666f3a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/GIOP/IORAddressingInfo:1.0 + 18, ACE_NTOHL (0x494f5241), ACE_NTOHL (0x64647265), ACE_NTOHL (0x7373696e), ACE_NTOHL (0x67496e66), ACE_NTOHL (0x6f000000), // name = IORAddressingInfo + 2, // member count + 23, ACE_NTOHL (0x73656c65), ACE_NTOHL (0x63746564), ACE_NTOHL (0x5f70726f), ACE_NTOHL (0x66696c65), ACE_NTOHL (0x5f696e64), ACE_NTOHL (0x65780000), // name = selected_profile_index + CORBA::tk_ulong, + + 4, ACE_NTOHL (0x696f7200), // name = ior + CORBA::tk_struct, // typecode kind + 288, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 24, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x494f523a), ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/IOR:1.0 + 4, ACE_NTOHL (0x494f5200), // name = IOR + 2, // member count + 8, ACE_NTOHL (0x74797065), ACE_NTOHL (0x5f696400), // name = type_id + CORBA::tk_string, + 0U, // string length + 9, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c6573), ACE_NTOHL (0x0), // name = profiles + CORBA::tk_sequence, // typecode kind + 200, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 184, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 34, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x653a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/TaggedProfile:1.0 + 14, ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x65000000), // name = TaggedProfile + 2, // member count + 4, ACE_NTOHL (0x74616700), // name = tag + CORBA::tk_alias, // typecode kind for typedefs + 60, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 30, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x643a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0 + 10, ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x64000000), // name = ProfileId + CORBA::tk_ulong, + + + 13, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c655f), ACE_NTOHL (0x64617461), ACE_NTOHL (0x0), // name = profile_data + CORBA::tk_sequence, // typecode kind + 12, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_octet, + + 0U, + + + 0U, + + +}; +static CORBA::TypeCode _tc_TAO_tc_GIOP_IORAddressingInfo (CORBA::tk_struct, sizeof (_oc_GIOP_IORAddressingInfo), (char *) &_oc_GIOP_IORAddressingInfo, 0, sizeof (GIOP::IORAddressingInfo)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_IORAddressingInfo, &_tc_TAO_tc_GIOP_IORAddressingInfo) +TAO_NAMESPACE_END + +#if !defined (_GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CS_) +#define _GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CS_ + +// ************************************************************* +// GIOP::TargetAddress::_tao_seq_Octet +// ************************************************************* + +GIOP::TargetAddress::_tao_seq_Octet::_tao_seq_Octet (void) +{} +GIOP::TargetAddress::_tao_seq_Octet::_tao_seq_Octet (CORBA::ULong max) // uses max size + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + TAO_Unbounded_Sequence<CORBA::Octet> +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<CORBA::Octet> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max) +{} +GIOP::TargetAddress::_tao_seq_Octet::_tao_seq_Octet (CORBA::ULong max, CORBA::ULong length, CORBA::Octet *buffer, CORBA::Boolean release) + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + TAO_Unbounded_Sequence<CORBA::Octet> +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<CORBA::Octet> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (max, length, buffer, release) +{} +GIOP::TargetAddress::_tao_seq_Octet::_tao_seq_Octet (const _tao_seq_Octet &seq) // copy ctor + : +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + TAO_Unbounded_Sequence<CORBA::Octet> +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<CORBA::Octet> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + (seq) +{} +GIOP::TargetAddress::_tao_seq_Octet::~_tao_seq_Octet (void) // dtor +{} + + +#endif /* end #if !defined */ + +// ************************************************************* +// Operations for union GIOP::TargetAddress +// ************************************************************* + +// default constructor +GIOP::TargetAddress::TargetAddress (void) + : TAO_Base_Union () +{ + ACE_OS::memset (&this->disc_, 0, sizeof (this->disc_)); + ACE_OS::memset (&this->u_, 0, sizeof (this->u_)); +} + +// copy constructor +GIOP::TargetAddress::TargetAddress (const GIOP::TargetAddress &u) + : TAO_Base_Union () +{ + this->disc_ = u.disc_; + switch (this->disc_) + { + case 0: + { + ACE_NEW ( + this->u_.object_key_, + GIOP::TargetAddress::_tao_seq_Octet (*u.u_.object_key_) + ); + } + break; + case 1: + { + ACE_NEW ( + this->u_.profile_, + IOP::TaggedProfile (*u.u_.profile_) + ); + } + break; + case 2: + { + ACE_NEW ( + this->u_.ior_, + GIOP::IORAddressingInfo (*u.u_.ior_) + ); + } + break; + default: + break; + } +} + +// assignment operator +GIOP::TargetAddress & +GIOP::TargetAddress::operator= (const GIOP::TargetAddress &u) +{ + this->_reset (u.disc_, 0); + this->disc_ = u.disc_; + switch (this->disc_) + { + case 0: + { + ACE_NEW_RETURN ( + this->u_.object_key_, + GIOP::TargetAddress::_tao_seq_Octet (*u.u_.object_key_), + *this + ); + } + break; + case 1: + { + ACE_NEW_RETURN ( + this->u_.profile_, + IOP::TaggedProfile (*u.u_.profile_), + *this + ); + } + break; + case 2: + { + ACE_NEW_RETURN ( + this->u_.ior_, + GIOP::IORAddressingInfo (*u.u_.ior_), + *this + ); + } + break; + default: + break; + } +return *this; +} + +// reset method to reset old values of a union +void GIOP::TargetAddress::_reset (CORBA::Short, CORBA::Boolean /*finalize*/) +{ + switch (this->disc_) + { + case 0: + delete this->u_.object_key_; + this->u_.object_key_ = 0; + break; + case 1: + delete this->u_.profile_; + this->u_.profile_ = 0; + break; + case 2: + delete this->u_.ior_; + this->u_.ior_ = 0; + break; + default: + break; + } +} + +// the virtual overloaded access method +void *GIOP::TargetAddress::_access (CORBA::Boolean alloc_flag) +{ + switch (this->disc_) + { + case 0: + if (alloc_flag) + ACE_NEW_RETURN (this->u_.object_key_, GIOP::TargetAddress::_tao_seq_Octet, 0); + return this->u_.object_key_; + case 1: + if (alloc_flag) + ACE_NEW_RETURN (this->u_.profile_, IOP::TaggedProfile, 0); + return this->u_.profile_; + case 2: + if (alloc_flag) + ACE_NEW_RETURN (this->u_.ior_, GIOP::IORAddressingInfo, 0); + return this->u_.ior_; + default: + return 0; + } +} + +static const CORBA::Long _oc_GIOP_TargetAddress[] = +{ + TAO_ENCAP_BYTE_ORDER, // byte order + 35, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x47494f50), ACE_NTOHL (0x2f546172), ACE_NTOHL (0x67657441), ACE_NTOHL (0x64647265), ACE_NTOHL (0x73733a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/GIOP/TargetAddress:1.0 + 14, ACE_NTOHL (0x54617267), ACE_NTOHL (0x65744164), ACE_NTOHL (0x64726573), ACE_NTOHL (0x73000000), // name = TargetAddress + CORBA::tk_short, + + -1, // default used index + 3, // member count + ACE_IDL_NSTOHL (0x0000), // union case label (evaluated value) + 11, ACE_NTOHL (0x6f626a65), ACE_NTOHL (0x63745f6b), ACE_NTOHL (0x65790000), // name = object_key + CORBA::tk_sequence, // typecode kind + 12, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_octet, + + 0U, + + ACE_IDL_NSTOHL (0x0001), // union case label (evaluated value) + 8, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c6500), // name = profile + CORBA::tk_struct, // typecode kind + 184, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 34, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x653a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/TaggedProfile:1.0 + 14, ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x65000000), // name = TaggedProfile + 2, // member count + 4, ACE_NTOHL (0x74616700), // name = tag + CORBA::tk_alias, // typecode kind for typedefs + 60, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 30, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x643a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0 + 10, ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x64000000), // name = ProfileId + CORBA::tk_ulong, + + + 13, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c655f), ACE_NTOHL (0x64617461), ACE_NTOHL (0x0), // name = profile_data + CORBA::tk_sequence, // typecode kind + 12, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_octet, + + 0U, + + + ACE_IDL_NSTOHL (0x0002), // union case label (evaluated value) + 4, ACE_NTOHL (0x696f7200), // name = ior + CORBA::tk_struct, // typecode kind + 412, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 39, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x47494f50), ACE_NTOHL (0x2f494f52), ACE_NTOHL (0x41646472), ACE_NTOHL (0x65737369), ACE_NTOHL (0x6e67496e), ACE_NTOHL (0x666f3a31), ACE_NTOHL (0x2e300000), // repository ID = IDL:omg.org/GIOP/IORAddressingInfo:1.0 + 18, ACE_NTOHL (0x494f5241), ACE_NTOHL (0x64647265), ACE_NTOHL (0x7373696e), ACE_NTOHL (0x67496e66), ACE_NTOHL (0x6f000000), // name = IORAddressingInfo + 2, // member count + 23, ACE_NTOHL (0x73656c65), ACE_NTOHL (0x63746564), ACE_NTOHL (0x5f70726f), ACE_NTOHL (0x66696c65), ACE_NTOHL (0x5f696e64), ACE_NTOHL (0x65780000), // name = selected_profile_index + CORBA::tk_ulong, + + 4, ACE_NTOHL (0x696f7200), // name = ior + CORBA::tk_struct, // typecode kind + 288, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 24, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x494f523a), ACE_NTOHL (0x312e3000), // repository ID = IDL:omg.org/IOP/IOR:1.0 + 4, ACE_NTOHL (0x494f5200), // name = IOR + 2, // member count + 8, ACE_NTOHL (0x74797065), ACE_NTOHL (0x5f696400), // name = type_id + CORBA::tk_string, + 0U, // string length + 9, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c6573), ACE_NTOHL (0x0), // name = profiles + CORBA::tk_sequence, // typecode kind + 200, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_struct, // typecode kind + 184, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 34, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x653a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/TaggedProfile:1.0 + 14, ACE_NTOHL (0x54616767), ACE_NTOHL (0x65645072), ACE_NTOHL (0x6f66696c), ACE_NTOHL (0x65000000), // name = TaggedProfile + 2, // member count + 4, ACE_NTOHL (0x74616700), // name = tag + CORBA::tk_alias, // typecode kind for typedefs + 60, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + 30, ACE_NTOHL (0x49444c3a), ACE_NTOHL (0x6f6d672e), ACE_NTOHL (0x6f72672f), ACE_NTOHL (0x494f502f), ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x643a312e), ACE_NTOHL (0x30000000), // repository ID = IDL:omg.org/IOP/ProfileId:1.0 + 10, ACE_NTOHL (0x50726f66), ACE_NTOHL (0x696c6549), ACE_NTOHL (0x64000000), // name = ProfileId + CORBA::tk_ulong, + + + 13, ACE_NTOHL (0x70726f66), ACE_NTOHL (0x696c655f), ACE_NTOHL (0x64617461), ACE_NTOHL (0x0), // name = profile_data + CORBA::tk_sequence, // typecode kind + 12, // encapsulation length + TAO_ENCAP_BYTE_ORDER, // byte order + CORBA::tk_octet, + + 0U, + + + 0U, + + + +}; +static CORBA::TypeCode _tc_TAO_tc_GIOP_TargetAddress (CORBA::tk_union, sizeof (_oc_GIOP_TargetAddress), (char *) &_oc_GIOP_TargetAddress, 0, sizeof (GIOP::TargetAddress)); +TAO_NAMESPACE_TYPE (CORBA::TypeCode_ptr) +TAO_NAMESPACE_BEGIN (GIOP) +TAO_NAMESPACE_DEFINE (CORBA::TypeCode_ptr, _tc_TargetAddress, &_tc_TAO_tc_GIOP_TargetAddress) +TAO_NAMESPACE_END + +void operator<<= (CORBA::Any &_tao_any, const GIOP::IORAddressingInfo &_tao_elem) // copying +{ + GIOP::IORAddressingInfo *_any_val; + ACE_NEW (_any_val, GIOP::IORAddressingInfo (_tao_elem)); + if (!_any_val) return; + ACE_TRY_NEW_ENV + { + _tao_any.replace (GIOP::_tc_IORAddressingInfo, _any_val, 1, ACE_TRY_ENV); // copy the value + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _any_val; + } + ACE_ENDTRY; +} + +void operator<<= (CORBA::Any &_tao_any, GIOP::IORAddressingInfo *_tao_elem) // non copying +{ + ACE_TRY_NEW_ENV + { + _tao_any.replace (GIOP::_tc_IORAddressingInfo, _tao_elem, 1, ACE_TRY_ENV); // consume it + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= (const CORBA::Any &_tao_any, GIOP::IORAddressingInfo *&_tao_elem) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (GIOP::_tc_IORAddressingInfo, ACE_TRY_ENV)) return 0; // not equal + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (GIOP::IORAddressingInfo *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, GIOP::IORAddressingInfo, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + if (stream.decode (GIOP::_tc_IORAddressingInfo, _tao_elem, 0, ACE_TRY_ENV) + == CORBA::TypeCode::TRAVERSE_CONTINUE) + { + ((CORBA::Any *)&_tao_any)->replace (GIOP::_tc_IORAddressingInfo, _tao_elem, 1, ACE_TRY_ENV); + ACE_TRY_CHECK; + return 1; + } + else + { + delete _tao_elem; + } + } + } + ACE_CATCHANY + { + delete _tao_elem; + return 0; + } + ACE_ENDTRY; + return 0; +} + +void operator<<= ( + CORBA::Any &_tao_any, + const GIOP::TargetAddress &_tao_elem + ) +{ + GIOP::TargetAddress *_any_val; + ACE_NEW (_any_val, GIOP::TargetAddress (_tao_elem)); + ACE_TRY_NEW_ENV + { + TAO_OutputCDR stream; + stream << *_any_val; + _tao_any._tao_replace ( + GIOP::_tc_TargetAddress, + stream.begin (), + 1, + _any_val, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + delete _any_val; + } + ACE_ENDTRY; +} + +void operator<<= ( + CORBA::Any &_tao_any, + GIOP::TargetAddress *_tao_elem + ) +{ + ACE_TRY_NEW_ENV + { + TAO_OutputCDR stream; + stream << *_tao_elem; + _tao_any._tao_replace ( + GIOP::_tc_TargetAddress, + stream.begin (), + 1, + _tao_elem, + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + } + ACE_CATCHANY {} + ACE_ENDTRY; +} + +CORBA::Boolean operator>>= ( + const CORBA::Any &_tao_any, + GIOP::TargetAddress *&_tao_elem + ) +{ + ACE_TRY_NEW_ENV + { + CORBA::TypeCode_var type = _tao_any.type (); + if (!type->equivalent (GIOP::_tc_TargetAddress, ACE_TRY_ENV)) + return 0; + ACE_TRY_CHECK; + if (_tao_any.any_owns_data ()) + { + _tao_elem = (GIOP::TargetAddress *)_tao_any.value (); + return 1; + } + else + { + ACE_NEW_RETURN (_tao_elem, GIOP::TargetAddress, 0); + TAO_InputCDR stream (_tao_any._tao_get_cdr ()); + stream >> *_tao_elem; + ((CORBA::Any *)&_tao_any)->_tao_replace ( + GIOP::_tc_TargetAddress, + 1, + ACE_reinterpret_cast(void*,_tao_elem), + ACE_TRY_ENV + ); + ACE_TRY_CHECK; + + return 1; + } + } + ACE_CATCHANY + { + delete _tao_elem; + } + ACE_ENDTRY; + return 0; +} + +#if !defined _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ +#define _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ + +CORBA::Boolean operator<< ( + TAO_OutputCDR &strm, + const GIOP::TargetAddress::_tao_seq_Octet &_tao_sequence + ) +{ + if (strm << _tao_sequence.length ()) + { + // encode all elements + +#if defined (TAO_NO_COPY_OCTET_SEQUENCES) + { + TAO_Unbounded_Sequence<CORBA::Octet> *oseq = + ACE_static_cast (TAO_Unbounded_Sequence<CORBA::Octet>*, (GIOP::TargetAddress::_tao_seq_Octet *)&_tao_sequence); + if (oseq->mb ()) + return strm.write_octet_array_mb (oseq->mb ()); + else + return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + } + +#else /* TAO_NO_COPY_OCTET_SEQUENCES */ + return strm.write_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + +#endif /* TAO_NO_COPY_OCTET_SEQUENCES */ + } + return 0; // error +} + +CORBA::Boolean operator>> ( + TAO_InputCDR &strm, + GIOP::TargetAddress::_tao_seq_Octet &_tao_sequence + ) +{ + CORBA::ULong _tao_seq_len; + if (strm >> _tao_seq_len) + { + // set the length of the sequence + _tao_sequence.length (_tao_seq_len); + // retrieve all the elements + +#if defined (TAO_NO_COPY_OCTET_SEQUENCES) + if (ACE_BIT_DISABLED (strm.start ()->flags (),ACE_Message_Block::DONT_DELETE)) + { + TAO_Unbounded_Sequence<CORBA::Octet> *oseq = + ACE_static_cast(TAO_Unbounded_Sequence<CORBA::Octet>*, &_tao_sequence); + oseq->replace (_tao_seq_len, strm.start ()); + oseq->mb ()->wr_ptr (oseq->mb()->rd_ptr () + _tao_seq_len); + strm.skip_bytes (_tao_seq_len); + return 1; + } + else + return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_seq_len); + +#else /* TAO_NO_COPY_OCTET_SEQUENCES */ + return strm.read_octet_array (_tao_sequence.get_buffer (), _tao_sequence.length ()); + +#endif /* TAO_NO_COPY_OCTET_SEQUENCES */ + } + return 0; // error +} + +#endif /* _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_CPP_ */ + diff --git a/TAO/tao/GIOPC.h b/TAO/tao/GIOPC.h new file mode 100644 index 00000000000..47ef771bece --- /dev/null +++ b/TAO/tao/GIOPC.h @@ -0,0 +1,426 @@ +/* -*- C++ -*- $Id$ */ + +// ================================================================ +// +// = LIBRARY +// TAO +// +// = FILENAME +// GIOPC.h +// +// = DESCRIPTION +// Generated from GIOP1_2.pidl, that contains a part of the new data +// type definitions for GIOP1.2 module. +// The code was generated by the IDL compiler and then hand-crafted +// to reduce the includes interdependencies. +// hand crafted by Balachandran Natarajan <bala@cs.wustl.edu> +// ================================================================ +// ****** Code generated by the The ACE ORB (TAO) IDL Compiler ******* +// TAO and the TAO IDL Compiler have been developed by the Center for +// Distributed Object Computing at Washington University, St. Louis. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +// Readers Note: +// This file is named GIOPC.h intentionally. Shortly the file GIOP.h +// in $TAO_ROOT/ta would dissappear giving way to new files once the +// pluggable messaging stuff is done. So I would assume that there +// should be no such name clashes. + +#ifndef _TAO_IDL_GIOPC_H_ +#define _TAO_IDL_GIOPC_H_ + +#include "tao/corbafwd.h" +#include "tao/IOPC.h" +#include "tao/Union.h" + +#if defined (ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION) +#include "ace/streams.h" +#endif /* ACE_HAS_MINIMUM_IOSTREAMH_INCLUSION */ + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + + +#if defined (TAO_EXPORT_MACRO) +#undef TAO_EXPORT_MACRO +#endif +#define TAO_EXPORT_MACRO TAO_Export + +#if defined (TAO_EXPORT_NESTED_CLASSES) +# if defined (TAO_EXPORT_NESTED_MACRO) +# undef TAO_EXPORT_NESTED_MACRO +# endif /* defined (TAO_EXPORT_NESTED_MACRO) */ +# define TAO_EXPORT_NESTED_MACRO TAO_Export +#endif /* TAO_EXPORT_NESTED_CLASSES */ + +#if defined(_MSC_VER) +#if (_MSC_VER >= 1200) +#pragma warning(push) +#endif /* _MSC_VER >= 1200 */ +#pragma warning(disable:4250) +#endif /* _MSC_VER */ + +TAO_NAMESPACE GIOP +{ + typedef CORBA::Short AddressingDisposition; + typedef CORBA::Short_out AddressingDisposition_out; + TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_AddressingDisposition; + + TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short KeyAddr; + + TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short ProfileAddr; + + TAO_NAMESPACE_STORAGE_CLASS const CORBA::Short ReferenceAddr; + + struct IORAddressingInfo; + class IORAddressingInfo_var; + typedef IORAddressingInfo* IORAddressingInfo_ptr; + + struct TAO_Export IORAddressingInfo + { + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef IORAddressingInfo_ptr _ptr_type; + typedef IORAddressingInfo_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + CORBA::ULong selected_profile_index; + IOP::IOR ior; + }; + + class TAO_Export IORAddressingInfo_var + { + public: + IORAddressingInfo_var (void); // default constructor + IORAddressingInfo_var (IORAddressingInfo *); + IORAddressingInfo_var (const IORAddressingInfo_var &); // copy constructor + ~IORAddressingInfo_var (void); // destructor + + IORAddressingInfo_var &operator= (IORAddressingInfo *); + IORAddressingInfo_var &operator= (const IORAddressingInfo_var &); + IORAddressingInfo *operator-> (void); + const IORAddressingInfo *operator-> (void) const; + + operator const IORAddressingInfo &() const; + operator IORAddressingInfo &(); + operator IORAddressingInfo &() const; + // in, inout, out, _retn + const IORAddressingInfo &in (void) const; + IORAddressingInfo &inout (void); + IORAddressingInfo *&out (void); + IORAddressingInfo *_retn (void); + IORAddressingInfo *ptr (void) const; + + private: + IORAddressingInfo *ptr_; + }; + + class TAO_Export IORAddressingInfo_out + { + public: + IORAddressingInfo_out (IORAddressingInfo *&); + IORAddressingInfo_out (IORAddressingInfo_var &); + IORAddressingInfo_out (const IORAddressingInfo_out &); + IORAddressingInfo_out &operator= (const IORAddressingInfo_out &); + IORAddressingInfo_out &operator= (IORAddressingInfo *); + operator IORAddressingInfo *&(); + IORAddressingInfo *&ptr (void); + IORAddressingInfo *operator-> (void); + + private: + IORAddressingInfo *&ptr_; + // assignment from T_var not allowed + void operator= (const IORAddressingInfo_var &); + }; + + TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_IORAddressingInfo; + + +#if !defined (_GIOP_TARGETADDRESS_CH_) +#define _GIOP_TARGETADDRESS_CH_ + + class TargetAddress; + class TargetAddress_var; + typedef TargetAddress* TargetAddress_ptr; + + class TAO_Export TargetAddress: public TAO_Base_Union + { + public: + TargetAddress (void); // default constructor + TargetAddress (const TargetAddress &); // copy constructor + ~TargetAddress (void); // destructor + TargetAddress &operator= (const TargetAddress &); // copy constructor + + void _d (CORBA::Short); + CORBA::Short _d (void) const; + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef TargetAddress_ptr _ptr_type; + typedef TargetAddress_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + +#if !defined (_GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CH_) +#define _GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CH_ + + class _tao_seq_Octet; + class _tao_seq_Octet_var; + typedef _tao_seq_Octet* _tao_seq_Octet_ptr; + + // ************************************************************* + // _tao_seq_Octet + // ************************************************************* + + class TAO_Export _tao_seq_Octet : public +#if !defined (TAO_USE_SEQUENCE_TEMPLATES) + TAO_Unbounded_Sequence<CORBA::Octet> +#else /* TAO_USE_SEQUENCE_TEMPLATES */ + TAO_Unbounded_Sequence<CORBA::Octet> +#endif /* !TAO_USE_SEQUENCE_TEMPLATES */ + { + public: + _tao_seq_Octet (void); // default ctor + _tao_seq_Octet (CORBA::ULong max); // uses max size + _tao_seq_Octet ( + CORBA::ULong max, + CORBA::ULong length, + CORBA::Octet *buffer, + CORBA::Boolean release=0 + ); + _tao_seq_Octet (const _tao_seq_Octet &); // copy ctor + ~_tao_seq_Octet (void); // dtor + +#if !defined(__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef _tao_seq_Octet_ptr _ptr_type; + typedef _tao_seq_Octet_var _var_type; +#endif /* ! __GNUC__ || g++ >= 2.8 */ + + +#if defined(TAO_NO_COPY_OCTET_SEQUENCES) + _tao_seq_Octet ( + CORBA::ULong length, + const ACE_Message_Block* mb + ) + : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {} +#endif /* TAO_NO_COPY_OCTET_SEQUENCE */ + + }; + +#endif /* end #if !defined */ + + +#if !defined (_GIOP_TARGETADDRESS__TAO_SEQ_OCTET___VAR_CH_) +#define _GIOP_TARGETADDRESS__TAO_SEQ_OCTET___VAR_CH_ + + // ************************************************************* + // class GIOP::TargetAddress::_tao_seq_Octet_var + // ************************************************************* + + class TAO_Export _tao_seq_Octet_var + { + public: + _tao_seq_Octet_var (void); // default constructor + _tao_seq_Octet_var (_tao_seq_Octet *); + _tao_seq_Octet_var (const _tao_seq_Octet_var &); // copy constructor + ~_tao_seq_Octet_var (void); // destructor + + _tao_seq_Octet_var &operator= (_tao_seq_Octet *); + _tao_seq_Octet_var &operator= (const _tao_seq_Octet_var &); + _tao_seq_Octet *operator-> (void); + const _tao_seq_Octet *operator-> (void) const; + + operator const _tao_seq_Octet &() const; + operator _tao_seq_Octet &(); + operator _tao_seq_Octet &() const; + CORBA::Octet &operator[] (CORBA::ULong index); + // in, inout, out, _retn + const _tao_seq_Octet &in (void) const; + _tao_seq_Octet &inout (void); + _tao_seq_Octet *&out (void); + _tao_seq_Octet *_retn (void); + _tao_seq_Octet *ptr (void) const; + + private: + _tao_seq_Octet *ptr_; + }; + + +#endif /* end #if !defined */ + + +#if !defined (_GIOP_TARGETADDRESS__TAO_SEQ_OCTET___OUT_CH_) +#define _GIOP_TARGETADDRESS__TAO_SEQ_OCTET___OUT_CH_ + + class TAO_Export _tao_seq_Octet_out + { + public: + _tao_seq_Octet_out (_tao_seq_Octet *&); + _tao_seq_Octet_out (_tao_seq_Octet_var &); + _tao_seq_Octet_out (const _tao_seq_Octet_out &); + _tao_seq_Octet_out &operator= (const _tao_seq_Octet_out &); + _tao_seq_Octet_out &operator= (_tao_seq_Octet *); + operator _tao_seq_Octet *&(); + _tao_seq_Octet *&ptr (void); + _tao_seq_Octet *operator-> (void); + CORBA::Octet &operator[] (CORBA::ULong index); + + private: + _tao_seq_Octet *&ptr_; + // assignment from T_var not allowed + void operator= (const _tao_seq_Octet_var &); + }; + + +#endif /* end #if !defined */ + +#if !defined (__GNUC__) || !defined (ACE_HAS_GNUG_PRE_2_8) + typedef _tao_seq_Octet _object_key_seq; +#endif /* ! __GNUC__ || ACE_HAS_GNUG_PRE_2_8 */ + + void object_key (const _tao_seq_Octet &);// set + const _tao_seq_Octet &object_key (void) const; // get method (read only) + _tao_seq_Octet &object_key (void); // get method (read/write only) + + void profile (const IOP::TaggedProfile &);// set + const IOP::TaggedProfile &profile (void) const; // get method (read only) + IOP::TaggedProfile &profile (void); // get method (read/write only) + + void ior (const ACE_NESTED_CLASS (GIOP, IORAddressingInfo) &);// set + const ACE_NESTED_CLASS (GIOP, IORAddressingInfo) &ior (void) const; // get method (read only) + ACE_NESTED_CLASS (GIOP, IORAddressingInfo) &ior (void); // get method (read/write only) + + void _default (); +private: + CORBA::Short disc_; + union + { + _tao_seq_Octet *object_key_; + IOP::TaggedProfile *profile_; + ACE_NESTED_CLASS (GIOP, IORAddressingInfo) *ior_; + } u_; // end of union + // TAO extensions + void _reset (CORBA::Short, CORBA::Boolean); + // Frees any allocated storage + + virtual void *_discriminant (void); + // returns pointer to the discriminant + + virtual void _reset (void); + // calls the above reset with finalize=1 + + virtual void *_access (CORBA::Boolean flag); + // accesses the right data member. Also will allocate on TRUE flag + +}; // GIOP::TargetAddress + +TAO_NAMESPACE_STORAGE_CLASS CORBA::TypeCode_ptr _tc_TargetAddress; + + +#endif /* end #if !defined */ + + +#if !defined (_GIOP_TARGETADDRESS___VAR_CH_) +#define _GIOP_TARGETADDRESS___VAR_CH_ + +class TAO_Export TargetAddress_var +{ +public: + TargetAddress_var (void); // default constructor + TargetAddress_var (TargetAddress *); + TargetAddress_var (const TargetAddress_var &); // copy constructor + ~TargetAddress_var (void); // destructor + + TargetAddress_var &operator= (TargetAddress *); + TargetAddress_var &operator= (const TargetAddress_var &); + TargetAddress *operator-> (void); + const TargetAddress *operator-> (void) const; + + operator const TargetAddress &() const; + operator TargetAddress &(); + operator TargetAddress &() const; + // in, inout, out, _retn + const TargetAddress &in (void) const; + TargetAddress &inout (void); + TargetAddress *&out (void); + TargetAddress *_retn (void); + TargetAddress *ptr(void) const; + +private: + TargetAddress *ptr_; +}; + + +#endif /* end #if !defined */ + + +#if !defined (_GIOP_TARGETADDRESS___OUT_CH_) +#define _GIOP_TARGETADDRESS___OUT_CH_ + +class TAO_Export TargetAddress_out +{ +public: + TargetAddress_out (TargetAddress *&); + TargetAddress_out (TargetAddress_var &); + TargetAddress_out (const TargetAddress_out &); + TargetAddress_out &operator= (const TargetAddress_out &); + TargetAddress_out &operator= (TargetAddress *); + operator TargetAddress *&(); + TargetAddress *&ptr (void); + TargetAddress *operator-> (void); + +private: + TargetAddress *&ptr_; + // assignment from T_var not allowed + void operator= (const TargetAddress_var &); +}; + + +#endif /* end #if !defined */ + + +} +TAO_NAMESPACE_CLOSE // module GIOP + +TAO_Export void operator<<= (CORBA::Any &, const GIOP::IORAddressingInfo &); // copying version +TAO_Export void operator<<= (CORBA::Any &, GIOP::IORAddressingInfo*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, GIOP::IORAddressingInfo *&); +TAO_Export void operator<<= (CORBA::Any &, const GIOP::TargetAddress &); // copying version +TAO_Export void operator<<= (CORBA::Any &, GIOP::TargetAddress*); // noncopying version +TAO_Export CORBA::Boolean operator>>= (const CORBA::Any &, GIOP::TargetAddress *&); + +#ifndef __ACE_INLINE__ + +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const GIOP::IORAddressingInfo &); +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, GIOP::IORAddressingInfo &); +TAO_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const GIOP::TargetAddress &); // +TAO_Export CORBA::Boolean operator>> (TAO_InputCDR &, GIOP::TargetAddress &); + +#if !defined _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_H_ +#define _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_H_ + +TAO_Export CORBA::Boolean operator<< ( + TAO_OutputCDR &, + const GIOP::TargetAddress::_tao_seq_Octet & + ); +TAO_Export CORBA::Boolean operator>> ( + TAO_InputCDR &, + GIOP::TargetAddress::_tao_seq_Octet & + ); + +#endif /* _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_H_ */ + + +#endif /* __ACE_INLINE__ */ + + +#if defined (__ACE_INLINE__) +#include "GIOPC.i" +#endif /* defined INLINE */ + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#pragma warning(pop) +#endif /* _MSC_VER */ + +#endif /* ifndef */ diff --git a/TAO/tao/GIOPC.i b/TAO/tao/GIOPC.i new file mode 100644 index 00000000000..6f952b18363 --- /dev/null +++ b/TAO/tao/GIOPC.i @@ -0,0 +1,794 @@ +/* -*- C++ -*- $Id$ */ + +// ****** Code generated by the The ACE ORB (TAO) IDL Compiler ******* +// TAO and the TAO IDL Compiler have been developed by the Center for +// Distributed Object Computing at Washington University, St. Louis. +// +// Information about TAO is available at: +// http://www.cs.wustl.edu/~schmidt/TAO.html + +// ************************************************************* +// Inline operations for class GIOP::IORAddressingInfo_var +// ************************************************************* + +ACE_INLINE +GIOP::IORAddressingInfo_var::IORAddressingInfo_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +GIOP::IORAddressingInfo_var::IORAddressingInfo_var (GIOP::IORAddressingInfo *p) + : ptr_ (p) +{} + +ACE_INLINE +GIOP::IORAddressingInfo_var::IORAddressingInfo_var (const GIOP::IORAddressingInfo_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, GIOP::IORAddressingInfo (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::IORAddressingInfo_var::~IORAddressingInfo_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo_var & +GIOP::IORAddressingInfo_var::operator= (GIOP::IORAddressingInfo *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE GIOP::IORAddressingInfo_var & +GIOP::IORAddressingInfo_var::operator= (const GIOP::IORAddressingInfo_var &p) +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, GIOP::IORAddressingInfo (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const GIOP::IORAddressingInfo * +GIOP::IORAddressingInfo_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo * +GIOP::IORAddressingInfo_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +GIOP::IORAddressingInfo_var::operator const GIOP::IORAddressingInfo &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::IORAddressingInfo_var::operator GIOP::IORAddressingInfo &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::IORAddressingInfo_var::operator GIOP::IORAddressingInfo &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE const GIOP::IORAddressingInfo & +GIOP::IORAddressingInfo_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo & +GIOP::IORAddressingInfo_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE GIOP::IORAddressingInfo *& +GIOP::IORAddressingInfo_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo * +GIOP::IORAddressingInfo_var::_retn (void) +{ + GIOP::IORAddressingInfo *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE GIOP::IORAddressingInfo * +GIOP::IORAddressingInfo_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class GIOP::IORAddressingInfo_out +// ************************************************************* + +ACE_INLINE +GIOP::IORAddressingInfo_out::IORAddressingInfo_out (GIOP::IORAddressingInfo *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::IORAddressingInfo_out::IORAddressingInfo_out (GIOP::IORAddressingInfo_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::IORAddressingInfo_out::IORAddressingInfo_out (const GIOP::IORAddressingInfo_out &p) // copy constructor + : ptr_ (ACE_const_cast (GIOP::IORAddressingInfo_out&,p).ptr_) +{} + +ACE_INLINE GIOP::IORAddressingInfo_out & +GIOP::IORAddressingInfo_out::operator= (const GIOP::IORAddressingInfo_out &p) +{ + this->ptr_ = ACE_const_cast (GIOP::IORAddressingInfo_out&,p).ptr_; + return *this; +} + +ACE_INLINE GIOP::IORAddressingInfo_out & +GIOP::IORAddressingInfo_out::operator= (GIOP::IORAddressingInfo *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +GIOP::IORAddressingInfo_out::operator GIOP::IORAddressingInfo *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo *& +GIOP::IORAddressingInfo_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE GIOP::IORAddressingInfo * +GIOP::IORAddressingInfo_out::operator-> (void) +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for union GIOP::TargetAddress +// ************************************************************* + +// destructor +ACE_INLINE +GIOP::TargetAddress::~TargetAddress (void) +{ + // finalize + this->_reset (this->disc_, 1); +} + +// this reset method is used by the decoding engine +ACE_INLINE void +GIOP::TargetAddress::_reset (void) +{ + this->_reset (this->disc_, 1); + ACE_OS::memcpy (&this->u_, 0, sizeof (this->u_)); +} + +// returns pointer to the discriminant +ACE_INLINE void * +GIOP::TargetAddress::_discriminant (void) +{ + return &this->disc_; +} + +// the implicit _default () method +ACE_INLINE void +GIOP::TargetAddress::_default () +{ + this->disc_ = -32768; +} + +// accessor to set the discriminant +ACE_INLINE void +GIOP::TargetAddress::_d (CORBA::Short discval) +{ + this->disc_ = discval; +} +// accessor to get the discriminant +ACE_INLINE CORBA::Short +GIOP::TargetAddress::_d (void) const +{ + return this->disc_; +} + + +#if !defined (_GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CI_) +#define _GIOP_TARGETADDRESS__TAO_SEQ_OCTET_CI_ + +// ************************************************************* +// Inline operations for class GIOP::TargetAddress::_tao_seq_Octet_var +// ************************************************************* + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::_tao_seq_Octet_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::_tao_seq_Octet_var (GIOP::TargetAddress::_tao_seq_Octet *p) + : ptr_ (p) +{} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::_tao_seq_Octet_var (const GIOP::TargetAddress::_tao_seq_Octet_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, GIOP::TargetAddress::_tao_seq_Octet (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::~_tao_seq_Octet_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet_var & +GIOP::TargetAddress::_tao_seq_Octet_var::operator= (GIOP::TargetAddress::_tao_seq_Octet *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet_var & +GIOP::TargetAddress::_tao_seq_Octet_var::operator= (const GIOP::TargetAddress::_tao_seq_Octet_var &p) // deep copy +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, GIOP::TargetAddress::_tao_seq_Octet (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const GIOP::TargetAddress::_tao_seq_Octet * +GIOP::TargetAddress::_tao_seq_Octet_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet * +GIOP::TargetAddress::_tao_seq_Octet_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::operator const GIOP::TargetAddress::_tao_seq_Octet &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::operator GIOP::TargetAddress::_tao_seq_Octet &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_var::operator GIOP::TargetAddress::_tao_seq_Octet &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE CORBA::Octet & +GIOP::TargetAddress::_tao_seq_Octet_var::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + +ACE_INLINE const GIOP::TargetAddress::_tao_seq_Octet & +GIOP::TargetAddress::_tao_seq_Octet_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet & +GIOP::TargetAddress::_tao_seq_Octet_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet *& +GIOP::TargetAddress::_tao_seq_Octet_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet * +GIOP::TargetAddress::_tao_seq_Octet_var::_retn (void) +{ + GIOP::TargetAddress::_tao_seq_Octet *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet * +GIOP::TargetAddress::_tao_seq_Octet_var::ptr (void) const +{ + return this->ptr_; +} + +// ************************************************************* +// Inline operations for class GIOP::TargetAddress::_tao_seq_Octet_out +// ************************************************************* + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_out::_tao_seq_Octet_out (GIOP::TargetAddress::_tao_seq_Octet *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_out::_tao_seq_Octet_out (GIOP::TargetAddress::_tao_seq_Octet_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_out::_tao_seq_Octet_out (const GIOP::TargetAddress::_tao_seq_Octet_out &p) // copy constructor + : ptr_ (ACE_const_cast (GIOP::TargetAddress::_tao_seq_Octet_out&,p).ptr_) +{} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet_out & +GIOP::TargetAddress::_tao_seq_Octet_out::operator= (const GIOP::TargetAddress::_tao_seq_Octet_out &p) +{ + this->ptr_ = ACE_const_cast (GIOP::TargetAddress::_tao_seq_Octet_out&,p).ptr_; + return *this; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet_out & +GIOP::TargetAddress::_tao_seq_Octet_out::operator= (GIOP::TargetAddress::_tao_seq_Octet *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +GIOP::TargetAddress::_tao_seq_Octet_out::operator GIOP::TargetAddress::_tao_seq_Octet *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet *& +GIOP::TargetAddress::_tao_seq_Octet_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet * +GIOP::TargetAddress::_tao_seq_Octet_out::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE CORBA::Octet & +GIOP::TargetAddress::_tao_seq_Octet_out::operator[] (CORBA::ULong index) +{ + return this->ptr_->operator[] (index); +} + + +#endif /* end #if !defined */ + +// accessor to set the member +ACE_INLINE void +GIOP::TargetAddress::object_key (const GIOP::TargetAddress::_tao_seq_Octet &val) +{ + // set the discriminant val + this->_reset (0, 0); + this->disc_ = 0; + ACE_NEW ( + this->u_.object_key_, + GIOP::TargetAddress::_tao_seq_Octet (val) + ); +} + +// readonly get method +ACE_INLINE const GIOP::TargetAddress::_tao_seq_Octet & +GIOP::TargetAddress::object_key (void) const +{ + return *this->u_.object_key_; +} + +// read/write get method +ACE_INLINE GIOP::TargetAddress::_tao_seq_Octet & +GIOP::TargetAddress::object_key (void) +{ + return *this->u_.object_key_; +} + +// accessor to set the member +ACE_INLINE void +GIOP::TargetAddress::profile (const IOP::TaggedProfile &val) +{ + // set the discriminant val + this->_reset (1, 0); + this->disc_ = 1; + ACE_NEW ( + this->u_.profile_, + IOP::TaggedProfile (val) + ); +} + +// readonly get method +ACE_INLINE const IOP::TaggedProfile & +GIOP::TargetAddress::profile (void) const +{ + return *this->u_.profile_; +} + +// read/write get method +ACE_INLINE IOP::TaggedProfile & +GIOP::TargetAddress::profile (void) +{ + return *this->u_.profile_; +} + +// accessor to set the member +ACE_INLINE void +GIOP::TargetAddress::ior (const GIOP::IORAddressingInfo &val) +{ + // set the discriminant val + this->_reset (2, 0); + this->disc_ = 2; + ACE_NEW ( + this->u_.ior_, + GIOP::IORAddressingInfo (val) + ); +} + +// readonly get method +ACE_INLINE const GIOP::IORAddressingInfo & +GIOP::TargetAddress::ior (void) const +{ + return *this->u_.ior_; +} + +// read/write get method +ACE_INLINE GIOP::IORAddressingInfo & +GIOP::TargetAddress::ior (void) +{ + return *this->u_.ior_; +} + + +#if !defined (_GIOP_TARGETADDRESS___VAR_CI_) +#define _GIOP_TARGETADDRESS___VAR_CI_ + +// ************************************************************* +// Inline operations for class GIOP::TargetAddress_var +// ************************************************************* + +ACE_INLINE +GIOP::TargetAddress_var::TargetAddress_var (void) // default constructor + : ptr_ (0) +{} + +ACE_INLINE +GIOP::TargetAddress_var::TargetAddress_var (GIOP::TargetAddress *p) + : ptr_ (p) +{} + +ACE_INLINE +GIOP::TargetAddress_var::TargetAddress_var (const GIOP::TargetAddress_var &p) // copy constructor +{ + if (p.ptr_) + ACE_NEW (this->ptr_, GIOP::TargetAddress (*p.ptr_)); + else + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress_var::~TargetAddress_var (void) // destructor +{ + delete this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress_var & +GIOP::TargetAddress_var::operator= (GIOP::TargetAddress *p) +{ + delete this->ptr_; + this->ptr_ = p; + return *this; +} + +ACE_INLINE GIOP::TargetAddress_var & +GIOP::TargetAddress_var::operator= (const GIOP::TargetAddress_var &p) +{ + if (this != &p) + { + delete this->ptr_; + ACE_NEW_RETURN (this->ptr_, GIOP::TargetAddress (*p.ptr_), *this); + } + return *this; +} + +ACE_INLINE const GIOP::TargetAddress * +GIOP::TargetAddress_var::operator-> (void) const +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress * +GIOP::TargetAddress_var::operator-> (void) +{ + return this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress_var::operator const GIOP::TargetAddress &() const // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress_var::operator GIOP::TargetAddress &() // cast +{ + return *this->ptr_; +} + +ACE_INLINE +GIOP::TargetAddress_var::operator GIOP::TargetAddress &() const// cast +{ + return *this->ptr_; +} + +ACE_INLINE const GIOP::TargetAddress & +GIOP::TargetAddress_var::in (void) const +{ + return *this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress & +GIOP::TargetAddress_var::inout (void) +{ + return *this->ptr_; +} + +// mapping for variable size +ACE_INLINE GIOP::TargetAddress *& +GIOP::TargetAddress_var::out (void) +{ + delete this->ptr_; + this->ptr_ = 0; + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress * +GIOP::TargetAddress_var::_retn (void) +{ + GIOP::TargetAddress *tmp = this->ptr_; + this->ptr_ = 0; + return tmp; +} + +ACE_INLINE GIOP::TargetAddress * +GIOP::TargetAddress_var::ptr (void) const +{ + return this->ptr_; +} + + +#endif /* end #if !defined */ + + +#if !defined (_GIOP_TARGETADDRESS___OUT_CI_) +#define _GIOP_TARGETADDRESS___OUT_CI_ + +// ************************************************************* +// Inline operations for class GIOP::TargetAddress_out +// ************************************************************* + +ACE_INLINE +GIOP::TargetAddress_out::TargetAddress_out (GIOP::TargetAddress *&p) + : ptr_ (p) +{ + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress_out::TargetAddress_out (GIOP::TargetAddress_var &p) // constructor from _var + : ptr_ (p.out ()) +{ + delete this->ptr_; + this->ptr_ = 0; +} + +ACE_INLINE +GIOP::TargetAddress_out::TargetAddress_out (const GIOP::TargetAddress_out &p) // copy constructor + : ptr_ (ACE_const_cast (GIOP::TargetAddress_out&,p).ptr_) +{} + +ACE_INLINE GIOP::TargetAddress_out & +GIOP::TargetAddress_out::operator= (const GIOP::TargetAddress_out &p) +{ + this->ptr_ = ACE_const_cast (GIOP::TargetAddress_out&,p).ptr_; + return *this; +} + +ACE_INLINE GIOP::TargetAddress_out & +GIOP::TargetAddress_out::operator= (GIOP::TargetAddress *p) +{ + this->ptr_ = p; + return *this; +} + +ACE_INLINE +GIOP::TargetAddress_out::operator GIOP::TargetAddress *&() // cast +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress *& +GIOP::TargetAddress_out::ptr (void) // ptr +{ + return this->ptr_; +} + +ACE_INLINE GIOP::TargetAddress * +GIOP::TargetAddress_out::operator-> (void) +{ + return this->ptr_; +} + + +#endif /* end #if !defined */ + + +ACE_INLINE CORBA::Boolean operator<< (TAO_OutputCDR &strm, const GIOP::IORAddressingInfo &_tao_aggregate) +{ + if ( + (strm << _tao_aggregate.selected_profile_index) && + (strm << _tao_aggregate.ior) + ) + return 1; + else + return 0; + +} + +ACE_INLINE CORBA::Boolean operator>> (TAO_InputCDR &strm, GIOP::IORAddressingInfo &_tao_aggregate) +{ + if ( + (strm >> _tao_aggregate.selected_profile_index) && + (strm >> _tao_aggregate.ior) + ) + return 1; + else + return 0; + +} + + +#if !defined _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_I_ +#define _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_I_ + +CORBA::Boolean TAO_Export operator<< ( + TAO_OutputCDR &, + const GIOP::TargetAddress::_tao_seq_Octet & + ); +CORBA::Boolean TAO_Export operator>> ( + TAO_InputCDR &, + GIOP::TargetAddress::_tao_seq_Octet & + ); + +#endif /* _TAO_CDR_OP_GIOP_TargetAddress__tao_seq_Octet_I_ */ + +ACE_INLINE CORBA::Boolean operator<< ( + TAO_OutputCDR &strm, + const GIOP::TargetAddress &_tao_union + ) +{ + if ( !(strm << _tao_union._d ()) ) + { + return 0; + } + CORBA::Boolean result = 1; + switch (_tao_union._d ()) + { + case 0: + { + result = strm << _tao_union.object_key (); + } + break; + case 1: + { + result = strm << _tao_union.profile (); + } + break; + case 2: + { + result = strm << _tao_union.ior (); + } + break; + default: + break; + } + return result; +} + +ACE_INLINE CORBA::Boolean operator>> ( + TAO_InputCDR &strm, + GIOP::TargetAddress &_tao_union + ) +{ + CORBA::Short _tao_discriminant; + if ( !(strm >> _tao_discriminant) ) + { + return 0; + } + CORBA::Boolean result = 1; + switch (_tao_discriminant) + { + case 0: + { + GIOP::TargetAddress::_tao_seq_Octet _tao_union_tmp; + result = strm >> _tao_union_tmp; + if (result) + _tao_union.object_key (_tao_union_tmp); + } + break; + case 1: + { + IOP::TaggedProfile _tao_union_tmp; + result = strm >> _tao_union_tmp; + if (result) + _tao_union.profile (_tao_union_tmp); + } + break; + case 2: + { + GIOP::IORAddressingInfo _tao_union_tmp; + result = strm >> _tao_union_tmp; + if (result) + _tao_union.ior (_tao_union_tmp); + } + break; + default: + _tao_union._d (_tao_discriminant); + break; + } + return result; +} + |