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

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

#ifndef _TAO_IDL_MIOPC_ISTADT_H_
#define _TAO_IDL_MIOPC_ISTADT_H_

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


#include /**/ "ace/config-all.h"

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


#include /**/ "orbsvcs/PortableGroup/portablegroup_export.h"
#include "tao/AnyTypeCode/AnyTypeCode_methods.h"
#include "tao/AnyTypeCode/Any.h"
#include "tao/ORB.h"
#include "tao/Basic_Types.h"
#include "tao/String_Manager_T.h"
#include "tao/AnyTypeCode/IOPA.h"
#include "tao/AnyTypeCode/GIOPA.h"
#include "tao/Sequence_T.h"
#include "tao/Seq_Var_T.h"
#include "tao/Seq_Out_T.h"
#include "tao/VarOut_T.h"
#include "tao/Array_VarOut_T.h"
#include "tao/Arg_Traits_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Special_Basic_Arguments.h"
#include "tao/Any_Insert_Policy_T.h"
#include "tao/Fixed_Size_Argument_T.h"
#include "tao/Var_Size_Argument_T.h"
#include "tao/UB_String_Arguments.h"
#include "tao/Fixed_Array_Argument_T.h"
#include "tao/Var_Array_Argument_T.h"
#include /**/ "tao/Version.h"
#include /**/ "tao/Versioned_Namespace.h"

#include "tao/IOPC.h"
#include "tao/GIOPC.h"

#if TAO_MAJOR_VERSION != 2 || TAO_MINOR_VERSION != 4 || TAO_MICRO_VERSION != 0
#error This file should be regenerated with TAO_IDL
#endif

#if defined (TAO_EXPORT_MACRO)
#undef TAO_EXPORT_MACRO
#endif
#define TAO_EXPORT_MACRO TAO_PortableGroup_Export

TAO_BEGIN_VERSIONED_NAMESPACE_DECL



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

namespace MIOP
{

  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:99

#if !defined (_MIOP_UNIQUEID_CH_)
#define _MIOP_UNIQUEID_CH_

  class UniqueId;

  typedef
    ::TAO_FixedSeq_Var_T<
        UniqueId
      >
    UniqueId_var;

  typedef
    ::TAO_Seq_Out_T<
        UniqueId
      >
    UniqueId_out;

  class TAO_PortableGroup_Export UniqueId
    : public
        ::TAO::bounded_value_sequence<
            ::CORBA::Octet,
            252
          >
  {
  public:
    UniqueId (void);
    UniqueId (
      ::CORBA::ULong length,
      ::CORBA::Octet* buffer,
      ::CORBA::Boolean release = false);
    UniqueId (const UniqueId &);
    virtual ~UniqueId (void);
    

    // TAO_IDL - Generated from
    // be/be_type.cpp:304

    
    typedef UniqueId_var _var_type;
    typedef UniqueId_out _out_type;

    static void _tao_any_destructor (void *);
  };

#endif /* end #if !defined */

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_UniqueId;

  // TAO_IDL - Generated from
  // be/be_visitor_array/array_ch.cpp:52

  typedef ::CORBA::Char char4[4];
  typedef ::CORBA::Char char4_slice;
  struct char4_tag {};
  

  typedef
    TAO_FixedArray_Var_T<
        char4,
        char4_slice,
        char4_tag
      >
    char4_var;

  typedef
    char4
    char4_out;

  typedef
    TAO_Array_Forany_T<
        char4,
        char4_slice,
        char4_tag
      >
    char4_forany;

  TAO_NAMESPACE_STORAGE_CLASS char4_slice *
  char4_alloc (void);

  TAO_NAMESPACE_STORAGE_CLASS void
  char4_free (
      char4_slice *_tao_slice);
  
  TAO_NAMESPACE_STORAGE_CLASS char4_slice *
  char4_dup (
      const char4_slice *_tao_slice);
  
  TAO_NAMESPACE_STORAGE_CLASS void
  char4_copy (
      char4_slice *_tao_to,
      const char4_slice *_tao_from);

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_char4;

  // TAO_IDL - Generated from
  // be/be_type.cpp:258

  struct PacketHeader_1_0;

  typedef
    ::TAO_Var_Var_T<
        PacketHeader_1_0
      >
    PacketHeader_1_0_var;

  typedef
    ::TAO_Out_T<
        PacketHeader_1_0
      >
    PacketHeader_1_0_out;

  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:48

  struct TAO_PortableGroup_Export PacketHeader_1_0
  {

    // TAO_IDL - Generated from
    // be/be_type.cpp:304

    
    typedef PacketHeader_1_0_var _var_type;
    typedef PacketHeader_1_0_out _out_type;

    static void _tao_any_destructor (void *);
    
