// -*- 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/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/union_ci.cpp:35

// *************************************************************
// Inline operations for union CSI::IdentityToken
// *************************************************************
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:143



// Accessor to set the discriminant.
ACE_INLINE
void
CSI::IdentityToken::_d (::CORBA::ULong discval)
{
  this->disc_ = discval;
}

// Accessor to get the discriminant.
ACE_INLINE
::CORBA::ULong
CSI::IdentityToken::_d () const
{
  return this->disc_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:571

// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::absent (CORBA::Boolean val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 0U;
  // Set the value.
  this->u_.absent_ = val;
}

/// Retrieve the member.
ACE_INLINE
::CORBA::Boolean
CSI::IdentityToken::absent () const
{
  return this->u_.absent_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:571

// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::anonymous (CORBA::Boolean val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 1U;
  // Set the value.
  this->u_.anonymous_ = val;
}

/// Retrieve the member.
ACE_INLINE
::CORBA::Boolean
CSI::IdentityToken::anonymous () const
{
  return this->u_.anonymous_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:781

/// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::principal_name (const CSI::GSS_NT_ExportedName &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 2U;
  ACE_NEW (
      this->u_.principal_name_,
      CSI::GSS_NT_ExportedName (val)
    );
}

/// Readonly get method.
ACE_INLINE
const CSI::GSS_NT_ExportedName &
CSI::IdentityToken::principal_name () const
{
  return *this->u_.principal_name_;
}

/// Read/write get method.
ACE_INLINE
CSI::GSS_NT_ExportedName &
CSI::IdentityToken::principal_name ()
{
  return *this->u_.principal_name_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:781

/// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::certificate_chain (const CSI::X509CertificateChain &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 4U;
  ACE_NEW (
      this->u_.certificate_chain_,
      CSI::X509CertificateChain (val)
    );
}

/// Readonly get method.
ACE_INLINE
const CSI::X509CertificateChain &
CSI::IdentityToken::certificate_chain () const
{
  return *this->u_.certificate_chain_;
}

/// Read/write get method.
ACE_INLINE
CSI::X509CertificateChain &
CSI::IdentityToken::certificate_chain ()
{
  return *this->u_.certificate_chain_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:781

/// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::dn (const CSI::X501DistinguishedName &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 8U;
  ACE_NEW (
      this->u_.dn_,
      CSI::X501DistinguishedName (val)
    );
}

/// Readonly get method.
ACE_INLINE
const CSI::X501DistinguishedName &
CSI::IdentityToken::dn () const
{
  return *this->u_.dn_;
}

/// Read/write get method.
ACE_INLINE
CSI::X501DistinguishedName &
CSI::IdentityToken::dn ()
{
  return *this->u_.dn_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:781

/// Accessor to set the member.
ACE_INLINE
void
CSI::IdentityToken::id (const CSI::IdentityExtension &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 3;
  ACE_NEW (
      this->u_.id_,
      CSI::IdentityExtension (val)
    );
}

/// Readonly get method.
ACE_INLINE
const CSI::IdentityExtension &
CSI::IdentityToken::id () const
{
  return *this->u_.id_;
}

/// Read/write get method.
ACE_INLINE
CSI::IdentityExtension &
CSI::IdentityToken::id ()
{
  return *this->u_.id_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/union_ci.cpp:35

// *************************************************************
// Inline operations for union CSI::SASContextBody
// *************************************************************
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union/discriminant_ci.cpp:143

ACE_INLINE
void
CSI::SASContextBody::_default ()
{
  this->_reset ();
  this->disc_ = -32768;
}

// Accessor to set the discriminant.
ACE_INLINE
void
CSI::SASContextBody::_d (::CORBA::Short discval)
{
  this->disc_ = discval;
}

// Accessor to get the discriminant.
ACE_INLINE
::CORBA::Short
CSI::SASContextBody::_d () const
{
  return this->disc_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
CSI::SASContextBody::establish_msg (const CSI::EstablishContext &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 0;
  ACE_NEW (
      this->u_.establish_msg_,
      CSI::EstablishContext (val)
    );
}

// Readonly get method.
ACE_INLINE
const CSI::EstablishContext &
CSI::SASContextBody::establish_msg () const
{
  return *this->u_.establish_msg_;
}

// Read/write get method.
ACE_INLINE
CSI::EstablishContext &
CSI::SASContextBody::establish_msg ()
{
  return *this->u_.establish_msg_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
CSI::SASContextBody::complete_msg (const CSI::CompleteEstablishContext &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 1;
  ACE_NEW (
      this->u_.complete_msg_,
      CSI::CompleteEstablishContext (val)
    );
}

// Readonly get method.
ACE_INLINE
const CSI::CompleteEstablishContext &
CSI::SASContextBody::complete_msg () const
{
  return *this->u_.complete_msg_;
}

// Read/write get method.
ACE_INLINE
CSI::CompleteEstablishContext &
CSI::SASContextBody::complete_msg ()
{
  return *this->u_.complete_msg_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
CSI::SASContextBody::error_msg (const CSI::ContextError &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 4;
  ACE_NEW (
      this->u_.error_msg_,
      CSI::ContextError (val)
    );
}

// Readonly get method.
ACE_INLINE
const CSI::ContextError &
CSI::SASContextBody::error_msg () const
{
  return *this->u_.error_msg_;
}

// Read/write get method.
ACE_INLINE
CSI::ContextError &
CSI::SASContextBody::error_msg ()
{
  return *this->u_.error_msg_;
}
// TAO_IDL - Generated from
// /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_devel_tao/tao/work/ACE_wrappers/TAO/TAO_IDL/be/be_visitor_union_branch/public_ci.cpp:1056

/// Accessor to set the member.
ACE_INLINE
void
CSI::SASContextBody::in_context_msg (const CSI::MessageInContext &val)
{
  // Set the discriminant value.
  this->_reset ();
  this->disc_ = 5;
  this->u_.in_context_msg_ = val;
}

// Readonly get method.
ACE_INLINE
const CSI::MessageInContext &
CSI::SASContextBody::in_context_msg () const
{
  return this->u_.in_context_msg_;
}

// Read/write get method.
ACE_INLINE
CSI::MessageInContext &
CSI::SASContextBody::in_context_msg ()
{
  return this->u_.in_context_msg_;
}


TAO_END_VERSIONED_NAMESPACE_DECL


