// -*- 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:303


#include "SecurityLevel2C.h"
#include "tao/CDR.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Typecode.h"
#include "tao/Any_Impl_T.h"
#include "tao/Any_Dual_Impl_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Object_Argument_T.h"
#include "tao/UB_String_Arguments.h"
#include "tao/Var_Size_Argument_T.h"
#include "ace/OS_NS_string.h"

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

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

// TAO_IDL - Generated from
// be/be_visitor_arg_traits.cpp:64

// Arg traits specializations.
namespace TAO
{
  
  // TAO_IDL - Generated from
  // be/be_visitor_arg_traits.cpp:379

#if !defined (_SECURITY_RIGHTSLIST__ARG_TRAITS_CS_)
#define _SECURITY_RIGHTSLIST__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Security_Export Arg_Traits<Security::RightsList>
    : public
        Var_Size_Arg_Traits_T<
            Security::RightsList,
            Security::RightsList_var,
            Security::RightsList_out
          >
  {
  };

#endif /* end #if !defined */
  
  // TAO_IDL - Generated from
  // be/be_visitor_arg_traits.cpp:537

#if !defined (_SECURITY_RIGHTSCOMBINATOR__ARG_TRAITS_CS_)
#define _SECURITY_RIGHTSCOMBINATOR__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Security_Export Arg_Traits<Security::RightsCombinator>
    : public
        Basic_Arg_Traits_T<
            Security::RightsCombinator
          >
  {
  };

#endif /* end #if !defined */
}


// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::PrincipalAuthenticator.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::PrincipalAuthenticator_ptr
TAO::Objref_Traits<SecurityLevel2::PrincipalAuthenticator>::tao_duplicate (
    SecurityLevel2::PrincipalAuthenticator_ptr p
  )
{
  return SecurityLevel2::PrincipalAuthenticator::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::PrincipalAuthenticator>::tao_release (
    SecurityLevel2::PrincipalAuthenticator_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::PrincipalAuthenticator_ptr
TAO::Objref_Traits<SecurityLevel2::PrincipalAuthenticator>::tao_nil (void)
{
  return SecurityLevel2::PrincipalAuthenticator::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::PrincipalAuthenticator>::tao_marshal (
    SecurityLevel2::PrincipalAuthenticator_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_PrincipalAuthenticator_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::PrincipalAuthenticator::PrincipalAuthenticator (void)
{}

SecurityLevel2::PrincipalAuthenticator::~PrincipalAuthenticator (void)
{}

void 
SecurityLevel2::PrincipalAuthenticator::_tao_any_destructor (void *_tao_void_pointer)
{
  PrincipalAuthenticator *_tao_tmp_pointer =
    static_cast<PrincipalAuthenticator *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::PrincipalAuthenticator_ptr
SecurityLevel2::PrincipalAuthenticator::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return PrincipalAuthenticator::_nil ();
    }
  
  PrincipalAuthenticator_ptr proxy =
    dynamic_cast<PrincipalAuthenticator_ptr> (_tao_objref);
  
  return PrincipalAuthenticator::_duplicate (proxy);
}

SecurityLevel2::PrincipalAuthenticator_ptr
SecurityLevel2::PrincipalAuthenticator::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return PrincipalAuthenticator::_nil ();
    }
  
  PrincipalAuthenticator_ptr proxy =
    dynamic_cast<PrincipalAuthenticator_ptr> (_tao_objref);
  
  return PrincipalAuthenticator::_duplicate (proxy);
}

SecurityLevel2::PrincipalAuthenticator_ptr
SecurityLevel2::PrincipalAuthenticator::_duplicate (PrincipalAuthenticator_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::PrincipalAuthenticator::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/PrincipalAuthenticator:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::PrincipalAuthenticator::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/PrincipalAuthenticator:1.8";
}

CORBA::Boolean
SecurityLevel2::PrincipalAuthenticator::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_PrincipalAuthenticator[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  54,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f50), 
  ACE_NTOHL (0x72696e63), 
  ACE_NTOHL (0x6970616c), 
  ACE_NTOHL (0x41757468), 
  ACE_NTOHL (0x656e7469), 
  ACE_NTOHL (0x6361746f), 
  ACE_NTOHL (0x723a312e), 
  ACE_NTOHL (0x38000000),  // repository ID = IDL:omg.org/SecurityLevel2/PrincipalAuthenticator:1.8
    23,
  ACE_NTOHL (0x5072696e), 
  ACE_NTOHL (0x63697061), 
  ACE_NTOHL (0x6c417574), 
  ACE_NTOHL (0x68656e74), 
  ACE_NTOHL (0x69636174), 
  ACE_NTOHL (0x6f720000),  // name = PrincipalAuthenticator
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_PrincipalAuthenticator (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_PrincipalAuthenticator),
    (char *) &_oc_SecurityLevel2_PrincipalAuthenticator,
    0,
    sizeof (SecurityLevel2::PrincipalAuthenticator)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_PrincipalAuthenticator =
    &_tc_TAO_tc_SecurityLevel2_PrincipalAuthenticator;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::Credentials.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::Credentials_ptr
TAO::Objref_Traits<SecurityLevel2::Credentials>::tao_duplicate (
    SecurityLevel2::Credentials_ptr p
  )
{
  return SecurityLevel2::Credentials::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::Credentials>::tao_release (
    SecurityLevel2::Credentials_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::Credentials_ptr
TAO::Objref_Traits<SecurityLevel2::Credentials>::tao_nil (void)
{
  return SecurityLevel2::Credentials::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::Credentials>::tao_marshal (
    SecurityLevel2::Credentials_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_Credentials_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::Credentials::Credentials (void)
{}

SecurityLevel2::Credentials::~Credentials (void)
{}

void 
SecurityLevel2::Credentials::_tao_any_destructor (void *_tao_void_pointer)
{
  Credentials *_tao_tmp_pointer =
    static_cast<Credentials *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::Credentials_ptr
SecurityLevel2::Credentials::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return Credentials::_nil ();
    }
  
  Credentials_ptr proxy =
    dynamic_cast<Credentials_ptr> (_tao_objref);
  
  return Credentials::_duplicate (proxy);
}

SecurityLevel2::Credentials_ptr
SecurityLevel2::Credentials::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return Credentials::_nil ();
    }
  
  Credentials_ptr proxy =
    dynamic_cast<Credentials_ptr> (_tao_objref);
  
  return Credentials::_duplicate (proxy);
}

SecurityLevel2::Credentials_ptr
SecurityLevel2::Credentials::_duplicate (Credentials_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::Credentials::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/Credentials:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::Credentials::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/Credentials:1.8";
}

CORBA::Boolean
SecurityLevel2::Credentials::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_Credentials[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  43,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f43), 
  ACE_NTOHL (0x72656465), 
  ACE_NTOHL (0x6e746961), 
  ACE_NTOHL (0x6c733a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/Credentials:1.8
    12,
  ACE_NTOHL (0x43726564), 
  ACE_NTOHL (0x656e7469), 
  ACE_NTOHL (0x616c7300),  // name = Credentials
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_Credentials (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_Credentials),
    (char *) &_oc_SecurityLevel2_Credentials,
    0,
    sizeof (SecurityLevel2::Credentials)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_Credentials =
    &_tc_TAO_tc_SecurityLevel2_Credentials;
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/sequence_cs.cpp:65

#if !defined (_SECURITYLEVEL2_CREDENTIALSLIST_CS_)
#define _SECURITYLEVEL2_CREDENTIALSLIST_CS_

SecurityLevel2::CredentialsList::CredentialsList (void)
{}

SecurityLevel2::CredentialsList::CredentialsList (
    CORBA::ULong max
  )
  : TAO_Unbounded_Object_Sequence<
        SecurityLevel2::Credentials,
        SecurityLevel2::Credentials_var
      >
    (max)
{}

SecurityLevel2::CredentialsList::CredentialsList (
    CORBA::ULong max,
    CORBA::ULong length,
    SecurityLevel2::Credentials_ptr * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Object_Sequence<
        SecurityLevel2::Credentials,
        SecurityLevel2::Credentials_var
      >
    (max, length, buffer, release)
{}

SecurityLevel2::CredentialsList::CredentialsList (
    const CredentialsList &seq
  )
  : TAO_Unbounded_Object_Sequence<
        SecurityLevel2::Credentials,
        SecurityLevel2::Credentials_var
      >
    (seq)
{}

SecurityLevel2::CredentialsList::~CredentialsList (void)
{}

void SecurityLevel2::CredentialsList::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  CredentialsList * _tao_tmp_pointer =
    static_cast<CredentialsList *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_CredentialsList[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  47,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f43), 
  ACE_NTOHL (0x72656465), 
  ACE_NTOHL (0x6e746961), 
  ACE_NTOHL (0x6c734c69), 
  ACE_NTOHL (0x73743a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/CredentialsList:1.8
    16,
  ACE_NTOHL (0x43726564), 
  ACE_NTOHL (0x656e7469), 
  ACE_NTOHL (0x616c734c), 
  ACE_NTOHL (0x69737400),  // name = CredentialsList
    CORBA::tk_sequence, // typecode kind
  84, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_objref, // typecode kind
    68, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      43,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x53656375), 
      ACE_NTOHL (0x72697479), 
      ACE_NTOHL (0x4c657665), 
      ACE_NTOHL (0x6c322f43), 
      ACE_NTOHL (0x72656465), 
      ACE_NTOHL (0x6e746961), 
      ACE_NTOHL (0x6c733a31), 
      ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/Credentials:1.8
            12,
      ACE_NTOHL (0x43726564), 
      ACE_NTOHL (0x656e7469), 
      ACE_NTOHL (0x616c7300),  // name = Credentials
      
    0U,

};

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_CredentialsList (
    CORBA::tk_alias,
    sizeof (_oc_SecurityLevel2_CredentialsList),
    (char *) &_oc_SecurityLevel2_CredentialsList,
    0,
    sizeof (SecurityLevel2::CredentialsList)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_CredentialsList =
    &_tc_TAO_tc_SecurityLevel2_CredentialsList;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::ReceivedCredentials.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::ReceivedCredentials_ptr
TAO::Objref_Traits<SecurityLevel2::ReceivedCredentials>::tao_duplicate (
    SecurityLevel2::ReceivedCredentials_ptr p
  )
{
  return SecurityLevel2::ReceivedCredentials::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::ReceivedCredentials>::tao_release (
    SecurityLevel2::ReceivedCredentials_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::ReceivedCredentials_ptr
TAO::Objref_Traits<SecurityLevel2::ReceivedCredentials>::tao_nil (void)
{
  return SecurityLevel2::ReceivedCredentials::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::ReceivedCredentials>::tao_marshal (
    SecurityLevel2::ReceivedCredentials_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_ReceivedCredentials_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::ReceivedCredentials::ReceivedCredentials (void)
{}

SecurityLevel2::ReceivedCredentials::~ReceivedCredentials (void)
{}

void 
SecurityLevel2::ReceivedCredentials::_tao_any_destructor (void *_tao_void_pointer)
{
  ReceivedCredentials *_tao_tmp_pointer =
    static_cast<ReceivedCredentials *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::ReceivedCredentials_ptr
SecurityLevel2::ReceivedCredentials::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return ReceivedCredentials::_nil ();
    }
  
  ReceivedCredentials_ptr proxy =
    dynamic_cast<ReceivedCredentials_ptr> (_tao_objref);
  
  return ReceivedCredentials::_duplicate (proxy);
}

SecurityLevel2::ReceivedCredentials_ptr
SecurityLevel2::ReceivedCredentials::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return ReceivedCredentials::_nil ();
    }
  
  ReceivedCredentials_ptr proxy =
    dynamic_cast<ReceivedCredentials_ptr> (_tao_objref);
  
  return ReceivedCredentials::_duplicate (proxy);
}

SecurityLevel2::ReceivedCredentials_ptr
SecurityLevel2::ReceivedCredentials::_duplicate (ReceivedCredentials_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::ReceivedCredentials::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/Credentials:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/ReceivedCredentials:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::ReceivedCredentials::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/ReceivedCredentials:1.8";
}

CORBA::Boolean
SecurityLevel2::ReceivedCredentials::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_ReceivedCredentials[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f52), 
  ACE_NTOHL (0x65636569), 
  ACE_NTOHL (0x76656443), 
  ACE_NTOHL (0x72656465), 
  ACE_NTOHL (0x6e746961), 
  ACE_NTOHL (0x6c733a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/ReceivedCredentials:1.8
    20,
  ACE_NTOHL (0x52656365), 
  ACE_NTOHL (0x69766564), 
  ACE_NTOHL (0x43726564), 
  ACE_NTOHL (0x656e7469), 
  ACE_NTOHL (0x616c7300),  // name = ReceivedCredentials
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_ReceivedCredentials (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_ReceivedCredentials),
    (char *) &_oc_SecurityLevel2_ReceivedCredentials,
    0,
    sizeof (SecurityLevel2::ReceivedCredentials)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_ReceivedCredentials =
    &_tc_TAO_tc_SecurityLevel2_ReceivedCredentials;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::TargetCredentials.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::TargetCredentials_ptr
TAO::Objref_Traits<SecurityLevel2::TargetCredentials>::tao_duplicate (
    SecurityLevel2::TargetCredentials_ptr p
  )
{
  return SecurityLevel2::TargetCredentials::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::TargetCredentials>::tao_release (
    SecurityLevel2::TargetCredentials_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::TargetCredentials_ptr
TAO::Objref_Traits<SecurityLevel2::TargetCredentials>::tao_nil (void)
{
  return SecurityLevel2::TargetCredentials::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::TargetCredentials>::tao_marshal (
    SecurityLevel2::TargetCredentials_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_TargetCredentials_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::TargetCredentials::TargetCredentials (void)
{}

SecurityLevel2::TargetCredentials::~TargetCredentials (void)
{}

void 
SecurityLevel2::TargetCredentials::_tao_any_destructor (void *_tao_void_pointer)
{
  TargetCredentials *_tao_tmp_pointer =
    static_cast<TargetCredentials *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::TargetCredentials_ptr
SecurityLevel2::TargetCredentials::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return TargetCredentials::_nil ();
    }
  
  TargetCredentials_ptr proxy =
    dynamic_cast<TargetCredentials_ptr> (_tao_objref);
  
  return TargetCredentials::_duplicate (proxy);
}

SecurityLevel2::TargetCredentials_ptr
SecurityLevel2::TargetCredentials::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return TargetCredentials::_nil ();
    }
  
  TargetCredentials_ptr proxy =
    dynamic_cast<TargetCredentials_ptr> (_tao_objref);
  
  return TargetCredentials::_duplicate (proxy);
}

SecurityLevel2::TargetCredentials_ptr
SecurityLevel2::TargetCredentials::_duplicate (TargetCredentials_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::TargetCredentials::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/Credentials:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/TargetCredentials:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::TargetCredentials::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/TargetCredentials:1.8";
}

CORBA::Boolean
SecurityLevel2::TargetCredentials::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_TargetCredentials[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  49,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f54), 
  ACE_NTOHL (0x61726765), 
  ACE_NTOHL (0x74437265), 
  ACE_NTOHL (0x64656e74), 
  ACE_NTOHL (0x69616c73), 
  ACE_NTOHL (0x3a312e38), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/SecurityLevel2/TargetCredentials:1.8
    18,
  ACE_NTOHL (0x54617267), 
  ACE_NTOHL (0x65744372), 
  ACE_NTOHL (0x6564656e), 
  ACE_NTOHL (0x7469616c), 
  ACE_NTOHL (0x73000000),  // name = TargetCredentials
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_TargetCredentials (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_TargetCredentials),
    (char *) &_oc_SecurityLevel2_TargetCredentials,
    0,
    sizeof (SecurityLevel2::TargetCredentials)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_TargetCredentials =
    &_tc_TAO_tc_SecurityLevel2_TargetCredentials;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::RequiredRights.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::RequiredRights_ptr
TAO::Objref_Traits<SecurityLevel2::RequiredRights>::tao_duplicate (
    SecurityLevel2::RequiredRights_ptr p
  )
{
  return SecurityLevel2::RequiredRights::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::RequiredRights>::tao_release (
    SecurityLevel2::RequiredRights_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::RequiredRights_ptr
TAO::Objref_Traits<SecurityLevel2::RequiredRights>::tao_nil (void)
{
  return SecurityLevel2::RequiredRights::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::RequiredRights>::tao_marshal (
    SecurityLevel2::RequiredRights_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

// TAO_IDL - Generated from
// be/be_visitor_operation/operation_cs.cpp:78

void SecurityLevel2::RequiredRights::get_required_rights (
    ::CORBA::Object_ptr obj,
    const char * operation_name,
    const char * interface_name,
    ::Security::RightsList_out rights,
    ::Security::RightsCombinator_out rights_combinator
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_RequiredRights_Proxy_Broker_ == 0)
    {
      SecurityLevel2_RequiredRights_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< CORBA::Object>::in_arg_val _tao_obj (obj);
  TAO::Arg_Traits< ::CORBA::Identifier>::in_arg_val _tao_operation_name (operation_name);
  TAO::Arg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_interface_name (interface_name);
  TAO::Arg_Traits< ::Security::RightsList>::out_arg_val _tao_rights (rights);
  TAO::Arg_Traits< ::Security::RightsCombinator>::out_arg_val _tao_rights_combinator (rights_combinator);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_obj,
      &_tao_operation_name,
      &_tao_interface_name,
      &_tao_rights,
      &_tao_rights_combinator
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "get_required_rights",
      19,
      this->the_TAO_RequiredRights_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/operation_cs.cpp:78

void SecurityLevel2::RequiredRights::set_required_rights (
    const char * operation_name,
    const char * interface_name,
    const ::Security::RightsList & rights,
    ::Security::RightsCombinator rights_combinator
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_RequiredRights_Proxy_Broker_ == 0)
    {
      SecurityLevel2_RequiredRights_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CORBA::Identifier>::in_arg_val _tao_operation_name (operation_name);
  TAO::Arg_Traits< ::CORBA::RepositoryId>::in_arg_val _tao_interface_name (interface_name);
  TAO::Arg_Traits< ::Security::RightsList>::in_arg_val _tao_rights (rights);
  TAO::Arg_Traits< ::Security::RightsCombinator>::in_arg_val _tao_rights_combinator (rights_combinator);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_operation_name,
      &_tao_interface_name,
      &_tao_rights,
      &_tao_rights_combinator
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "set_required_rights",
      19,
      this->the_TAO_RequiredRights_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

SecurityLevel2::RequiredRights::RequiredRights (void)
 : the_TAO_RequiredRights_Proxy_Broker_ (0)
{
  this->SecurityLevel2_RequiredRights_setup_collocation ();
}

void
SecurityLevel2::RequiredRights::SecurityLevel2_RequiredRights_setup_collocation ()
{
  if (::SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_RequiredRights_Proxy_Broker_ =
        ::SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer (this);
    }
}

SecurityLevel2::RequiredRights::~RequiredRights (void)
{}

void 
SecurityLevel2::RequiredRights::_tao_any_destructor (void *_tao_void_pointer)
{
  RequiredRights *_tao_tmp_pointer =
    static_cast<RequiredRights *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::RequiredRights_ptr
SecurityLevel2::RequiredRights::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<RequiredRights>::narrow (
        _tao_objref,
        "IDL:omg.org/SecurityLevel2/RequiredRights:1.8",
        SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

SecurityLevel2::RequiredRights_ptr
SecurityLevel2::RequiredRights::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<RequiredRights>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/SecurityLevel2/RequiredRights:1.8",
        SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

SecurityLevel2::RequiredRights_ptr
SecurityLevel2::RequiredRights::_duplicate (RequiredRights_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::RequiredRights::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/RequiredRights:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return this->ACE_NESTED_CLASS (CORBA, Object)::_is_a (
          value
          ACE_ENV_ARG_PARAMETER
        );
    }
}

const char* SecurityLevel2::RequiredRights::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/RequiredRights:1.8";
}

CORBA::Boolean
SecurityLevel2::RequiredRights::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_RequiredRights[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  46,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f52), 
  ACE_NTOHL (0x65717569), 
  ACE_NTOHL (0x72656452), 
  ACE_NTOHL (0x69676874), 
  ACE_NTOHL (0x733a312e), 
  ACE_NTOHL (0x38000000),  // repository ID = IDL:omg.org/SecurityLevel2/RequiredRights:1.8
    15,
  ACE_NTOHL (0x52657175), 
  ACE_NTOHL (0x69726564), 
  ACE_NTOHL (0x52696768), 
  ACE_NTOHL (0x74730000),  // name = RequiredRights
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_RequiredRights (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_RequiredRights),
    (char *) &_oc_SecurityLevel2_RequiredRights,
    0,
    sizeof (SecurityLevel2::RequiredRights)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_RequiredRights =
    &_tc_TAO_tc_SecurityLevel2_RequiredRights;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::AuditChannel.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AuditChannel_ptr
TAO::Objref_Traits<SecurityLevel2::AuditChannel>::tao_duplicate (
    SecurityLevel2::AuditChannel_ptr p
  )
{
  return SecurityLevel2::AuditChannel::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::AuditChannel>::tao_release (
    SecurityLevel2::AuditChannel_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AuditChannel_ptr
TAO::Objref_Traits<SecurityLevel2::AuditChannel>::tao_nil (void)
{
  return SecurityLevel2::AuditChannel::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::AuditChannel>::tao_marshal (
    SecurityLevel2::AuditChannel_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_AuditChannel_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::AuditChannel::AuditChannel (void)
{}

SecurityLevel2::AuditChannel::~AuditChannel (void)
{}

void 
SecurityLevel2::AuditChannel::_tao_any_destructor (void *_tao_void_pointer)
{
  AuditChannel *_tao_tmp_pointer =
    static_cast<AuditChannel *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::AuditChannel_ptr
SecurityLevel2::AuditChannel::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AuditChannel::_nil ();
    }
  
  AuditChannel_ptr proxy =
    dynamic_cast<AuditChannel_ptr> (_tao_objref);
  
  return AuditChannel::_duplicate (proxy);
}

SecurityLevel2::AuditChannel_ptr
SecurityLevel2::AuditChannel::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AuditChannel::_nil ();
    }
  
  AuditChannel_ptr proxy =
    dynamic_cast<AuditChannel_ptr> (_tao_objref);
  
  return AuditChannel::_duplicate (proxy);
}

SecurityLevel2::AuditChannel_ptr
SecurityLevel2::AuditChannel::_duplicate (AuditChannel_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::AuditChannel::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/AuditChannel:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::AuditChannel::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/AuditChannel:1.8";
}

CORBA::Boolean
SecurityLevel2::AuditChannel::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_AuditChannel[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  44,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f41), 
  ACE_NTOHL (0x75646974), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c3a), 
  ACE_NTOHL (0x312e3800),  // repository ID = IDL:omg.org/SecurityLevel2/AuditChannel:1.8
    13,
  ACE_NTOHL (0x41756469), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x0),  // name = AuditChannel
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_AuditChannel (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_AuditChannel),
    (char *) &_oc_SecurityLevel2_AuditChannel,
    0,
    sizeof (SecurityLevel2::AuditChannel)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_AuditChannel =
    &_tc_TAO_tc_SecurityLevel2_AuditChannel;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::AuditDecision.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AuditDecision_ptr
TAO::Objref_Traits<SecurityLevel2::AuditDecision>::tao_duplicate (
    SecurityLevel2::AuditDecision_ptr p
  )
{
  return SecurityLevel2::AuditDecision::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::AuditDecision>::tao_release (
    SecurityLevel2::AuditDecision_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AuditDecision_ptr
TAO::Objref_Traits<SecurityLevel2::AuditDecision>::tao_nil (void)
{
  return SecurityLevel2::AuditDecision::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::AuditDecision>::tao_marshal (
    SecurityLevel2::AuditDecision_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_AuditDecision_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::AuditDecision::AuditDecision (void)
{}

SecurityLevel2::AuditDecision::~AuditDecision (void)
{}

void 
SecurityLevel2::AuditDecision::_tao_any_destructor (void *_tao_void_pointer)
{
  AuditDecision *_tao_tmp_pointer =
    static_cast<AuditDecision *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::AuditDecision_ptr
SecurityLevel2::AuditDecision::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AuditDecision::_nil ();
    }
  
  AuditDecision_ptr proxy =
    dynamic_cast<AuditDecision_ptr> (_tao_objref);
  
  return AuditDecision::_duplicate (proxy);
}

SecurityLevel2::AuditDecision_ptr
SecurityLevel2::AuditDecision::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AuditDecision::_nil ();
    }
  
  AuditDecision_ptr proxy =
    dynamic_cast<AuditDecision_ptr> (_tao_objref);
  
  return AuditDecision::_duplicate (proxy);
}

SecurityLevel2::AuditDecision_ptr
SecurityLevel2::AuditDecision::_duplicate (AuditDecision_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::AuditDecision::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/AuditDecision:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::AuditDecision::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/AuditDecision:1.8";
}

CORBA::Boolean
SecurityLevel2::AuditDecision::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_AuditDecision[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  45,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f41), 
  ACE_NTOHL (0x75646974), 
  ACE_NTOHL (0x44656369), 
  ACE_NTOHL (0x73696f6e), 
  ACE_NTOHL (0x3a312e38), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/SecurityLevel2/AuditDecision:1.8
    14,
  ACE_NTOHL (0x41756469), 
  ACE_NTOHL (0x74446563), 
  ACE_NTOHL (0x6973696f), 
  ACE_NTOHL (0x6e000000),  // name = AuditDecision
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_AuditDecision (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_AuditDecision),
    (char *) &_oc_SecurityLevel2_AuditDecision,
    0,
    sizeof (SecurityLevel2::AuditDecision)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_AuditDecision =
    &_tc_TAO_tc_SecurityLevel2_AuditDecision;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::AccessDecision.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AccessDecision_ptr
TAO::Objref_Traits<SecurityLevel2::AccessDecision>::tao_duplicate (
    SecurityLevel2::AccessDecision_ptr p
  )
{
  return SecurityLevel2::AccessDecision::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::AccessDecision>::tao_release (
    SecurityLevel2::AccessDecision_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::AccessDecision_ptr
TAO::Objref_Traits<SecurityLevel2::AccessDecision>::tao_nil (void)
{
  return SecurityLevel2::AccessDecision::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::AccessDecision>::tao_marshal (
    SecurityLevel2::AccessDecision_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_AccessDecision_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::AccessDecision::AccessDecision (void)
{}

SecurityLevel2::AccessDecision::~AccessDecision (void)
{}

void 
SecurityLevel2::AccessDecision::_tao_any_destructor (void *_tao_void_pointer)
{
  AccessDecision *_tao_tmp_pointer =
    static_cast<AccessDecision *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::AccessDecision_ptr
SecurityLevel2::AccessDecision::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AccessDecision::_nil ();
    }
  
  AccessDecision_ptr proxy =
    dynamic_cast<AccessDecision_ptr> (_tao_objref);
  
  return AccessDecision::_duplicate (proxy);
}

SecurityLevel2::AccessDecision_ptr
SecurityLevel2::AccessDecision::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return AccessDecision::_nil ();
    }
  
  AccessDecision_ptr proxy =
    dynamic_cast<AccessDecision_ptr> (_tao_objref);
  
  return AccessDecision::_duplicate (proxy);
}

SecurityLevel2::AccessDecision_ptr
SecurityLevel2::AccessDecision::_duplicate (AccessDecision_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::AccessDecision::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/AccessDecision:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::AccessDecision::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/AccessDecision:1.8";
}

CORBA::Boolean
SecurityLevel2::AccessDecision::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_AccessDecision[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  46,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f41), 
  ACE_NTOHL (0x63636573), 
  ACE_NTOHL (0x73446563), 
  ACE_NTOHL (0x6973696f), 
  ACE_NTOHL (0x6e3a312e), 
  ACE_NTOHL (0x38000000),  // repository ID = IDL:omg.org/SecurityLevel2/AccessDecision:1.8
    15,
  ACE_NTOHL (0x41636365), 
  ACE_NTOHL (0x73734465), 
  ACE_NTOHL (0x63697369), 
  ACE_NTOHL (0x6f6e0000),  // name = AccessDecision
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_AccessDecision (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_AccessDecision),
    (char *) &_oc_SecurityLevel2_AccessDecision,
    0,
    sizeof (SecurityLevel2::AccessDecision)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_AccessDecision =
    &_tc_TAO_tc_SecurityLevel2_AccessDecision;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::QOPPolicy.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::QOPPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::QOPPolicy>::tao_duplicate (
    SecurityLevel2::QOPPolicy_ptr p
  )
{
  return SecurityLevel2::QOPPolicy::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::QOPPolicy>::tao_release (
    SecurityLevel2::QOPPolicy_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::QOPPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::QOPPolicy>::tao_nil (void)
{
  return SecurityLevel2::QOPPolicy::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::QOPPolicy>::tao_marshal (
    SecurityLevel2::QOPPolicy_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_QOPPolicy_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::QOPPolicy::QOPPolicy (void)
{}

SecurityLevel2::QOPPolicy::~QOPPolicy (void)
{}

void 
SecurityLevel2::QOPPolicy::_tao_any_destructor (void *_tao_void_pointer)
{
  QOPPolicy *_tao_tmp_pointer =
    static_cast<QOPPolicy *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::QOPPolicy_ptr
SecurityLevel2::QOPPolicy::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return QOPPolicy::_nil ();
    }
  
  QOPPolicy_ptr proxy =
    dynamic_cast<QOPPolicy_ptr> (_tao_objref);
  
  return QOPPolicy::_duplicate (proxy);
}

SecurityLevel2::QOPPolicy_ptr
SecurityLevel2::QOPPolicy::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return QOPPolicy::_nil ();
    }
  
  QOPPolicy_ptr proxy =
    dynamic_cast<QOPPolicy_ptr> (_tao_objref);
  
  return QOPPolicy::_duplicate (proxy);
}

SecurityLevel2::QOPPolicy_ptr
SecurityLevel2::QOPPolicy::_duplicate (QOPPolicy_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::QOPPolicy::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/QOPPolicy:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::QOPPolicy::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/QOPPolicy:1.8";
}

CORBA::Boolean
SecurityLevel2::QOPPolicy::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_QOPPolicy[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  41,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f51), 
  ACE_NTOHL (0x4f50506f), 
  ACE_NTOHL (0x6c696379), 
  ACE_NTOHL (0x3a312e38), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/SecurityLevel2/QOPPolicy:1.8
    10,
  ACE_NTOHL (0x514f5050), 
  ACE_NTOHL (0x6f6c6963), 
  ACE_NTOHL (0x79000000),  // name = QOPPolicy
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_QOPPolicy (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_QOPPolicy),
    (char *) &_oc_SecurityLevel2_QOPPolicy,
    0,
    sizeof (SecurityLevel2::QOPPolicy)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_QOPPolicy =
    &_tc_TAO_tc_SecurityLevel2_QOPPolicy;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::MechanismPolicy.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::MechanismPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::MechanismPolicy>::tao_duplicate (
    SecurityLevel2::MechanismPolicy_ptr p
  )
{
  return SecurityLevel2::MechanismPolicy::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::MechanismPolicy>::tao_release (
    SecurityLevel2::MechanismPolicy_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::MechanismPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::MechanismPolicy>::tao_nil (void)
{
  return SecurityLevel2::MechanismPolicy::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::MechanismPolicy>::tao_marshal (
    SecurityLevel2::MechanismPolicy_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_MechanismPolicy_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::MechanismPolicy::MechanismPolicy (void)
{}

SecurityLevel2::MechanismPolicy::~MechanismPolicy (void)
{}

void 
SecurityLevel2::MechanismPolicy::_tao_any_destructor (void *_tao_void_pointer)
{
  MechanismPolicy *_tao_tmp_pointer =
    static_cast<MechanismPolicy *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::MechanismPolicy_ptr
SecurityLevel2::MechanismPolicy::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return MechanismPolicy::_nil ();
    }
  
  MechanismPolicy_ptr proxy =
    dynamic_cast<MechanismPolicy_ptr> (_tao_objref);
  
  return MechanismPolicy::_duplicate (proxy);
}

SecurityLevel2::MechanismPolicy_ptr
SecurityLevel2::MechanismPolicy::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return MechanismPolicy::_nil ();
    }
  
  MechanismPolicy_ptr proxy =
    dynamic_cast<MechanismPolicy_ptr> (_tao_objref);
  
  return MechanismPolicy::_duplicate (proxy);
}

SecurityLevel2::MechanismPolicy_ptr
SecurityLevel2::MechanismPolicy::_duplicate (MechanismPolicy_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::MechanismPolicy::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/MechanismPolicy:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::MechanismPolicy::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/MechanismPolicy:1.8";
}

CORBA::Boolean
SecurityLevel2::MechanismPolicy::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_MechanismPolicy[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  47,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f4d), 
  ACE_NTOHL (0x65636861), 
  ACE_NTOHL (0x6e69736d), 
  ACE_NTOHL (0x506f6c69), 
  ACE_NTOHL (0x63793a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/MechanismPolicy:1.8
    16,
  ACE_NTOHL (0x4d656368), 
  ACE_NTOHL (0x616e6973), 
  ACE_NTOHL (0x6d506f6c), 
  ACE_NTOHL (0x69637900),  // name = MechanismPolicy
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_MechanismPolicy (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_MechanismPolicy),
    (char *) &_oc_SecurityLevel2_MechanismPolicy,
    0,
    sizeof (SecurityLevel2::MechanismPolicy)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_MechanismPolicy =
    &_tc_TAO_tc_SecurityLevel2_MechanismPolicy;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::InvocationCredentialsPolicy.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::InvocationCredentialsPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::InvocationCredentialsPolicy>::tao_duplicate (
    SecurityLevel2::InvocationCredentialsPolicy_ptr p
  )
{
  return SecurityLevel2::InvocationCredentialsPolicy::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::InvocationCredentialsPolicy>::tao_release (
    SecurityLevel2::InvocationCredentialsPolicy_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::InvocationCredentialsPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::InvocationCredentialsPolicy>::tao_nil (void)
{
  return SecurityLevel2::InvocationCredentialsPolicy::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::InvocationCredentialsPolicy>::tao_marshal (
    SecurityLevel2::InvocationCredentialsPolicy_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_InvocationCredentialsPolicy_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::InvocationCredentialsPolicy::InvocationCredentialsPolicy (void)
{}

SecurityLevel2::InvocationCredentialsPolicy::~InvocationCredentialsPolicy (void)
{}

void 
SecurityLevel2::InvocationCredentialsPolicy::_tao_any_destructor (void *_tao_void_pointer)
{
  InvocationCredentialsPolicy *_tao_tmp_pointer =
    static_cast<InvocationCredentialsPolicy *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::InvocationCredentialsPolicy_ptr
SecurityLevel2::InvocationCredentialsPolicy::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return InvocationCredentialsPolicy::_nil ();
    }
  
  InvocationCredentialsPolicy_ptr proxy =
    dynamic_cast<InvocationCredentialsPolicy_ptr> (_tao_objref);
  
  return InvocationCredentialsPolicy::_duplicate (proxy);
}

SecurityLevel2::InvocationCredentialsPolicy_ptr
SecurityLevel2::InvocationCredentialsPolicy::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return InvocationCredentialsPolicy::_nil ();
    }
  
  InvocationCredentialsPolicy_ptr proxy =
    dynamic_cast<InvocationCredentialsPolicy_ptr> (_tao_objref);
  
  return InvocationCredentialsPolicy::_duplicate (proxy);
}

SecurityLevel2::InvocationCredentialsPolicy_ptr
SecurityLevel2::InvocationCredentialsPolicy::_duplicate (InvocationCredentialsPolicy_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::InvocationCredentialsPolicy::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/InvocationCredentialsPolicy:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::InvocationCredentialsPolicy::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/InvocationCredentialsPolicy:1.8";
}

CORBA::Boolean
SecurityLevel2::InvocationCredentialsPolicy::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_InvocationCredentialsPolicy[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  59,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f49), 
  ACE_NTOHL (0x6e766f63), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e437265), 
  ACE_NTOHL (0x64656e74), 
  ACE_NTOHL (0x69616c73), 
  ACE_NTOHL (0x506f6c69), 
  ACE_NTOHL (0x63793a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/InvocationCredentialsPolicy:1.8
    28,
  ACE_NTOHL (0x496e766f), 
  ACE_NTOHL (0x63617469), 
  ACE_NTOHL (0x6f6e4372), 
  ACE_NTOHL (0x6564656e), 
  ACE_NTOHL (0x7469616c), 
  ACE_NTOHL (0x73506f6c), 
  ACE_NTOHL (0x69637900),  // name = InvocationCredentialsPolicy
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_InvocationCredentialsPolicy (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_InvocationCredentialsPolicy),
    (char *) &_oc_SecurityLevel2_InvocationCredentialsPolicy,
    0,
    sizeof (SecurityLevel2::InvocationCredentialsPolicy)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_InvocationCredentialsPolicy =
    &_tc_TAO_tc_SecurityLevel2_InvocationCredentialsPolicy;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::EstablishTrustPolicy.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::EstablishTrustPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::EstablishTrustPolicy>::tao_duplicate (
    SecurityLevel2::EstablishTrustPolicy_ptr p
  )
{
  return SecurityLevel2::EstablishTrustPolicy::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::EstablishTrustPolicy>::tao_release (
    SecurityLevel2::EstablishTrustPolicy_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::EstablishTrustPolicy_ptr
TAO::Objref_Traits<SecurityLevel2::EstablishTrustPolicy>::tao_nil (void)
{
  return SecurityLevel2::EstablishTrustPolicy::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::EstablishTrustPolicy>::tao_marshal (
    SecurityLevel2::EstablishTrustPolicy_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_EstablishTrustPolicy_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::EstablishTrustPolicy::EstablishTrustPolicy (void)
{}

SecurityLevel2::EstablishTrustPolicy::~EstablishTrustPolicy (void)
{}

void 
SecurityLevel2::EstablishTrustPolicy::_tao_any_destructor (void *_tao_void_pointer)
{
  EstablishTrustPolicy *_tao_tmp_pointer =
    static_cast<EstablishTrustPolicy *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::EstablishTrustPolicy_ptr
SecurityLevel2::EstablishTrustPolicy::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return EstablishTrustPolicy::_nil ();
    }
  
  EstablishTrustPolicy_ptr proxy =
    dynamic_cast<EstablishTrustPolicy_ptr> (_tao_objref);
  
  return EstablishTrustPolicy::_duplicate (proxy);
}

SecurityLevel2::EstablishTrustPolicy_ptr
SecurityLevel2::EstablishTrustPolicy::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return EstablishTrustPolicy::_nil ();
    }
  
  EstablishTrustPolicy_ptr proxy =
    dynamic_cast<EstablishTrustPolicy_ptr> (_tao_objref);
  
  return EstablishTrustPolicy::_duplicate (proxy);
}

SecurityLevel2::EstablishTrustPolicy_ptr
SecurityLevel2::EstablishTrustPolicy::_duplicate (EstablishTrustPolicy_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::EstablishTrustPolicy::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/EstablishTrustPolicy:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::EstablishTrustPolicy::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/EstablishTrustPolicy:1.8";
}

CORBA::Boolean
SecurityLevel2::EstablishTrustPolicy::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_EstablishTrustPolicy[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  52,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f45), 
  ACE_NTOHL (0x73746162), 
  ACE_NTOHL (0x6c697368), 
  ACE_NTOHL (0x54727573), 
  ACE_NTOHL (0x74506f6c), 
  ACE_NTOHL (0x6963793a), 
  ACE_NTOHL (0x312e3800),  // repository ID = IDL:omg.org/SecurityLevel2/EstablishTrustPolicy:1.8
    21,
  ACE_NTOHL (0x45737461), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68547275), 
  ACE_NTOHL (0x7374506f), 
  ACE_NTOHL (0x6c696379), 
  ACE_NTOHL (0x0),  // name = EstablishTrustPolicy
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_EstablishTrustPolicy (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_EstablishTrustPolicy),
    (char *) &_oc_SecurityLevel2_EstablishTrustPolicy,
    0,
    sizeof (SecurityLevel2::EstablishTrustPolicy)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_EstablishTrustPolicy =
    &_tc_TAO_tc_SecurityLevel2_EstablishTrustPolicy;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::DelegationDirectivePolicy.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::DelegationDirectivePolicy_ptr
TAO::Objref_Traits<SecurityLevel2::DelegationDirectivePolicy>::tao_duplicate (
    SecurityLevel2::DelegationDirectivePolicy_ptr p
  )
{
  return SecurityLevel2::DelegationDirectivePolicy::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::DelegationDirectivePolicy>::tao_release (
    SecurityLevel2::DelegationDirectivePolicy_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::DelegationDirectivePolicy_ptr
TAO::Objref_Traits<SecurityLevel2::DelegationDirectivePolicy>::tao_nil (void)
{
  return SecurityLevel2::DelegationDirectivePolicy::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::DelegationDirectivePolicy>::tao_marshal (
    SecurityLevel2::DelegationDirectivePolicy_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_DelegationDirectivePolicy_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::DelegationDirectivePolicy::DelegationDirectivePolicy (void)
{}

SecurityLevel2::DelegationDirectivePolicy::~DelegationDirectivePolicy (void)
{}

void 
SecurityLevel2::DelegationDirectivePolicy::_tao_any_destructor (void *_tao_void_pointer)
{
  DelegationDirectivePolicy *_tao_tmp_pointer =
    static_cast<DelegationDirectivePolicy *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::DelegationDirectivePolicy_ptr
SecurityLevel2::DelegationDirectivePolicy::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return DelegationDirectivePolicy::_nil ();
    }
  
  DelegationDirectivePolicy_ptr proxy =
    dynamic_cast<DelegationDirectivePolicy_ptr> (_tao_objref);
  
  return DelegationDirectivePolicy::_duplicate (proxy);
}

SecurityLevel2::DelegationDirectivePolicy_ptr
SecurityLevel2::DelegationDirectivePolicy::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return DelegationDirectivePolicy::_nil ();
    }
  
  DelegationDirectivePolicy_ptr proxy =
    dynamic_cast<DelegationDirectivePolicy_ptr> (_tao_objref);
  
  return DelegationDirectivePolicy::_duplicate (proxy);
}

SecurityLevel2::DelegationDirectivePolicy_ptr
SecurityLevel2::DelegationDirectivePolicy::_duplicate (DelegationDirectivePolicy_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::DelegationDirectivePolicy::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Policy:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/DelegationDirectivePolicy:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::DelegationDirectivePolicy::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/DelegationDirectivePolicy:1.8";
}

CORBA::Boolean
SecurityLevel2::DelegationDirectivePolicy::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_DelegationDirectivePolicy[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  57,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f44), 
  ACE_NTOHL (0x656c6567), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e446972), 
  ACE_NTOHL (0x65637469), 
  ACE_NTOHL (0x7665506f), 
  ACE_NTOHL (0x6c696379), 
  ACE_NTOHL (0x3a312e38), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/SecurityLevel2/DelegationDirectivePolicy:1.8
    26,
  ACE_NTOHL (0x44656c65), 
  ACE_NTOHL (0x67617469), 
  ACE_NTOHL (0x6f6e4469), 
  ACE_NTOHL (0x72656374), 
  ACE_NTOHL (0x69766550), 
  ACE_NTOHL (0x6f6c6963), 
  ACE_NTOHL (0x79000000),  // name = DelegationDirectivePolicy
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_DelegationDirectivePolicy (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_DelegationDirectivePolicy),
    (char *) &_oc_SecurityLevel2_DelegationDirectivePolicy,
    0,
    sizeof (SecurityLevel2::DelegationDirectivePolicy)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_DelegationDirectivePolicy =
    &_tc_TAO_tc_SecurityLevel2_DelegationDirectivePolicy;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::SecurityManager.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::SecurityManager_ptr
TAO::Objref_Traits<SecurityLevel2::SecurityManager>::tao_duplicate (
    SecurityLevel2::SecurityManager_ptr p
  )
{
  return SecurityLevel2::SecurityManager::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::SecurityManager>::tao_release (
    SecurityLevel2::SecurityManager_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::SecurityManager_ptr
TAO::Objref_Traits<SecurityLevel2::SecurityManager>::tao_nil (void)
{
  return SecurityLevel2::SecurityManager::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::SecurityManager>::tao_marshal (
    SecurityLevel2::SecurityManager_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_SecurityManager_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::SecurityManager::SecurityManager (void)
{}

SecurityLevel2::SecurityManager::~SecurityManager (void)
{}

void 
SecurityLevel2::SecurityManager::_tao_any_destructor (void *_tao_void_pointer)
{
  SecurityManager *_tao_tmp_pointer =
    static_cast<SecurityManager *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::SecurityManager_ptr
SecurityLevel2::SecurityManager::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return SecurityManager::_nil ();
    }
  
  SecurityManager_ptr proxy =
    dynamic_cast<SecurityManager_ptr> (_tao_objref);
  
  return SecurityManager::_duplicate (proxy);
}

SecurityLevel2::SecurityManager_ptr
SecurityLevel2::SecurityManager::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return SecurityManager::_nil ();
    }
  
  SecurityManager_ptr proxy =
    dynamic_cast<SecurityManager_ptr> (_tao_objref);
  
  return SecurityManager::_duplicate (proxy);
}

SecurityLevel2::SecurityManager_ptr
SecurityLevel2::SecurityManager::_duplicate (SecurityManager_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::SecurityManager::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/SecurityManager:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::SecurityManager::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/SecurityManager:1.8";
}

CORBA::Boolean
SecurityLevel2::SecurityManager::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_SecurityManager[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  47,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f53), 
  ACE_NTOHL (0x65637572), 
  ACE_NTOHL (0x6974794d), 
  ACE_NTOHL (0x616e6167), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/SecurityManager:1.8
    16,
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4d616e61), 
  ACE_NTOHL (0x67657200),  // name = SecurityManager
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_SecurityManager (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_SecurityManager),
    (char *) &_oc_SecurityLevel2_SecurityManager,
    0,
    sizeof (SecurityLevel2::SecurityManager)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_SecurityManager =
    &_tc_TAO_tc_SecurityLevel2_SecurityManager;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_cs.cpp:60

// Traits specializations for SecurityLevel2::Current.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::Current_ptr
TAO::Objref_Traits<SecurityLevel2::Current>::tao_duplicate (
    SecurityLevel2::Current_ptr p
  )
{
  return SecurityLevel2::Current::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<SecurityLevel2::Current>::tao_release (
    SecurityLevel2::Current_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
SecurityLevel2::Current_ptr
TAO::Objref_Traits<SecurityLevel2::Current>::tao_nil (void)
{
  return SecurityLevel2::Current::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<SecurityLevel2::Current>::tao_marshal (
    SecurityLevel2::Current_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

// Function pointer for collocation factory initialization.
TAO::Collocation_Proxy_Broker * 
(*SecurityLevel2__TAO_Current_Proxy_Broker_Factory_function_pointer) (
    CORBA::Object_ptr obj
  ) = 0;

SecurityLevel2::Current::Current (void)
{}

SecurityLevel2::Current::~Current (void)
{}

void 
SecurityLevel2::Current::_tao_any_destructor (void *_tao_void_pointer)
{
  Current *_tao_tmp_pointer =
    static_cast<Current *> (_tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

SecurityLevel2::Current_ptr
SecurityLevel2::Current::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return Current::_nil ();
    }
  
  Current_ptr proxy =
    dynamic_cast<Current_ptr> (_tao_objref);
  
  return Current::_duplicate (proxy);
}

SecurityLevel2::Current_ptr
SecurityLevel2::Current::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (CORBA::is_nil (_tao_objref))
    {
      return Current::_nil ();
    }
  
  Current_ptr proxy =
    dynamic_cast<Current_ptr> (_tao_objref);
  
  return Current::_duplicate (proxy);
}

SecurityLevel2::Current_ptr
SecurityLevel2::Current::_duplicate (Current_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
SecurityLevel2::Current::_is_a (
    const char *value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Current:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel1/Current:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/SecurityLevel2/Current:1.8"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/LocalObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Object:1.0"
        )
     )
    {
      return 1; // success using local knowledge
    }
  else
    {
      return 0;
    }
}

const char* SecurityLevel2::Current::_interface_repository_id (void) const
{
  return "IDL:omg.org/SecurityLevel2/Current:1.8";
}

CORBA::Boolean
SecurityLevel2::Current::marshal (TAO_OutputCDR &)
{
  return 0;
}

// TAO_IDL - Generated from
// be/be_visitor_typecode/typecode_defn.cpp:290

static const CORBA::Long _oc_SecurityLevel2_Current[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  39,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x53656375), 
  ACE_NTOHL (0x72697479), 
  ACE_NTOHL (0x4c657665), 
  ACE_NTOHL (0x6c322f43), 
  ACE_NTOHL (0x75727265), 
  ACE_NTOHL (0x6e743a31), 
  ACE_NTOHL (0x2e380000),  // repository ID = IDL:omg.org/SecurityLevel2/Current:1.8
    8,
  ACE_NTOHL (0x43757272), 
  ACE_NTOHL (0x656e7400),  // name = Current
  };

static CORBA::TypeCode _tc_TAO_tc_SecurityLevel2_Current (
    CORBA::tk_objref,
    sizeof (_oc_SecurityLevel2_Current),
    (char *) &_oc_SecurityLevel2_Current,
    0,
    sizeof (SecurityLevel2::Current)
  );

namespace SecurityLevel2
{
  ::CORBA::TypeCode_ptr _tc_Current =
    &_tc_TAO_tc_SecurityLevel2_Current;
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::PrincipalAuthenticator>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::PrincipalAuthenticator>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::PrincipalAuthenticator>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::PrincipalAuthenticator_ptr _tao_elem
  )
{
  SecurityLevel2::PrincipalAuthenticator_ptr _tao_objptr =
    SecurityLevel2::PrincipalAuthenticator::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::PrincipalAuthenticator_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::PrincipalAuthenticator>::insert (
      _tao_any,
      SecurityLevel2::PrincipalAuthenticator::_tao_any_destructor,
      SecurityLevel2::_tc_PrincipalAuthenticator,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::PrincipalAuthenticator_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::PrincipalAuthenticator>::extract (
        _tao_any,
        SecurityLevel2::PrincipalAuthenticator::_tao_any_destructor,
        SecurityLevel2::_tc_PrincipalAuthenticator,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Credentials>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Credentials>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Credentials>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::Credentials_ptr _tao_elem
  )
{
  SecurityLevel2::Credentials_ptr _tao_objptr =
    SecurityLevel2::Credentials::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::Credentials_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::Credentials>::insert (
      _tao_any,
      SecurityLevel2::Credentials::_tao_any_destructor,
      SecurityLevel2::_tc_Credentials,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::Credentials_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::Credentials>::extract (
        _tao_any,
        SecurityLevel2::Credentials::_tao_any_destructor,
        SecurityLevel2::_tc_Credentials,
        _tao_elem
      );
}

// TAO_IDL - Generated from 
// be/be_visitor_sequence/any_op_cs.cpp:54



ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Dual_Impl_T<SecurityLevel2::CredentialsList>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Dual_Impl_T<SecurityLevel2::CredentialsList>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const SecurityLevel2::CredentialsList &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<SecurityLevel2::CredentialsList>::insert_copy (
      _tao_any,
      SecurityLevel2::CredentialsList::_tao_any_destructor,
      SecurityLevel2::_tc_CredentialsList,
      _tao_elem
    );
}

// Non-copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::CredentialsList *_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<SecurityLevel2::CredentialsList>::insert (
      _tao_any,
      SecurityLevel2::CredentialsList::_tao_any_destructor,
      SecurityLevel2::_tc_CredentialsList,
      _tao_elem
    );
}

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::CredentialsList *&_tao_elem
  )
{
  return _tao_any >>= const_cast<
      const SecurityLevel2::CredentialsList *&> (
      _tao_elem
    );
}

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const SecurityLevel2::CredentialsList *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<SecurityLevel2::CredentialsList>::extract (
        _tao_any,
        SecurityLevel2::CredentialsList::_tao_any_destructor,
        SecurityLevel2::_tc_CredentialsList,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::ReceivedCredentials>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::ReceivedCredentials>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::ReceivedCredentials>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::ReceivedCredentials_ptr _tao_elem
  )
{
  SecurityLevel2::ReceivedCredentials_ptr _tao_objptr =
    SecurityLevel2::ReceivedCredentials::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::ReceivedCredentials_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::ReceivedCredentials>::insert (
      _tao_any,
      SecurityLevel2::ReceivedCredentials::_tao_any_destructor,
      SecurityLevel2::_tc_ReceivedCredentials,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::ReceivedCredentials_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::ReceivedCredentials>::extract (
        _tao_any,
        SecurityLevel2::ReceivedCredentials::_tao_any_destructor,
        SecurityLevel2::_tc_ReceivedCredentials,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::TargetCredentials>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::TargetCredentials>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::TargetCredentials>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::TargetCredentials_ptr _tao_elem
  )
{
  SecurityLevel2::TargetCredentials_ptr _tao_objptr =
    SecurityLevel2::TargetCredentials::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::TargetCredentials_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::TargetCredentials>::insert (
      _tao_any,
      SecurityLevel2::TargetCredentials::_tao_any_destructor,
      SecurityLevel2::_tc_TargetCredentials,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::TargetCredentials_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::TargetCredentials>::extract (
        _tao_any,
        SecurityLevel2::TargetCredentials::_tao_any_destructor,
        SecurityLevel2::_tc_TargetCredentials,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::RequiredRights>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::RequiredRights_ptr _tao_elem
  )
{
  SecurityLevel2::RequiredRights_ptr _tao_objptr =
    SecurityLevel2::RequiredRights::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::RequiredRights_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::RequiredRights>::insert (
      _tao_any,
      SecurityLevel2::RequiredRights::_tao_any_destructor,
      SecurityLevel2::_tc_RequiredRights,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::RequiredRights_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::RequiredRights>::extract (
        _tao_any,
        SecurityLevel2::RequiredRights::_tao_any_destructor,
        SecurityLevel2::_tc_RequiredRights,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditChannel>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditChannel>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditChannel>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AuditChannel_ptr _tao_elem
  )
{
  SecurityLevel2::AuditChannel_ptr _tao_objptr =
    SecurityLevel2::AuditChannel::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AuditChannel_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::AuditChannel>::insert (
      _tao_any,
      SecurityLevel2::AuditChannel::_tao_any_destructor,
      SecurityLevel2::_tc_AuditChannel,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::AuditChannel_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::AuditChannel>::extract (
        _tao_any,
        SecurityLevel2::AuditChannel::_tao_any_destructor,
        SecurityLevel2::_tc_AuditChannel,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditDecision>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditDecision>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AuditDecision>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AuditDecision_ptr _tao_elem
  )
{
  SecurityLevel2::AuditDecision_ptr _tao_objptr =
    SecurityLevel2::AuditDecision::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AuditDecision_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::AuditDecision>::insert (
      _tao_any,
      SecurityLevel2::AuditDecision::_tao_any_destructor,
      SecurityLevel2::_tc_AuditDecision,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::AuditDecision_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::AuditDecision>::extract (
        _tao_any,
        SecurityLevel2::AuditDecision::_tao_any_destructor,
        SecurityLevel2::_tc_AuditDecision,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AccessDecision>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AccessDecision>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::AccessDecision>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AccessDecision_ptr _tao_elem
  )
{
  SecurityLevel2::AccessDecision_ptr _tao_objptr =
    SecurityLevel2::AccessDecision::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::AccessDecision_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::AccessDecision>::insert (
      _tao_any,
      SecurityLevel2::AccessDecision::_tao_any_destructor,
      SecurityLevel2::_tc_AccessDecision,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::AccessDecision_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::AccessDecision>::extract (
        _tao_any,
        SecurityLevel2::AccessDecision::_tao_any_destructor,
        SecurityLevel2::_tc_AccessDecision,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::QOPPolicy>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::QOPPolicy>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::QOPPolicy>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::QOPPolicy_ptr _tao_elem
  )
{
  SecurityLevel2::QOPPolicy_ptr _tao_objptr =
    SecurityLevel2::QOPPolicy::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::QOPPolicy_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::QOPPolicy>::insert (
      _tao_any,
      SecurityLevel2::QOPPolicy::_tao_any_destructor,
      SecurityLevel2::_tc_QOPPolicy,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::QOPPolicy_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::QOPPolicy>::extract (
        _tao_any,
        SecurityLevel2::QOPPolicy::_tao_any_destructor,
        SecurityLevel2::_tc_QOPPolicy,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::MechanismPolicy>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::MechanismPolicy>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::MechanismPolicy>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::MechanismPolicy_ptr _tao_elem
  )
{
  SecurityLevel2::MechanismPolicy_ptr _tao_objptr =
    SecurityLevel2::MechanismPolicy::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::MechanismPolicy_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::MechanismPolicy>::insert (
      _tao_any,
      SecurityLevel2::MechanismPolicy::_tao_any_destructor,
      SecurityLevel2::_tc_MechanismPolicy,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::MechanismPolicy_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::MechanismPolicy>::extract (
        _tao_any,
        SecurityLevel2::MechanismPolicy::_tao_any_destructor,
        SecurityLevel2::_tc_MechanismPolicy,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::InvocationCredentialsPolicy>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::InvocationCredentialsPolicy>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::InvocationCredentialsPolicy>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::InvocationCredentialsPolicy_ptr _tao_elem
  )
{
  SecurityLevel2::InvocationCredentialsPolicy_ptr _tao_objptr =
    SecurityLevel2::InvocationCredentialsPolicy::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::InvocationCredentialsPolicy_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::InvocationCredentialsPolicy>::insert (
      _tao_any,
      SecurityLevel2::InvocationCredentialsPolicy::_tao_any_destructor,
      SecurityLevel2::_tc_InvocationCredentialsPolicy,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::InvocationCredentialsPolicy_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::InvocationCredentialsPolicy>::extract (
        _tao_any,
        SecurityLevel2::InvocationCredentialsPolicy::_tao_any_destructor,
        SecurityLevel2::_tc_InvocationCredentialsPolicy,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::EstablishTrustPolicy>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::EstablishTrustPolicy>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::EstablishTrustPolicy>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::EstablishTrustPolicy_ptr _tao_elem
  )
{
  SecurityLevel2::EstablishTrustPolicy_ptr _tao_objptr =
    SecurityLevel2::EstablishTrustPolicy::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::EstablishTrustPolicy_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::EstablishTrustPolicy>::insert (
      _tao_any,
      SecurityLevel2::EstablishTrustPolicy::_tao_any_destructor,
      SecurityLevel2::_tc_EstablishTrustPolicy,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::EstablishTrustPolicy_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::EstablishTrustPolicy>::extract (
        _tao_any,
        SecurityLevel2::EstablishTrustPolicy::_tao_any_destructor,
        SecurityLevel2::_tc_EstablishTrustPolicy,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::DelegationDirectivePolicy>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::DelegationDirectivePolicy>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::DelegationDirectivePolicy>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::DelegationDirectivePolicy_ptr _tao_elem
  )
{
  SecurityLevel2::DelegationDirectivePolicy_ptr _tao_objptr =
    SecurityLevel2::DelegationDirectivePolicy::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::DelegationDirectivePolicy_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::DelegationDirectivePolicy>::insert (
      _tao_any,
      SecurityLevel2::DelegationDirectivePolicy::_tao_any_destructor,
      SecurityLevel2::_tc_DelegationDirectivePolicy,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::DelegationDirectivePolicy_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::DelegationDirectivePolicy>::extract (
        _tao_any,
        SecurityLevel2::DelegationDirectivePolicy::_tao_any_destructor,
        SecurityLevel2::_tc_DelegationDirectivePolicy,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::SecurityManager>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::SecurityManager>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::SecurityManager>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::SecurityManager_ptr _tao_elem
  )
{
  SecurityLevel2::SecurityManager_ptr _tao_objptr =
    SecurityLevel2::SecurityManager::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::SecurityManager_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::SecurityManager>::insert (
      _tao_any,
      SecurityLevel2::SecurityManager::_tao_any_destructor,
      SecurityLevel2::_tc_SecurityManager,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::SecurityManager_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::SecurityManager>::extract (
        _tao_any,
        SecurityLevel2::SecurityManager::_tao_any_destructor,
        SecurityLevel2::_tc_SecurityManager,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/any_op_cs.cpp:50

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Current>::to_object (
    CORBA::Object_ptr &_tao_elem
  ) const
{
  _tao_elem = CORBA::Object::_duplicate (this->value_);
  return 1;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Current>::marshal_value (TAO_OutputCDR &)
{
  return 0;
}

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<SecurityLevel2::Current>::demarshal_value (TAO_InputCDR &)
{
  return 0;
}

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::Current_ptr _tao_elem
  )
{
  SecurityLevel2::Current_ptr _tao_objptr =
    SecurityLevel2::Current::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    SecurityLevel2::Current_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<SecurityLevel2::Current>::insert (
      _tao_any,
      SecurityLevel2::Current::_tao_any_destructor,
      SecurityLevel2::_tc_Current,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    SecurityLevel2::Current_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<SecurityLevel2::Current>::extract (
        _tao_any,
        SecurityLevel2::Current::_tao_any_destructor,
        SecurityLevel2::_tc_Current,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_interface/cdr_op_cs.cpp:63

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const SecurityLevel2::RequiredRights_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    SecurityLevel2::RequiredRights_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::SecurityLevel2::RequiredRights RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        SecurityLevel2__TAO_RequiredRights_Proxy_Broker_Factory_function_pointer
      );
    
  return 1;
}

