summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-12-10 00:12:33 +0000
committernobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-12-10 00:12:33 +0000
commitbfca847446a661564fde0128808d992ee2964a0b (patch)
tree88ea4dc68520974eb8e02f4b5673eee7bbea9047
parente088fcd8661a808ab82f23a275aea9e9190a8502 (diff)
downloadATCD-bfca847446a661564fde0128808d992ee2964a0b.tar.gz
This commit was manufactured by cvs2svn to create branch
'pluggable_messaging'.
-rw-r--r--TAO/tao/GIOPC.cpp610
-rw-r--r--TAO/tao/GIOPC.h426
-rw-r--r--TAO/tao/GIOPC.i794
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;
+}
+