    MIOP::char4 magic;
    ::CORBA::Octet hdr_version;
    ::CORBA::Octet flags;
    ::CORBA::UShort packet_length;
    ::CORBA::ULong packet_number;
    ::CORBA::ULong number_of_packets;
    MIOP::UniqueId Id;
  };

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_PacketHeader_1_0;

  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:510

  typedef GIOP::Version Version;
  typedef GIOP::Version_var Version_var;
  typedef GIOP::Version_out Version_out;

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_Version;

  // TAO_IDL - Generated from
  // be/be_visitor_typedef/typedef_ch.cpp:404

  typedef char * Address;
  typedef ::CORBA::String_var Address_var;
  typedef ::CORBA::String_out Address_out;

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_Address;

  // TAO_IDL - Generated from
  // be/be_visitor_sequence/sequence_ch.cpp:99

#if !defined (_MIOP_COMPONENT_SEQ_CH_)
#define _MIOP_COMPONENT_SEQ_CH_

  class Component_Seq;

  typedef
    ::TAO_VarSeq_Var_T<
        Component_Seq
      >
    Component_Seq_var;

  typedef
    ::TAO_Seq_Out_T<
        Component_Seq
      >
    Component_Seq_out;

  class TAO_PortableGroup_Export Component_Seq
    : public
        ::TAO::unbounded_value_sequence<
            IOP::TaggedComponent
          >
  {
  public:
    Component_Seq (void);
    Component_Seq ( ::CORBA::ULong max);
    Component_Seq (
      ::CORBA::ULong max,
      ::CORBA::ULong length,
      IOP::TaggedComponent* buffer,
      ::CORBA::Boolean release = false);
    Component_Seq (const Component_Seq &);
    virtual ~Component_Seq (void);
    

    // TAO_IDL - Generated from
    // be/be_type.cpp:304

    
    typedef Component_Seq_var _var_type;
    typedef Component_Seq_out _out_type;

    static void _tao_any_destructor (void *);
  };

#endif /* end #if !defined */

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_Component_Seq;

  // TAO_IDL - Generated from
  // be/be_type.cpp:258

  struct UIPMC_ProfileBody;

  typedef
    ::TAO_Var_Var_T<
        UIPMC_ProfileBody
      >
    UIPMC_ProfileBody_var;

  typedef
    ::TAO_Out_T<
        UIPMC_ProfileBody
      >
    UIPMC_ProfileBody_out;

  // TAO_IDL - Generated from
  // be/be_visitor_structure/structure_ch.cpp:48

  struct TAO_PortableGroup_Export UIPMC_ProfileBody
  {

    // TAO_IDL - Generated from
    // be/be_type.cpp:304

    
    typedef UIPMC_ProfileBody_var _var_type;
    typedef UIPMC_ProfileBody_out _out_type;

    static void _tao_any_destructor (void *);
    
    MIOP::Version miop_version;
    ::TAO::String_Manager the_address;
    ::CORBA::Short the_port;
    MIOP::Component_Seq components;
  };

  // TAO_IDL - Generated from
  // be/be_visitor_typecode/typecode_decl.cpp:34

  extern TAO_PortableGroup_Export ::CORBA::TypeCode_ptr const _tc_UIPMC_ProfileBody;

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

} // module MIOP

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


TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


// Arg traits specializations.
namespace TAO
{

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

  template<>
  class Arg_Traits< ::MIOP::UniqueId>
    : public
        Var_Size_Arg_Traits_T<
            ::MIOP::UniqueId,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };

  template<>
  class Arg_Traits< ::MIOP::char4_tag>
    : public
        Fixed_Array_Arg_Traits_T<
            ::MIOP::char4_var,
            ::MIOP::char4_forany,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };

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

  template<>
  class Arg_Traits< ::MIOP::PacketHeader_1_0>
    : public
        Var_Size_Arg_Traits_T<
            ::MIOP::PacketHeader_1_0,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };

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

  template<>
  class Arg_Traits< ::MIOP::Component_Seq>
    : public
        Var_Size_Arg_Traits_T<
            ::MIOP::Component_Seq,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };

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

  template<>
  class Arg_Traits< ::MIOP::UIPMC_ProfileBody>
    : public
        Var_Size_Arg_Traits_T<
            ::MIOP::UIPMC_ProfileBody,
            TAO::Any_Insert_Policy_Stream
          >
  {
  };
}

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




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


TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

// Traits specializations.
namespace TAO
{
  template<>
  struct TAO_PortableGroup_Export Array_Traits<
      MIOP::char4_forany
    >
  {
    static void free (
        MIOP::char4_slice * _tao_slice);
    static MIOP::char4_slice * dup (
        const MIOP::char4_slice * _tao_slice);
    static void copy (
        MIOP::char4_slice * _tao_to,
        const MIOP::char4_slice * _tao_from);
    static MIOP::char4_slice * alloc (void);
    static void zero (
        MIOP::char4_slice * _tao_slice);
  };
}
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




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



