// -*- C++ -*-
//
// $Id$

// ****  Code generated by the The ACE ORB (TAO) IDL Compiler ****
// 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
//       http://doc.ece.uci.edu/
// and
//       Institute for Software Integrated Systems
//       Vanderbilt University
//       Nashville, TN
//       USA
//       http://www.isis.vanderbilt.edu/
//
// Information about TAO is available at:
//     http://www.cs.wustl.edu/~schmidt/TAO.html

// TAO_IDL - Generated from
// be/be_codegen.cpp:153

#ifndef _TAO_IDL_CSIC_H_
#define _TAO_IDL_CSIC_H_

#include /**/ "ace/pre.h"


#include "ace/config-all.h"

#if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
#endif /* ACE_LACKS_PRAGMA_ONCE */

#include "Security/security_export.h"
#include "tao/ORB.h"
#include "tao/Environment.h"
#include "tao/Sequence_T.h"
#include "tao/Seq_Var_T.h"
#include "tao/Seq_Out_T.h"
#include "tao/VarOut_T.h"

#include "tao/IOP_IORC.h"

#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
#endif
#define TAO_EXPORT_MACRO TAO_Security_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_Security_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 */

#if defined (__BORLANDC__)
#pragma option push -w-rvl -w-rch -w-ccc -w-inl
#endif /* __BORLANDC__ */

// TAO_IDL - Generated from
// be/be_visitor_module/module_ch.cpp:48

namespace IOP
{
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const IOP::ServiceId SecurityAttributeService = 15U;

// TAO_IDL - Generated from
// be/be_visitor_module/module_ch.cpp:66

} // module IOP

// TAO_IDL - Generated from
// be/be_visitor_module/module_ch.cpp:48

