// -*- C++ -*-
/**
 * Code generated by the The ACE ORB (TAO) IDL Compiler v4.0.0
 * TAO and the TAO IDL Compiler have been developed by:
 *       Center for Distributed Object Computing
 *       Washington University
 *       St. Louis, MO
 *       USA
 * and
 *       Distributed Object Computing Laboratory
 *       University of California at Irvine
 *       Irvine, CA
 *       USA
 * and
 *       Institute for Software Integrated Systems
 *       Vanderbilt University
 *       Nashville, TN
 *       USA
 *       https://www.isis.vanderbilt.edu/
 *
 * Information about TAO is available at:
 *     https://www.dre.vanderbilt.edu/~schmidt/TAO.html
 **/


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


// TAO_IDL - Generated from
// /opt/local/var/macports/build/tao-565c56da/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/union_ci.cpp:35

// *************************************************************
// Inline operations for union GIOP::TargetAddress
// *************************************************************
// TAO_IDL - Generated from
// /opt/local/var/macports/build/tao-565c56da/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:143

ACE_INLINE
void
GIOP::TargetAddress::_default ()
{
  this->_reset ();
  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 () const
{
  return this->disc_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/tao-565c56da/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:781

/// Accessor to set the member.
ACE_INLINE
void
GIOP::TargetAddress::object_key (const CORBA::OctetSeq &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 0;
  ACE_NEW (
      this->u_.object_key_,
      CORBA::OctetSeq (val)
    );
}

/// Readonly get method.
ACE_INLINE
const CORBA::OctetSeq &
GIOP::TargetAddress::object_key () const
{
  return *this->u_.object_key_;
}

/// Read/write get method.
ACE_INLINE
CORBA::OctetSeq &
GIOP::TargetAddress::object_key ()
{
  return *this->u_.object_key_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/tao-565c56da/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
GIOP::TargetAddress::profile (const IOP::TaggedProfile &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 1;
  ACE_NEW (
      this->u_.profile_,
      IOP::TaggedProfile (val)
    );
}

// Readonly get method.
ACE_INLINE
const IOP::TaggedProfile &
GIOP::TargetAddress::profile () const
{
  return *this->u_.profile_;
}

// Read/write get method.
ACE_INLINE
IOP::TaggedProfile &
GIOP::TargetAddress::profile ()
{
  return *this->u_.profile_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/tao-565c56da/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
GIOP::TargetAddress::ior (const GIOP::IORAddressingInfo &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 2;
  ACE_NEW (
      this->u_.ior_,
      GIOP::IORAddressingInfo (val)
    );
}

// Readonly get method.
ACE_INLINE
const GIOP::IORAddressingInfo &
GIOP::TargetAddress::ior () const
{
  return *this->u_.ior_;
}

// Read/write get method.
ACE_INLINE
GIOP::IORAddressingInfo &
GIOP::TargetAddress::ior ()
{
  return *this->u_.ior_;
}


TAO_END_VERSIONED_NAMESPACE_DECL