#if defined (ACE_ANY_OPS_USE_NAMESPACE)

namespace MIOP
{
  TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, const ::MIOP::UniqueId &); // copying version
  TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, ::MIOP::UniqueId*); // noncopying version
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ::MIOP::UniqueId *&); // deprecated
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const ::MIOP::UniqueId *&);
}

#else



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, const MIOP::UniqueId &); // copying version
TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, MIOP::UniqueId*); // noncopying version
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, MIOP::UniqueId *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const MIOP::UniqueId *&);
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif

// TAO_IDL - Generated from
// be/be_visitor_array/any_op_ch.cpp:37



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, const MIOP::char4_forany &);
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, MIOP::char4_forany &);
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




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



#if defined (ACE_ANY_OPS_USE_NAMESPACE)

namespace MIOP
{
  TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, const ::MIOP::PacketHeader_1_0 &); // copying version
  TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, ::MIOP::PacketHeader_1_0*); // noncopying version
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ::MIOP::PacketHeader_1_0 *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const ::MIOP::PacketHeader_1_0 *&);
}

#else



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, const MIOP::PacketHeader_1_0 &); // copying version
TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, MIOP::PacketHeader_1_0*); // noncopying version
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, MIOP::PacketHeader_1_0 *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const MIOP::PacketHeader_1_0 *&);
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif

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



#if defined (ACE_ANY_OPS_USE_NAMESPACE)

namespace MIOP
{
  TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, const ::MIOP::Component_Seq &); // copying version
  TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, ::MIOP::Component_Seq*); // noncopying version
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ::MIOP::Component_Seq *&); // deprecated
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const ::MIOP::Component_Seq *&);
}

#else



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, const MIOP::Component_Seq &); // copying version
TAO_PortableGroup_Export void operator<<= ( ::CORBA::Any &, MIOP::Component_Seq*); // noncopying version
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, MIOP::Component_Seq *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const MIOP::Component_Seq *&);
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif

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



#if defined (ACE_ANY_OPS_USE_NAMESPACE)

namespace MIOP
{
  TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, const ::MIOP::UIPMC_ProfileBody &); // copying version
  TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, ::MIOP::UIPMC_ProfileBody*); // noncopying version
  TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, ::MIOP::UIPMC_ProfileBody *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const ::MIOP::UIPMC_ProfileBody *&);
}

#else



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, const MIOP::UIPMC_ProfileBody &); // copying version
TAO_PortableGroup_Export void operator<<= (::CORBA::Any &, MIOP::UIPMC_ProfileBody*); // noncopying version
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, MIOP::UIPMC_ProfileBody *&); // deprecated
TAO_PortableGroup_Export ::CORBA::Boolean operator>>= (const ::CORBA::Any &, const MIOP::UIPMC_ProfileBody *&);
TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif

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

#if !defined _TAO_CDR_OP_MIOP_UniqueId_H_
#define _TAO_CDR_OP_MIOP_UniqueId_H_

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


TAO_PortableGroup_Export ::CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const MIOP::UniqueId &_tao_sequence);
TAO_PortableGroup_Export ::CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    MIOP::UniqueId &_tao_sequence);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif /* _TAO_CDR_OP_MIOP_UniqueId_H_ */

// TAO_IDL - Generated from
// be/be_visitor_array/cdr_op_ch.cpp:99



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export CORBA::Boolean operator<< (TAO_OutputCDR &strm, const MIOP::char4_forany &_tao_array);
TAO_PortableGroup_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, MIOP::char4_forany &_tao_array);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL



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



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const MIOP::PacketHeader_1_0 &);
TAO_PortableGroup_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, MIOP::PacketHeader_1_0 &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




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

#if !defined _TAO_CDR_OP_MIOP_Component_Seq_H_
#define _TAO_CDR_OP_MIOP_Component_Seq_H_

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL


TAO_PortableGroup_Export ::CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const MIOP::Component_Seq &_tao_sequence);
TAO_PortableGroup_Export ::CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    MIOP::Component_Seq &_tao_sequence);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




#endif /* _TAO_CDR_OP_MIOP_Component_Seq_H_ */

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



TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO_PortableGroup_Export ::CORBA::Boolean operator<< (TAO_OutputCDR &, const MIOP::UIPMC_ProfileBody &);
TAO_PortableGroup_Export ::CORBA::Boolean operator>> (TAO_InputCDR &, MIOP::UIPMC_ProfileBody &);

TAO_END_VERSIONED_NAMESPACE_DECL


TAO_BEGIN_VERSIONED_NAMESPACE_DECL




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


TAO_END_VERSIONED_NAMESPACE_DECL

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

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

#endif /* ifndef */