namespace CSI
{
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CORBA::ULong OMGVMCID = 324816U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_X509CERTIFICATECHAIN_CH_)
#define _CSI_X509CERTIFICATECHAIN_CH_
  
  class X509CertificateChain;
  
  typedef
    TAO_FixedSeq_Var_T<
        X509CertificateChain,
        CORBA::Octet
      >
    X509CertificateChain_var;
  
  typedef
    TAO_Seq_Out_T<
        X509CertificateChain,
        X509CertificateChain_var,
        CORBA::Octet
      >
    X509CertificateChain_out;
  
  class TAO_Security_Export X509CertificateChain
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    X509CertificateChain (void);
    X509CertificateChain (CORBA::ULong max);
    X509CertificateChain (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    X509CertificateChain (const X509CertificateChain &);
    ~X509CertificateChain (void);
    
    static void _tao_any_destructor (void *);
    
    typedef X509CertificateChain_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    X509CertificateChain (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_X509CertificateChain;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_X501DISTINGUISHEDNAME_CH_)
#define _CSI_X501DISTINGUISHEDNAME_CH_
  
  class X501DistinguishedName;
  
  typedef
    TAO_FixedSeq_Var_T<
        X501DistinguishedName,
        CORBA::Octet
      >
    X501DistinguishedName_var;
  
  typedef
    TAO_Seq_Out_T<
        X501DistinguishedName,
        X501DistinguishedName_var,
        CORBA::Octet
      >
    X501DistinguishedName_out;
  
  class TAO_Security_Export X501DistinguishedName
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    X501DistinguishedName (void);
    X501DistinguishedName (CORBA::ULong max);
    X501DistinguishedName (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    X501DistinguishedName (const X501DistinguishedName &);
    ~X501DistinguishedName (void);
    
    static void _tao_any_destructor (void *);
    
    typedef X501DistinguishedName_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    X501DistinguishedName (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_X501DistinguishedName;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_UTF8STRING_CH_)
#define _CSI_UTF8STRING_CH_
  
  class UTF8String;
  
  typedef
    TAO_FixedSeq_Var_T<
        UTF8String,
        CORBA::Octet
      >
    UTF8String_var;
  
  typedef
    TAO_Seq_Out_T<
        UTF8String,
        UTF8String_var,
        CORBA::Octet
      >
    UTF8String_out;
  
  class TAO_Security_Export UTF8String
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    UTF8String (void);
    UTF8String (CORBA::ULong max);
    UTF8String (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    UTF8String (const UTF8String &);
    ~UTF8String (void);
    
    static void _tao_any_destructor (void *);
    
    typedef UTF8String_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    UTF8String (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_UTF8String;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_OID_CH_)
#define _CSI_OID_CH_
  
  class OID;
  
  typedef
    TAO_FixedSeq_Var_T<
        OID,
        CORBA::Octet
      >
    OID_var;
  
  typedef
    TAO_Seq_Out_T<
        OID,
        OID_var,
        CORBA::Octet
      >
    OID_out;
  
  class TAO_Security_Export OID
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    OID (void);
    OID (CORBA::ULong max);
    OID (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    OID (const OID &);
    ~OID (void);
    
    static void _tao_any_destructor (void *);
    
    typedef OID_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    OID (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_OID;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_OIDLIST_CH_)
#define _CSI_OIDLIST_CH_
  
  class OIDList;
  
  typedef
    TAO_VarSeq_Var_T<
        OIDList,
        OID
      >
    OIDList_var;
  
  typedef
    TAO_Seq_Out_T<
        OIDList,
        OIDList_var,
        OID
      >
    OIDList_out;
  
  class TAO_Security_Export OIDList
    : public
        TAO_Unbounded_Sequence<
            OID
          >
  {
  public:
    OIDList (void);
    OIDList (CORBA::ULong max);
    OIDList (
        CORBA::ULong max,
        CORBA::ULong length,
        OID* buffer, 
        CORBA::Boolean release = 0
      );
    OIDList (const OIDList &);
    ~OIDList (void);
    
    static void _tao_any_destructor (void *);
    
    typedef OIDList_var _var_type;
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_OIDList;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_GSSTOKEN_CH_)
#define _CSI_GSSTOKEN_CH_
  
  class GSSToken;
  
  typedef
    TAO_FixedSeq_Var_T<
        GSSToken,
        CORBA::Octet
      >
    GSSToken_var;
  
  typedef
    TAO_Seq_Out_T<
        GSSToken,
        GSSToken_var,
        CORBA::Octet
      >
    GSSToken_out;
  
  class TAO_Security_Export GSSToken
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    GSSToken (void);
    GSSToken (CORBA::ULong max);
    GSSToken (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    GSSToken (const GSSToken &);
    ~GSSToken (void);
    
    static void _tao_any_destructor (void *);
    
    typedef GSSToken_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    GSSToken (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_GSSToken;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_GSS_NT_EXPORTEDNAME_CH_)
#define _CSI_GSS_NT_EXPORTEDNAME_CH_
  
  class GSS_NT_ExportedName;
  
  typedef
    TAO_FixedSeq_Var_T<
        GSS_NT_ExportedName,
        CORBA::Octet
      >
    GSS_NT_ExportedName_var;
  
  typedef
    TAO_Seq_Out_T<
        GSS_NT_ExportedName,
        GSS_NT_ExportedName_var,
        CORBA::Octet
      >
    GSS_NT_ExportedName_out;
  
  class TAO_Security_Export GSS_NT_ExportedName
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    GSS_NT_ExportedName (void);
    GSS_NT_ExportedName (CORBA::ULong max);
    GSS_NT_ExportedName (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    GSS_NT_ExportedName (const GSS_NT_ExportedName &);
    ~GSS_NT_ExportedName (void);
    
    static void _tao_any_destructor (void *);
    
    typedef GSS_NT_ExportedName_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    GSS_NT_ExportedName (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_GSS_NT_ExportedName;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_GSS_NT_EXPORTEDNAMELIST_CH_)
#define _CSI_GSS_NT_EXPORTEDNAMELIST_CH_
  
  class GSS_NT_ExportedNameList;
  
  typedef
    TAO_VarSeq_Var_T<
        GSS_NT_ExportedNameList,
        GSS_NT_ExportedName
      >
    GSS_NT_ExportedNameList_var;
  
  typedef
    TAO_Seq_Out_T<
        GSS_NT_ExportedNameList,
        GSS_NT_ExportedNameList_var,
        GSS_NT_ExportedName
      >
    GSS_NT_ExportedNameList_out;
  
  class TAO_Security_Export GSS_NT_ExportedNameList
    : public
        TAO_Unbounded_Sequence<
            GSS_NT_ExportedName
          >
  {
  public:
    GSS_NT_ExportedNameList (void);
    GSS_NT_ExportedNameList (CORBA::ULong max);
    GSS_NT_ExportedNameList (
        CORBA::ULong max,
        CORBA::ULong length,
        GSS_NT_ExportedName* buffer, 
        CORBA::Boolean release = 0
      );
    GSS_NT_ExportedNameList (const GSS_NT_ExportedNameList &);
    ~GSS_NT_ExportedNameList (void);
    
    static void _tao_any_destructor (void *);
    
    typedef GSS_NT_ExportedNameList_var _var_type;
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_GSS_NT_ExportedNameList;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:342
  
  typedef CORBA::Short MsgType;
  typedef CORBA::Short_out MsgType_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_MsgType;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::MsgType MTEstablishContext = 0;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::MsgType MTCompleteEstablishContext = 1;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::MsgType MTContextError = 4;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::MsgType MTMessageInContext = 5;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:342
  
  typedef CORBA::ULongLong ContextId;
  typedef CORBA::ULongLong_out ContextId_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ContextId;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:342
  
  typedef CORBA::ULong AuthorizationElementType;
  typedef CORBA::ULong_out AuthorizationElementType_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AuthorizationElementType;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::AuthorizationElementType X509AttributeCertChain = 324817U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_AUTHORIZATIONELEMENTCONTENTS_CH_)
#define _CSI_AUTHORIZATIONELEMENTCONTENTS_CH_
  
  class AuthorizationElementContents;
  
  typedef
    TAO_FixedSeq_Var_T<
        AuthorizationElementContents,
        CORBA::Octet
      >
    AuthorizationElementContents_var;
  
  typedef
    TAO_Seq_Out_T<
        AuthorizationElementContents,
        AuthorizationElementContents_var,
        CORBA::Octet
      >
    AuthorizationElementContents_out;
  
  class TAO_Security_Export AuthorizationElementContents
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    AuthorizationElementContents (void);
    AuthorizationElementContents (CORBA::ULong max);
    AuthorizationElementContents (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    AuthorizationElementContents (const AuthorizationElementContents &);
    ~AuthorizationElementContents (void);
    
    static void _tao_any_destructor (void *);
    
    typedef AuthorizationElementContents_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    AuthorizationElementContents (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AuthorizationElementContents;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  struct AuthorizationElement;
  
  typedef
    TAO_Var_Var_T<
        AuthorizationElement
      >
    AuthorizationElement_var;
  
  typedef
    TAO_Out_T<
        AuthorizationElement,
        AuthorizationElement_var
      >
    AuthorizationElement_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:52
  
  struct TAO_Security_Export AuthorizationElement
  {
    typedef AuthorizationElement_var _var_type;
    
    static void _tao_any_destructor (void *);
    CSI::AuthorizationElementType the_type;
    CSI::AuthorizationElementContents the_element;
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AuthorizationElement;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_AUTHORIZATIONTOKEN_CH_)
#define _CSI_AUTHORIZATIONTOKEN_CH_
  
  class AuthorizationToken;
  
  typedef
    TAO_VarSeq_Var_T<
        AuthorizationToken,
        AuthorizationElement
      >
    AuthorizationToken_var;
  
  typedef
    TAO_Seq_Out_T<
        AuthorizationToken,
        AuthorizationToken_var,
        AuthorizationElement
      >
    AuthorizationToken_out;
  
  class TAO_Security_Export AuthorizationToken
    : public
        TAO_Unbounded_Sequence<
            AuthorizationElement
          >
  {
  public:
    AuthorizationToken (void);
    AuthorizationToken (CORBA::ULong max);
    AuthorizationToken (
        CORBA::ULong max,
        CORBA::ULong length,
        AuthorizationElement* buffer, 
        CORBA::Boolean release = 0
      );
    AuthorizationToken (const AuthorizationToken &);
    ~AuthorizationToken (void);
    
    static void _tao_any_destructor (void *);
    
    typedef AuthorizationToken_var _var_type;
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_AuthorizationToken;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:342
  
  typedef CORBA::ULong IdentityTokenType;
  typedef CORBA::ULong_out IdentityTokenType_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IdentityTokenType;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::IdentityTokenType ITTAbsent = 0U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::IdentityTokenType ITTAnonymous = 1U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::IdentityTokenType ITTPrincipalName = 2U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::IdentityTokenType ITTX509CertChain = 4U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const CSI::IdentityTokenType ITTDistinguishedName = 8U;
  
  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:101

#if !defined (_CSI_IDENTITYEXTENSION_CH_)
#define _CSI_IDENTITYEXTENSION_CH_
  
  class IdentityExtension;
  
  typedef
    TAO_FixedSeq_Var_T<
        IdentityExtension,
        CORBA::Octet
      >
    IdentityExtension_var;
  
  typedef
    TAO_Seq_Out_T<
        IdentityExtension,
        IdentityExtension_var,
        CORBA::Octet
      >
    IdentityExtension_out;
  
  class TAO_Security_Export IdentityExtension
    : public
        TAO_Unbounded_Sequence<
            CORBA::Octet
          >
  {
  public:
    IdentityExtension (void);
    IdentityExtension (CORBA::ULong max);
    IdentityExtension (
        CORBA::ULong max,
        CORBA::ULong length,
        CORBA::Octet* buffer, 
        CORBA::Boolean release = 0
      );
    IdentityExtension (const IdentityExtension &);
    ~IdentityExtension (void);
    
    static void _tao_any_destructor (void *);
    
    typedef IdentityExtension_var _var_type;

#if (TAO_NO_COPY_OCTET_SEQUENCES == 1)
    IdentityExtension (
        CORBA::ULong length,
        const ACE_Message_Block* mb
      )
      : TAO_Unbounded_Sequence<CORBA::Octet> (length, mb) {}
#endif /* TAO_NO_COPY_OCTET_SEQUENCE == 1 */
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IdentityExtension;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  class IdentityToken;
  
  typedef
    TAO_Var_Var_T<
        IdentityToken
      >
    IdentityToken_var;
  
  typedef
    TAO_Out_T<
        IdentityToken,
        IdentityToken_var
      >
    IdentityToken_out;

#if !defined (_CSI_IDENTITYTOKEN_CH_)
#define _CSI_IDENTITYTOKEN_CH_
  
  class TAO_Security_Export IdentityToken
  {
  public:
    IdentityToken (void);
    IdentityToken (const IdentityToken &);
    ~IdentityToken (void);
    static void _tao_any_destructor (void*);
    
    IdentityToken &operator= (const IdentityToken &);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union/discriminant_ch.cpp:114
    
    void _d (CORBA::ULong);
    CORBA::ULong _d (void) const;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union/union_ch.cpp:108
    
    typedef IdentityToken_var _var_type;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:416
    
    void absent (CORBA::Boolean);
    CORBA::Boolean absent (void) const;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:416
    
    void anonymous (CORBA::Boolean);
    CORBA::Boolean anonymous (void) const;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:514
    
    void principal_name (const ACE_NESTED_CLASS (CSI, GSS_NT_ExportedName) &);
    const ACE_NESTED_CLASS (CSI, GSS_NT_ExportedName) &principal_name (void) const;
    ACE_NESTED_CLASS (CSI, GSS_NT_ExportedName) &principal_name (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:514
    
    void certificate_chain (const ACE_NESTED_CLASS (CSI, X509CertificateChain) &);
    const ACE_NESTED_CLASS (CSI, X509CertificateChain) &certificate_chain (void) const;
    ACE_NESTED_CLASS (CSI, X509CertificateChain) &certificate_chain (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:514
    
    void dn (const ACE_NESTED_CLASS (CSI, X501DistinguishedName) &);
    const ACE_NESTED_CLASS (CSI, X501DistinguishedName) &dn (void) const;
    ACE_NESTED_CLASS (CSI, X501DistinguishedName) &dn (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:514
    
    void id (const ACE_NESTED_CLASS (CSI, IdentityExtension) &);
    const ACE_NESTED_CLASS (CSI, IdentityExtension) &id (void) const;
    ACE_NESTED_CLASS (CSI, IdentityExtension) &id (void);
  private:
    CORBA::ULong disc_;
    CORBA::ULong holder_;
    
    union
    {
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:348
      CORBA::Boolean absent_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:348
      CORBA::Boolean anonymous_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:412
      ACE_NESTED_CLASS (CSI, GSS_NT_ExportedName) *principal_name_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:412
      ACE_NESTED_CLASS (CSI, X509CertificateChain) *certificate_chain_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:412
      ACE_NESTED_CLASS (CSI, X501DistinguishedName) *dn_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:412
      ACE_NESTED_CLASS (CSI, IdentityExtension) *id_;
    } u_;
    
    // TAO extension - frees any allocated storage.
    void _reset (CORBA::ULong, CORBA::Boolean /* finalize */);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_IdentityToken;

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  struct EstablishContext;
  
  typedef
    TAO_Var_Var_T<
        EstablishContext
      >
    EstablishContext_var;
  
  typedef
    TAO_Out_T<
        EstablishContext,
        EstablishContext_var
      >
    EstablishContext_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:52
  
  struct TAO_Security_Export EstablishContext
  {
    typedef EstablishContext_var _var_type;
    
    static void _tao_any_destructor (void *);
    CSI::ContextId client_context_id;
    CSI::AuthorizationToken authorization_token;
    
    
    CSI::IdentityToken identity_token;
    CSI::GSSToken client_authentication_token;
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_EstablishContext;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  struct CompleteEstablishContext;
  
  typedef
    TAO_Var_Var_T<
        CompleteEstablishContext
      >
    CompleteEstablishContext_var;
  
  typedef
    TAO_Out_T<
        CompleteEstablishContext,
        CompleteEstablishContext_var
      >
    CompleteEstablishContext_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:52
  
  struct TAO_Security_Export CompleteEstablishContext
  {
    typedef CompleteEstablishContext_var _var_type;
    
    static void _tao_any_destructor (void *);
    CSI::ContextId client_context_id;
    CORBA::Boolean context_stateful;
    CSI::GSSToken final_context_token;
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_CompleteEstablishContext;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  struct ContextError;
  
  typedef
    TAO_Var_Var_T<
        ContextError
      >
    ContextError_var;
  
  typedef
    TAO_Out_T<
        ContextError,
        ContextError_var
      >
    ContextError_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:52
  
  struct TAO_Security_Export ContextError
  {
    typedef ContextError_var _var_type;
    
    static void _tao_any_destructor (void *);
    CSI::ContextId client_context_id;
    CORBA::Long major_status;
    CORBA::Long minor_status;
    CSI::GSSToken error_token;
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_ContextError;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  struct MessageInContext;
  
  typedef
    TAO_Fixed_Var_T<
        MessageInContext
      >
    MessageInContext_var;
  
  typedef
    MessageInContext &
    MessageInContext_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:52
  
  struct TAO_Security_Export MessageInContext
  {
    typedef MessageInContext_var _var_type;
    
    static void _tao_any_destructor (void *);
    CSI::ContextId client_context_id;
    CORBA::Boolean discard_context;
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_MessageInContext;
  
  // TAO_IDL - Generated from
  // be/be_type.cpp:258
  
  class SASContextBody;
  
  typedef
    TAO_Var_Var_T<
        SASContextBody
      >
    SASContextBody_var;
  
  typedef
    TAO_Out_T<
        SASContextBody,
        SASContextBody_var
      >
    SASContextBody_out;

#if !defined (_CSI_SASCONTEXTBODY_CH_)
#define _CSI_SASCONTEXTBODY_CH_
  
  class TAO_Security_Export SASContextBody
  {
  public:
    SASContextBody (void);
    SASContextBody (const SASContextBody &);
    ~SASContextBody (void);
    static void _tao_any_destructor (void*);
    
    SASContextBody &operator= (const SASContextBody &);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union/discriminant_ch.cpp:114
    
    void _d (CORBA::Short);
    CORBA::Short _d (void) const;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union/union_ch.cpp:108
    
    typedef SASContextBody_var _var_type;
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:622
    
    void establish_msg (const ACE_NESTED_CLASS (CSI, EstablishContext) &);
    const ACE_NESTED_CLASS (CSI, EstablishContext) &establish_msg (void) const;
    ACE_NESTED_CLASS (CSI, EstablishContext) &establish_msg (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:622
    
    void complete_msg (const ACE_NESTED_CLASS (CSI, CompleteEstablishContext) &);
    const ACE_NESTED_CLASS (CSI, CompleteEstablishContext) &complete_msg (void) const;
    ACE_NESTED_CLASS (CSI, CompleteEstablishContext) &complete_msg (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:622
    
    void error_msg (const ACE_NESTED_CLASS (CSI, ContextError) &);
    const ACE_NESTED_CLASS (CSI, ContextError) &error_msg (void) const;
    ACE_NESTED_CLASS (CSI, ContextError) &error_msg (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union_branch/public_ch.cpp:622
    
    void in_context_msg (const ACE_NESTED_CLASS (CSI, MessageInContext) &);
    const ACE_NESTED_CLASS (CSI, MessageInContext) &in_context_msg (void) const;
    ACE_NESTED_CLASS (CSI, MessageInContext) &in_context_msg (void);
    
    // TAO_IDL - Generated from
    // be/be_visitor_union/union_ch.cpp:142
    
    void _default (void);
  private:
    CORBA::Short disc_;
    CORBA::Short holder_;
    
    union
    {
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:487
      ACE_NESTED_CLASS (CSI, EstablishContext) *establish_msg_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:487
      ACE_NESTED_CLASS (CSI, CompleteEstablishContext) *complete_msg_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:487
      ACE_NESTED_CLASS (CSI, ContextError) *error_msg_;
      // TAO_IDL - Generated from
      // be/be_visitor_union_branch/private_ch.cpp:487
      ACE_NESTED_CLASS (CSI, MessageInContext) in_context_msg_;
    } u_;
    
    // TAO extension - frees any allocated storage.
    void _reset (CORBA::Short, CORBA::Boolean /* finalize */);
  };
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_SASContextBody;

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:376
  
  typedef char * StringOID;
  typedef CORBA::String_var StringOID_var;
  typedef CORBA::String_out StringOID_out;
  
  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:44
  
  TAO_NAMESPACE_STORAGE_CLASS ::CORBA::TypeCode_ptr _tc_StringOID;
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const char *const KRB5MechOID = "oid:1.2.840.113554.1.2.2";
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const char *const GSS_NT_Export_Name_OID = "oid:1.3.6.1.5.6.4";
  
  // TAO_IDL - Generated from
  // be/be_visitor_constant/constant_ch.cpp:52
  
  const char *const GSS_NT_Scoped_Username_OID = "oid:2.23.130.1.2.1";

// TAO_IDL - Generated from
// be/be_visitor_module/module_ch.cpp:66

} // module CSI

// TAO_IDL - Generated from
// be/be_visitor_traits.cpp:59

// Traits specializations.
namespace TAO
{
}

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::X509CertificateChain &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::X509CertificateChain*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::X509CertificateChain *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::X509CertificateChain *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::X501DistinguishedName &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::X501DistinguishedName*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::X501DistinguishedName *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::X501DistinguishedName *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::UTF8String &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::UTF8String*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::UTF8String *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::UTF8String *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::OID &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::OID*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::OID *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::OID *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::OIDList &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::OIDList*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::OIDList *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::OIDList *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::GSSToken &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::GSSToken*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::GSSToken *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::GSSToken *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::GSS_NT_ExportedName &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::GSS_NT_ExportedName*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::GSS_NT_ExportedName *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::GSS_NT_ExportedName *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::GSS_NT_ExportedNameList &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::GSS_NT_ExportedNameList*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::GSS_NT_ExportedNameList *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::GSS_NT_ExportedNameList *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::AuthorizationElementContents &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::AuthorizationElementContents*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::AuthorizationElementContents *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::AuthorizationElementContents *&);

// TAO_IDL - Generated from
// be/be_visitor_structure/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::AuthorizationElement &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::AuthorizationElement*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::AuthorizationElement *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::AuthorizationElement *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::AuthorizationToken &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::AuthorizationToken*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::AuthorizationToken *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::AuthorizationToken *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::IdentityExtension &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::IdentityExtension*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::IdentityExtension *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::IdentityExtension *&);

// TAO_IDL - Generated from
// be/be_visitor_union/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::IdentityToken &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::IdentityToken*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::IdentityToken *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::IdentityToken *&);

// TAO_IDL - Generated from
// be/be_visitor_structure/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::EstablishContext &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::EstablishContext*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::EstablishContext *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::EstablishContext *&);

// TAO_IDL - Generated from
// be/be_visitor_structure/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::CompleteEstablishContext &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::CompleteEstablishContext*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::CompleteEstablishContext *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::CompleteEstablishContext *&);

// TAO_IDL - Generated from
// be/be_visitor_structure/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::ContextError &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::ContextError*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::ContextError *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::ContextError *&);

// TAO_IDL - Generated from
// be/be_visitor_structure/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::MessageInContext &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::MessageInContext*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::MessageInContext *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::MessageInContext *&);

// TAO_IDL - Generated from
// be/be_visitor_union/any_op_ch.cpp:52

TAO_Security_Export void operator<<= (CORBA::Any &, const CSI::SASContextBody &); // copying version
TAO_Security_Export void operator<<= (CORBA::Any &, CSI::SASContextBody*); // noncopying version
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, CSI::SASContextBody *&); // deprecated
TAO_Security_Export CORBA::Boolean operator>>= (const CORBA::Any &, const CSI::SASContextBody *&);

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_X509CertificateChain_H_
#define _TAO_CDR_OP_CSI_X509CertificateChain_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::X509CertificateChain &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::X509CertificateChain &
  );

#endif /* _TAO_CDR_OP_CSI_X509CertificateChain_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_X501DistinguishedName_H_
#define _TAO_CDR_OP_CSI_X501DistinguishedName_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::X501DistinguishedName &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::X501DistinguishedName &
  );

#endif /* _TAO_CDR_OP_CSI_X501DistinguishedName_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_UTF8String_H_
#define _TAO_CDR_OP_CSI_UTF8String_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::UTF8String &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::UTF8String &
  );

#endif /* _TAO_CDR_OP_CSI_UTF8String_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_OID_H_
#define _TAO_CDR_OP_CSI_OID_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::OID &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::OID &
  );

#endif /* _TAO_CDR_OP_CSI_OID_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_OIDList_H_
#define _TAO_CDR_OP_CSI_OIDList_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::OIDList &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::OIDList &
  );

#endif /* _TAO_CDR_OP_CSI_OIDList_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_GSSToken_H_
#define _TAO_CDR_OP_CSI_GSSToken_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::GSSToken &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::GSSToken &
  );

#endif /* _TAO_CDR_OP_CSI_GSSToken_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_GSS_NT_ExportedName_H_
#define _TAO_CDR_OP_CSI_GSS_NT_ExportedName_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::GSS_NT_ExportedName &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::GSS_NT_ExportedName &
  );

#endif /* _TAO_CDR_OP_CSI_GSS_NT_ExportedName_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_H_
#define _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::GSS_NT_ExportedNameList &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::GSS_NT_ExportedNameList &
  );

#endif /* _TAO_CDR_OP_CSI_GSS_NT_ExportedNameList_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_AuthorizationElementContents_H_
#define _TAO_CDR_OP_CSI_AuthorizationElementContents_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::AuthorizationElementContents &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::AuthorizationElementContents &
  );

#endif /* _TAO_CDR_OP_CSI_AuthorizationElementContents_H_ */

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::AuthorizationElement &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::AuthorizationElement &);

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_AuthorizationToken_H_
#define _TAO_CDR_OP_CSI_AuthorizationToken_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::AuthorizationToken &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::AuthorizationToken &
  );

#endif /* _TAO_CDR_OP_CSI_AuthorizationToken_H_ */

// TAO_IDL - Generated from
// be/be_visitor_sequence/cdr_op_ch.cpp:71

#if !defined _TAO_CDR_OP_CSI_IdentityExtension_H_
#define _TAO_CDR_OP_CSI_IdentityExtension_H_

TAO_Security_Export CORBA::Boolean operator<< (
    TAO_OutputCDR &,
    const CSI::IdentityExtension &
  );
TAO_Security_Export CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CSI::IdentityExtension &
  );

#endif /* _TAO_CDR_OP_CSI_IdentityExtension_H_ */

// TAO_IDL - Generated from
// be/be_visitor_union/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::IdentityToken &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::IdentityToken &);

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::EstablishContext &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::EstablishContext &);

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::CompleteEstablishContext &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::CompleteEstablishContext &);

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::ContextError &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::ContextError &);

// TAO_IDL - Generated from
// be/be_visitor_structure/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::MessageInContext &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::MessageInContext &);

// TAO_IDL - Generated from
// be/be_visitor_union/cdr_op_ch.cpp:54

TAO_Security_Export CORBA::Boolean operator<< (TAO_OutputCDR &, const CSI::SASContextBody &);
TAO_Security_Export CORBA::Boolean operator>> (TAO_InputCDR &, CSI::SASContextBody &);

// TAO_IDL - Generated from
// be/be_codegen.cpp:958

#if defined (__ACE_INLINE__)
#include "CSIC.inl"
#endif /* defined __ACE_INLINE__ */

#if defined(_MSC_VER) && (_MSC_VER >= 1200)
#pragma warning(pop)
#endif /* _MSC_VER */

#if defined (__BORLANDC__)
#pragma option pop
#endif /* __BORLANDC__ */

#include /**/ "ace/post.h"

#endif /* ifndef */

