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


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



// TAO_IDL - Generated from
// be/be_visitor_union/union_ci.cpp:36

// *************************************************************
// Inline operations for union CSI::IdentityToken
// *************************************************************

// TAO_IDL - Generated from
// be/be_visitor_union/discriminant_ci.cpp:145



// 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 (void) const
{
  return this->disc_;
}

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:577

// 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 (void) const
{
  return this->u_.absent_;
}

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:577

// 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 (void) const
{
  return this->u_.anonymous_;
}

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:788

/// 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 (void) const
{
  return *this->u_.principal_name_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:788

/// 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 (void) const
{
  return *this->u_.certificate_chain_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:788

/// 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 (void) const
{
  return *this->u_.dn_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:788

/// 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 (void) const
{
  return *this->u_.id_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union/union_ci.cpp:36

// *************************************************************
// Inline operations for union CSI::SASContextBody
// *************************************************************

// TAO_IDL - Generated from
// be/be_visitor_union/discriminant_ci.cpp:145

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 (void) const
{
  return this->disc_;
}

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:1065

/// 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 (void) const
{
  return *this->u_.establish_msg_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:1065

/// 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 (void) const
{
  return *this->u_.complete_msg_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:1065

/// 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 (void) const
{
  return *this->u_.error_msg_;
}

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

// TAO_IDL - Generated from
// be/be_visitor_union_branch/public_ci.cpp:1065

/// 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 (void) const
{
  return this->u_.in_context_msg_;
}

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


TAO_END_VERSIONED_NAMESPACE_DECL


