// -*- C++ -*-
//
// IIOP_EndpointsA.cpp,v 1.3 2004/04/15 11:43:33 jwillemsen Exp

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

#include "IIOP_EndpointsC.h"
#include "tao/Typecode.h"
#include "tao/Any_Dual_Impl_T.h"

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

static const CORBA::Long _oc_TAO_IIOP_Endpoint_Info[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  31,
  ACE_NTOHL (0x49444c3a),
  ACE_NTOHL (0x54414f2f),
  ACE_NTOHL (0x49494f50),
  ACE_NTOHL (0x5f456e64),
  ACE_NTOHL (0x706f696e),
  ACE_NTOHL (0x745f496e),
  ACE_NTOHL (0x666f3a31),
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
    19,
  ACE_NTOHL (0x49494f50),
  ACE_NTOHL (0x5f456e64),
  ACE_NTOHL (0x706f696e),
  ACE_NTOHL (0x745f496e),
  ACE_NTOHL (0x666f0000),  // name = IIOP_Endpoint_Info
  3, // member count
    5,
  ACE_NTOHL (0x686f7374),
  ACE_NTOHL (0x0),  // name = host
    CORBA::tk_string,
  0U, // string length
  5,
  ACE_NTOHL (0x706f7274),
  ACE_NTOHL (0x0),  // name = port
    CORBA::tk_short,

  9,
  ACE_NTOHL (0x7072696f),
  ACE_NTOHL (0x72697479),
  ACE_NTOHL (0x0),  // name = priority
    CORBA::tk_short,

};

static CORBA::TypeCode _tc_TAO_tc_TAO_IIOP_Endpoint_Info (
    CORBA::tk_struct,
    sizeof (_oc_TAO_IIOP_Endpoint_Info),
    (char *) &_oc_TAO_IIOP_Endpoint_Info,
    0,
    sizeof (TAO::IIOP_Endpoint_Info)
  );

namespace TAO
{
  ::CORBA::TypeCode_ptr _tc_IIOP_Endpoint_Info =
    &_tc_TAO_tc_TAO_IIOP_Endpoint_Info;
}

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

static const CORBA::Long _oc_TAO_IIOPEndpointSequence[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  33,
  ACE_NTOHL (0x49444c3a),
  ACE_NTOHL (0x54414f2f),
  ACE_NTOHL (0x49494f50),
  ACE_NTOHL (0x456e6470),
  ACE_NTOHL (0x6f696e74),
  ACE_NTOHL (0x53657175),
  ACE_NTOHL (0x656e6365),
  ACE_NTOHL (0x3a312e30),
  ACE_NTOHL (0x0),  // repository ID = IDL:TAO/IIOPEndpointSequence:1.0
    21,
  ACE_NTOHL (0x49494f50),
  ACE_NTOHL (0x456e6470),
  ACE_NTOHL (0x6f696e74),
  ACE_NTOHL (0x53657175),
  ACE_NTOHL (0x656e6365),
  ACE_NTOHL (0x0),  // name = IIOPEndpointSequence
    CORBA::tk_sequence, // typecode kind
  140, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_struct, // typecode kind
    124, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      31,
      ACE_NTOHL (0x49444c3a),
      ACE_NTOHL (0x54414f2f),
      ACE_NTOHL (0x49494f50),
      ACE_NTOHL (0x5f456e64),
      ACE_NTOHL (0x706f696e),
      ACE_NTOHL (0x745f496e),
      ACE_NTOHL (0x666f3a31),
      ACE_NTOHL (0x2e300000),  // repository ID = IDL:TAO/IIOP_Endpoint_Info:1.0
            19,
      ACE_NTOHL (0x49494f50),
      ACE_NTOHL (0x5f456e64),
      ACE_NTOHL (0x706f696e),
      ACE_NTOHL (0x745f496e),
      ACE_NTOHL (0x666f0000),  // name = IIOP_Endpoint_Info
      3, // member count
            5,
      ACE_NTOHL (0x686f7374),
      ACE_NTOHL (0x0),  // name = host
            CORBA::tk_string,
      0U, // string length
      5,
      ACE_NTOHL (0x706f7274),
      ACE_NTOHL (0x0),  // name = port
            CORBA::tk_short,

      9,
      ACE_NTOHL (0x7072696f),
      ACE_NTOHL (0x72697479),
      ACE_NTOHL (0x0),  // name = priority
            CORBA::tk_short,


    0U,

};

static CORBA::TypeCode _tc_TAO_tc_TAO_IIOPEndpointSequence (
    CORBA::tk_alias,
    sizeof (_oc_TAO_IIOPEndpointSequence),
    (char *) &_oc_TAO_IIOPEndpointSequence,
    0,
    sizeof (TAO::IIOPEndpointSequence)
  );

namespace TAO
{
  ::CORBA::TypeCode_ptr _tc_IIOPEndpointSequence =
    &_tc_TAO_tc_TAO_IIOPEndpointSequence;
}

// TAO_IDL - Generated from
// be\be_visitor_structure/any_op_cs.cpp:54

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const TAO::IIOP_Endpoint_Info &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<TAO::IIOP_Endpoint_Info>::insert_copy (
      _tao_any,
      TAO::IIOP_Endpoint_Info::_tao_any_destructor,
      TAO::_tc_IIOP_Endpoint_Info,
      _tao_elem
    );
}

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

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    TAO::IIOP_Endpoint_Info *&_tao_elem
  )
{
  return _tao_any >>= ACE_const_cast (
      const TAO::IIOP_Endpoint_Info *&,
      _tao_elem
    );
}

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

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

// Copying insertion.
void operator<<= (
    CORBA::Any &_tao_any,
    const TAO::IIOPEndpointSequence &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<TAO::IIOPEndpointSequence>::insert_copy (
      _tao_any,
      TAO::IIOPEndpointSequence::_tao_any_destructor,
      TAO::_tc_IIOPEndpointSequence,
      _tao_elem
    );
}

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

// Extraction to non-const pointer (deprecated).
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    TAO::IIOPEndpointSequence *&_tao_elem
  )
{
  return _tao_any >>= ACE_const_cast (
      const TAO::IIOPEndpointSequence *&,
      _tao_elem
    );
}

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



#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

  template class
    TAO::Any_Dual_Impl_T<
        TAO::IIOP_Endpoint_Info
      >;

  template class
    TAO::Any_Dual_Impl_T<
        TAO::IIOPEndpointSequence
      >;

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

# pragma instantiate \
    TAO::Any_Dual_Impl_T< \
        TAO::IIOP_Endpoint_Info \
      >

# pragma instantiate \
    TAO::Any_Dual_Impl_T< \
        TAO::IIOPEndpointSequence \
      >

#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */

