// -*- C++ -*-
//
// IFR_ComponentsC.cpp,v 1.31 2004/04/22 06:38:17 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

// TAO_IDL - Generated from
// be\be_codegen.cpp:323


#include "IFR_ComponentsC.h"
#include "tao/CDR.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Object_Argument_T.h"
#include "tao/Special_Basic_Arguments.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 "IFR_ComponentsC.i"
#endif /* !defined 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:582

#if !defined (_CORBA_ANY__ARG_TRAITS_CS_)
#define _CORBA_ANY__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::Any>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::Any,
            CORBA::Any_var,
            CORBA::Any_out
          >
  {
  };

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

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::DefinitionKind>
    : public
        Basic_Arg_Traits_T<
            CORBA::DefinitionKind
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::Container>
    : public
        Object_Arg_Traits_T<
            CORBA::Container_ptr,
            CORBA::Container_var,
            CORBA::Container_out,
            TAO::Objref_Traits<CORBA::Container>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::IDLType>
    : public
        Object_Arg_Traits_T<
            CORBA::IDLType_ptr,
            CORBA::IDLType_var,
            CORBA::IDLType_out,
            TAO::Objref_Traits<CORBA::IDLType>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_INTERFACEDEF__ARG_TRAITS_CS_)
#define _CORBA_INTERFACEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::InterfaceDef>
    : public
        Object_Arg_Traits_T<
            CORBA::InterfaceDef_ptr,
            CORBA::InterfaceDef_var,
            CORBA::InterfaceDef_out,
            TAO::Objref_Traits<CORBA::InterfaceDef>
          >
  {
  };

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

#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::InterfaceDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::InterfaceDefSeq,
            CORBA::InterfaceDefSeq_var,
            CORBA::InterfaceDefSeq_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ValueDef_ptr,
            CORBA::ValueDef_var,
            CORBA::ValueDef_out,
            TAO::Objref_Traits<CORBA::ValueDef>
          >
  {
  };

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

#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ValueDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ValueDefSeq,
            CORBA::ValueDefSeq_var,
            CORBA::ValueDefSeq_out
          >
  {
  };

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

#if !defined (_CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_ABSTRACTINTERFACEDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::AbstractInterfaceDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::AbstractInterfaceDefSeq,
            CORBA::AbstractInterfaceDefSeq_var,
            CORBA::AbstractInterfaceDefSeq_out
          >
  {
  };

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

#if !defined (_CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_STRUCTMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::StructMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::StructMemberSeq,
            CORBA::StructMemberSeq_var,
            CORBA::StructMemberSeq_out
          >
  {
  };

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

#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_CS_)
#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::InitializerSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::InitializerSeq,
            CORBA::InitializerSeq_var,
            CORBA::InitializerSeq_out
          >
  {
  };

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

#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_CS_)
#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExtInitializerSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ExtInitializerSeq,
            CORBA::ExtInitializerSeq_var,
            CORBA::ExtInitializerSeq_out
          >
  {
  };

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

#if !defined (_CORBA_UNIONMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_UNIONMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::UnionMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::UnionMemberSeq,
            CORBA::UnionMemberSeq_var,
            CORBA::UnionMemberSeq_out
          >
  {
  };

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

#if !defined (_CORBA_ENUMMEMBERSEQ__ARG_TRAITS_CS_)
#define _CORBA_ENUMMEMBERSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::EnumMemberSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::EnumMemberSeq,
            CORBA::EnumMemberSeq_var,
            CORBA::EnumMemberSeq_out
          >
  {
  };

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

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::PrimitiveKind>
    : public
        Basic_Arg_Traits_T<
            CORBA::PrimitiveKind
          >
  {
  };

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

#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_CS_)
#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ExceptionDefSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ExceptionDefSeq,
            CORBA::ExceptionDefSeq_var,
            CORBA::ExceptionDefSeq_out
          >
  {
  };

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

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::AttributeMode>
    : public
        Basic_Arg_Traits_T<
            CORBA::AttributeMode
          >
  {
  };

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

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::OperationMode>
    : public
        Basic_Arg_Traits_T<
            CORBA::OperationMode
          >
  {
  };

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

#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_CS_)
#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ParDescriptionSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ParDescriptionSeq,
            CORBA::ParDescriptionSeq_var,
            CORBA::ParDescriptionSeq_out
          >
  {
  };

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

#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_CS_)
#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ContextIdSeq>
    : public
        Var_Size_Arg_Traits_T<
            CORBA::ContextIdSeq,
            CORBA::ContextIdSeq_var,
            CORBA::ContextIdSeq_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::ComponentDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::ComponentDef_ptr,
            CORBA::ComponentIR::ComponentDef_var,
            CORBA::ComponentIR::ComponentDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::HomeDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::HomeDef_ptr,
            CORBA::ComponentIR::HomeDef_var,
            CORBA::ComponentIR::HomeDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::EventDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::EventDef_ptr,
            CORBA::ComponentIR::EventDef_var,
            CORBA::ComponentIR::EventDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::EventDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::ProvidesDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::ProvidesDef_ptr,
            CORBA::ComponentIR::ProvidesDef_var,
            CORBA::ComponentIR::ProvidesDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::UsesDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::UsesDef_ptr,
            CORBA::ComponentIR::UsesDef_var,
            CORBA::ComponentIR::UsesDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::EmitsDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::EmitsDef_ptr,
            CORBA::ComponentIR::EmitsDef_var,
            CORBA::ComponentIR::EmitsDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::PublishesDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::PublishesDef_ptr,
            CORBA::ComponentIR::PublishesDef_var,
            CORBA::ComponentIR::PublishesDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::ConsumesDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::ConsumesDef_ptr,
            CORBA::ComponentIR::ConsumesDef_var,
            CORBA::ComponentIR::ConsumesDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::FactoryDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::FactoryDef_ptr,
            CORBA::ComponentIR::FactoryDef_var,
            CORBA::ComponentIR::FactoryDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_CS_)
#define _CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::ComponentIR::FinderDef>
    : public
        Object_Arg_Traits_T<
            CORBA::ComponentIR::FinderDef_ptr,
            CORBA::ComponentIR::FinderDef_var,
            CORBA::ComponentIR::FinderDef_out,
            TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>
          >
  {
  };

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


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

// Traits specializations for CORBA::ComponentIR::EventDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EventDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EventDef>::tao_duplicate (
    CORBA::ComponentIR::EventDef_ptr p
  )
{
  return CORBA::ComponentIR::EventDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::EventDef>::tao_release (
    CORBA::ComponentIR::EventDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EventDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EventDef>::tao_nil (void)
{
  return CORBA::ComponentIR::EventDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::EventDef>::tao_marshal (
    CORBA::ComponentIR::EventDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::EventDef::EventDef (void)
 : the_TAO_EventDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_EventDef_setup_collocation ();
}

void
CORBA::ComponentIR::EventDef::CORBA_ComponentIR_EventDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_EventDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ExtValueDef_setup_collocation ();
}

CORBA::ComponentIR::EventDef::~EventDef (void)
{}

void 
CORBA::ComponentIR::EventDef::_tao_any_destructor (void *_tao_void_pointer)
{
  EventDef *_tao_tmp_pointer =
    ACE_static_cast (EventDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::EventDef_ptr
CORBA::ComponentIR::EventDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0",
        CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EventDef_ptr
CORBA::ComponentIR::EventDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0",
        CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EventDef_ptr
CORBA::ComponentIR::EventDef::_duplicate (EventDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::EventDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ValueDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ExtValueDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::EventDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::EventDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::Container.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::Container_ptr
TAO::Objref_Traits<CORBA::ComponentIR::Container>::tao_duplicate (
    CORBA::ComponentIR::Container_ptr p
  )
{
  return CORBA::ComponentIR::Container::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::Container>::tao_release (
    CORBA::ComponentIR::Container_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::Container_ptr
TAO::Objref_Traits<CORBA::ComponentIR::Container>::tao_nil (void)
{
  return CORBA::ComponentIR::Container::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::Container>::tao_marshal (
    CORBA::ComponentIR::Container_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::ComponentIR::ComponentDef_ptr CORBA::ComponentIR::Container::create_component (
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::ComponentDef_ptr base_component,
    const CORBA::InterfaceDefSeq & supports_interfaces
    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_Container_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_Container_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_base_component (base_component);
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supports_interfaces (supports_interfaces);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_base_component,
      &_tao_supports_interfaces
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_component",
      16,
      this->the_TAO_Container_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::HomeDef_ptr CORBA::ComponentIR::Container::create_home (
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::HomeDef_ptr base_home,
    CORBA::ComponentIR::ComponentDef_ptr managed_component,
    const CORBA::InterfaceDefSeq & supports_interfaces,
    CORBA::ValueDef_ptr primary_key
    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_Container_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_Container_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::in_arg_val _tao_base_home (base_home);
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_managed_component (managed_component);
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supports_interfaces (supports_interfaces);
  TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val _tao_primary_key (primary_key);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_base_home,
      &_tao_managed_component,
      &_tao_supports_interfaces,
      &_tao_primary_key
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      8,
      "create_home",
      11,
      this->the_TAO_Container_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::EventDef_ptr CORBA::ComponentIR::Container::create_event (
    const char * id,
    const char * name,
    const char * version,
    CORBA::Boolean is_custom,
    CORBA::Boolean is_abstract,
    CORBA::ValueDef_ptr base_value,
    CORBA::Boolean is_truncatable,
    const CORBA::ValueDefSeq & abstract_base_values,
    const CORBA::InterfaceDefSeq & supported_interfaces,
    const CORBA::ExtInitializerSeq & initializers
    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_Container_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_Container_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_custom (is_custom);
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_abstract (is_abstract);
  TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val _tao_base_value (base_value);
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_truncatable (is_truncatable);
  TAO::Arg_Traits<CORBA::ValueDefSeq>::in_arg_val _tao_abstract_base_values (abstract_base_values);
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces (supported_interfaces);
  TAO::Arg_Traits<CORBA::ExtInitializerSeq>::in_arg_val _tao_initializers (initializers);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_is_custom,
      &_tao_is_abstract,
      &_tao_base_value,
      &_tao_is_truncatable,
      &_tao_abstract_base_values,
      &_tao_supported_interfaces,
      &_tao_initializers
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      11,
      "create_event",
      12,
      this->the_TAO_Container_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ComponentIR::Container::Container (void)
 : the_TAO_Container_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_Container_setup_collocation ();
}

void
CORBA::ComponentIR::Container::CORBA_ComponentIR_Container_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_Container_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Container_setup_collocation ();
}

CORBA::ComponentIR::Container::~Container (void)
{}

void 
CORBA::ComponentIR::Container::_tao_any_destructor (void *_tao_void_pointer)
{
  Container *_tao_tmp_pointer =
    ACE_static_cast (Container *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::Container_ptr
CORBA::ComponentIR::Container::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Container>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/Container:1.0",
        CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::Container_ptr
CORBA::ComponentIR::Container::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Container>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/Container:1.0",
        CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::Container_ptr
CORBA::ComponentIR::Container::_duplicate (Container_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::Container::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
        ) ||
      !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* CORBA::ComponentIR::Container::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/Container:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::Container::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::ModuleDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ModuleDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ModuleDef>::tao_duplicate (
    CORBA::ComponentIR::ModuleDef_ptr p
  )
{
  return CORBA::ComponentIR::ModuleDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::ModuleDef>::tao_release (
    CORBA::ComponentIR::ModuleDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ModuleDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ModuleDef>::tao_nil (void)
{
  return CORBA::ComponentIR::ModuleDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::ModuleDef>::tao_marshal (
    CORBA::ComponentIR::ModuleDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::ModuleDef::ModuleDef (void)
 : the_TAO_ModuleDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_ModuleDef_setup_collocation ();
}

void
CORBA::ComponentIR::ModuleDef::CORBA_ComponentIR_ModuleDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ModuleDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ModuleDef_setup_collocation ();
  this->CORBA_ComponentIR_Container_setup_collocation ();
}

CORBA::ComponentIR::ModuleDef::~ModuleDef (void)
{}

void 
CORBA::ComponentIR::ModuleDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ModuleDef *_tao_tmp_pointer =
    ACE_static_cast (ModuleDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::ModuleDef_ptr
CORBA::ComponentIR::ModuleDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ModuleDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0",
        CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ModuleDef_ptr
CORBA::ComponentIR::ModuleDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ModuleDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0",
        CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ModuleDef_ptr
CORBA::ComponentIR::ModuleDef::_duplicate (ModuleDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::ModuleDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ModuleDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::ModuleDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::ModuleDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::Repository.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::Repository_ptr
TAO::Objref_Traits<CORBA::ComponentIR::Repository>::tao_duplicate (
    CORBA::ComponentIR::Repository_ptr p
  )
{
  return CORBA::ComponentIR::Repository::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::Repository>::tao_release (
    CORBA::ComponentIR::Repository_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::Repository_ptr
TAO::Objref_Traits<CORBA::ComponentIR::Repository>::tao_nil (void)
{
  return CORBA::ComponentIR::Repository::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::Repository>::tao_marshal (
    CORBA::ComponentIR::Repository_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::Repository::Repository (void)
 : the_TAO_Repository_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_Repository_setup_collocation ();
}

void
CORBA::ComponentIR::Repository::CORBA_ComponentIR_Repository_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_Repository_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Repository_setup_collocation ();
  this->CORBA_ComponentIR_Container_setup_collocation ();
}

CORBA::ComponentIR::Repository::~Repository (void)
{}

void 
CORBA::ComponentIR::Repository::_tao_any_destructor (void *_tao_void_pointer)
{
  Repository *_tao_tmp_pointer =
    ACE_static_cast (Repository *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::Repository_ptr
CORBA::ComponentIR::Repository::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Repository>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/Repository:1.0",
        CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::Repository_ptr
CORBA::ComponentIR::Repository::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Repository>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/Repository:1.0",
        CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::Repository_ptr
CORBA::ComponentIR::Repository::_duplicate (Repository_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::Repository::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Repository:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/Repository:1.0"
        ) ||
      !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* CORBA::ComponentIR::Repository::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/Repository:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::Repository::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::ProvidesDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ProvidesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>::tao_duplicate (
    CORBA::ComponentIR::ProvidesDef_ptr p
  )
{
  return CORBA::ComponentIR::ProvidesDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>::tao_release (
    CORBA::ComponentIR::ProvidesDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ProvidesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>::tao_nil (void)
{
  return CORBA::ComponentIR::ProvidesDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>::tao_marshal (
    CORBA::ComponentIR::ProvidesDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::InterfaceDef_ptr CORBA::ComponentIR::ProvidesDef::interface_type (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ProvidesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ProvidesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InterfaceDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_interface_type",
      19,
      this->the_TAO_ProvidesDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::ProvidesDef::interface_type (
    CORBA::InterfaceDef_ptr interface_type
    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_ProvidesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ProvidesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val _tao_interface_type (interface_type);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_interface_type
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_interface_type",
      19,
      this->the_TAO_ProvidesDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CORBA::ComponentIR::ProvidesDef::ProvidesDef (void)
 : the_TAO_ProvidesDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_ProvidesDef_setup_collocation ();
}

void
CORBA::ComponentIR::ProvidesDef::CORBA_ComponentIR_ProvidesDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ProvidesDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Contained_setup_collocation ();
}

CORBA::ComponentIR::ProvidesDef::~ProvidesDef (void)
{}

void 
CORBA::ComponentIR::ProvidesDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ProvidesDef *_tao_tmp_pointer =
    ACE_static_cast (ProvidesDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::ProvidesDef_ptr
CORBA::ComponentIR::ProvidesDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProvidesDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0",
        CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ProvidesDef_ptr
CORBA::ComponentIR::ProvidesDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProvidesDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0",
        CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ProvidesDef_ptr
CORBA::ComponentIR::ProvidesDef::_duplicate (ProvidesDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::ProvidesDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::ProvidesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::ProvidesDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ComponentIR::ProvidesDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ProvidesDescription *_tao_tmp_pointer =
    ACE_static_cast (ProvidesDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

// Traits specializations for CORBA::ComponentIR::UsesDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::UsesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>::tao_duplicate (
    CORBA::ComponentIR::UsesDef_ptr p
  )
{
  return CORBA::ComponentIR::UsesDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>::tao_release (
    CORBA::ComponentIR::UsesDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::UsesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>::tao_nil (void)
{
  return CORBA::ComponentIR::UsesDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>::tao_marshal (
    CORBA::ComponentIR::UsesDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::InterfaceDef_ptr CORBA::ComponentIR::UsesDef::interface_type (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_UsesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_UsesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InterfaceDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_interface_type",
      19,
      this->the_TAO_UsesDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::UsesDef::interface_type (
    CORBA::InterfaceDef_ptr interface_type
    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_UsesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_UsesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val _tao_interface_type (interface_type);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_interface_type
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_interface_type",
      19,
      this->the_TAO_UsesDef_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

CORBA::Boolean CORBA::ComponentIR::UsesDef::is_multiple (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_UsesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_UsesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_is_multiple",
      16,
      this->the_TAO_UsesDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::UsesDef::is_multiple (
    CORBA::Boolean is_multiple
    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_UsesDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_UsesDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_multiple (is_multiple);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_is_multiple
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_is_multiple",
      16,
      this->the_TAO_UsesDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CORBA::ComponentIR::UsesDef::UsesDef (void)
 : the_TAO_UsesDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_UsesDef_setup_collocation ();
}

void
CORBA::ComponentIR::UsesDef::CORBA_ComponentIR_UsesDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_UsesDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Contained_setup_collocation ();
}

CORBA::ComponentIR::UsesDef::~UsesDef (void)
{}

void 
CORBA::ComponentIR::UsesDef::_tao_any_destructor (void *_tao_void_pointer)
{
  UsesDef *_tao_tmp_pointer =
    ACE_static_cast (UsesDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::UsesDef_ptr
CORBA::ComponentIR::UsesDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<UsesDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0",
        CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::UsesDef_ptr
CORBA::ComponentIR::UsesDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<UsesDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0",
        CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::UsesDef_ptr
CORBA::ComponentIR::UsesDef::_duplicate (UsesDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::UsesDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::UsesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::UsesDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ComponentIR::UsesDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  UsesDescription *_tao_tmp_pointer =
    ACE_static_cast (UsesDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

// Traits specializations for CORBA::ComponentIR::EventPortDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EventPortDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EventPortDef>::tao_duplicate (
    CORBA::ComponentIR::EventPortDef_ptr p
  )
{
  return CORBA::ComponentIR::EventPortDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::EventPortDef>::tao_release (
    CORBA::ComponentIR::EventPortDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EventPortDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EventPortDef>::tao_nil (void)
{
  return CORBA::ComponentIR::EventPortDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::EventPortDef>::tao_marshal (
    CORBA::ComponentIR::EventPortDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::ComponentIR::EventDef_ptr CORBA::ComponentIR::EventPortDef::event (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_EventPortDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_EventPortDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_event",
      10,
      this->the_TAO_EventPortDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::EventPortDef::event (
    CORBA::ComponentIR::EventDef_ptr event
    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_EventPortDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_EventPortDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val _tao_event (event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_event
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_event",
      10,
      this->the_TAO_EventPortDef_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

CORBA::Boolean CORBA::ComponentIR::EventPortDef::is_a (
    const char * event_id
    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_EventPortDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_EventPortDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_event_id (event_id);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_event_id
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "is_a",
      4,
      this->the_TAO_EventPortDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ComponentIR::EventPortDef::EventPortDef (void)
 : the_TAO_EventPortDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_EventPortDef_setup_collocation ();
}

void
CORBA::ComponentIR::EventPortDef::CORBA_ComponentIR_EventPortDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_EventPortDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_Contained_setup_collocation ();
}

CORBA::ComponentIR::EventPortDef::~EventPortDef (void)
{}

void 
CORBA::ComponentIR::EventPortDef::_tao_any_destructor (void *_tao_void_pointer)
{
  EventPortDef *_tao_tmp_pointer =
    ACE_static_cast (EventPortDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::EventPortDef_ptr
CORBA::ComponentIR::EventPortDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventPortDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0",
        CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EventPortDef_ptr
CORBA::ComponentIR::EventPortDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventPortDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0",
        CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EventPortDef_ptr
CORBA::ComponentIR::EventPortDef::_duplicate (EventPortDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::EventPortDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::EventPortDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::EventPortDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ComponentIR::EventPortDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  EventPortDescription *_tao_tmp_pointer =
    ACE_static_cast (EventPortDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

// Traits specializations for CORBA::ComponentIR::EmitsDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EmitsDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>::tao_duplicate (
    CORBA::ComponentIR::EmitsDef_ptr p
  )
{
  return CORBA::ComponentIR::EmitsDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>::tao_release (
    CORBA::ComponentIR::EmitsDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::EmitsDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>::tao_nil (void)
{
  return CORBA::ComponentIR::EmitsDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>::tao_marshal (
    CORBA::ComponentIR::EmitsDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::EmitsDef::EmitsDef (void)
 : the_TAO_EmitsDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_EmitsDef_setup_collocation ();
}

void
CORBA::ComponentIR::EmitsDef::CORBA_ComponentIR_EmitsDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_EmitsDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ComponentIR_EventPortDef_setup_collocation ();
}

CORBA::ComponentIR::EmitsDef::~EmitsDef (void)
{}

void 
CORBA::ComponentIR::EmitsDef::_tao_any_destructor (void *_tao_void_pointer)
{
  EmitsDef *_tao_tmp_pointer =
    ACE_static_cast (EmitsDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::EmitsDef_ptr
CORBA::ComponentIR::EmitsDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EmitsDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0",
        CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EmitsDef_ptr
CORBA::ComponentIR::EmitsDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EmitsDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0",
        CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::EmitsDef_ptr
CORBA::ComponentIR::EmitsDef::_duplicate (EmitsDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::EmitsDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::EmitsDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::EmitsDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::PublishesDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::PublishesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>::tao_duplicate (
    CORBA::ComponentIR::PublishesDef_ptr p
  )
{
  return CORBA::ComponentIR::PublishesDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>::tao_release (
    CORBA::ComponentIR::PublishesDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::PublishesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>::tao_nil (void)
{
  return CORBA::ComponentIR::PublishesDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>::tao_marshal (
    CORBA::ComponentIR::PublishesDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::PublishesDef::PublishesDef (void)
 : the_TAO_PublishesDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_PublishesDef_setup_collocation ();
}

void
CORBA::ComponentIR::PublishesDef::CORBA_ComponentIR_PublishesDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_PublishesDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ComponentIR_EventPortDef_setup_collocation ();
}

CORBA::ComponentIR::PublishesDef::~PublishesDef (void)
{}

void 
CORBA::ComponentIR::PublishesDef::_tao_any_destructor (void *_tao_void_pointer)
{
  PublishesDef *_tao_tmp_pointer =
    ACE_static_cast (PublishesDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::PublishesDef_ptr
CORBA::ComponentIR::PublishesDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PublishesDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0",
        CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::PublishesDef_ptr
CORBA::ComponentIR::PublishesDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PublishesDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0",
        CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::PublishesDef_ptr
CORBA::ComponentIR::PublishesDef::_duplicate (PublishesDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::PublishesDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::PublishesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::PublishesDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::ConsumesDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ConsumesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>::tao_duplicate (
    CORBA::ComponentIR::ConsumesDef_ptr p
  )
{
  return CORBA::ComponentIR::ConsumesDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>::tao_release (
    CORBA::ComponentIR::ConsumesDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ConsumesDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>::tao_nil (void)
{
  return CORBA::ComponentIR::ConsumesDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>::tao_marshal (
    CORBA::ComponentIR::ConsumesDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::ConsumesDef::ConsumesDef (void)
 : the_TAO_ConsumesDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_ConsumesDef_setup_collocation ();
}

void
CORBA::ComponentIR::ConsumesDef::CORBA_ComponentIR_ConsumesDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ConsumesDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ComponentIR_EventPortDef_setup_collocation ();
}

CORBA::ComponentIR::ConsumesDef::~ConsumesDef (void)
{}

void 
CORBA::ComponentIR::ConsumesDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ConsumesDef *_tao_tmp_pointer =
    ACE_static_cast (ConsumesDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::ConsumesDef_ptr
CORBA::ComponentIR::ConsumesDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ConsumesDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0",
        CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ConsumesDef_ptr
CORBA::ComponentIR::ConsumesDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ConsumesDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0",
        CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ConsumesDef_ptr
CORBA::ComponentIR::ConsumesDef::_duplicate (ConsumesDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::ConsumesDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::ConsumesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::ConsumesDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::ComponentDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ComponentDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>::tao_duplicate (
    CORBA::ComponentIR::ComponentDef_ptr p
  )
{
  return CORBA::ComponentIR::ComponentDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>::tao_release (
    CORBA::ComponentIR::ComponentDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::ComponentDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>::tao_nil (void)
{
  return CORBA::ComponentIR::ComponentDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>::tao_marshal (
    CORBA::ComponentIR::ComponentDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::ComponentIR::ComponentDef_ptr CORBA::ComponentIR::ComponentDef::base_component (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_base_component",
      19,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::ComponentDef::base_component (
    CORBA::ComponentIR::ComponentDef_ptr base_component
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_base_component (base_component);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_base_component
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_base_component",
      19,
      this->the_TAO_ComponentDef_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

::CORBA::InterfaceDefSeq * CORBA::ComponentIR::ComponentDef::supported_interfaces (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_supported_interfaces",
      25,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::ComponentDef::supported_interfaces (
    const CORBA::InterfaceDefSeq & supported_interfaces
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces (supported_interfaces);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_supported_interfaces
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_supported_interfaces",
      25,
      this->the_TAO_ComponentDef_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

::CORBA::ComponentIR::ProvidesDef_ptr CORBA::ComponentIR::ComponentDef::create_provides (
    const char * id,
    const char * name,
    const char * version,
    CORBA::InterfaceDef_ptr interface_type
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::ProvidesDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val _tao_interface_type (interface_type);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_interface_type
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "create_provides",
      15,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::UsesDef_ptr CORBA::ComponentIR::ComponentDef::create_uses (
    const char * id,
    const char * name,
    const char * version,
    CORBA::InterfaceDef_ptr interface_type,
    CORBA::Boolean is_multiple
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::UsesDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val _tao_interface_type (interface_type);
  TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val _tao_is_multiple (is_multiple);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_interface_type,
      &_tao_is_multiple
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_uses",
      11,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::EmitsDef_ptr CORBA::ComponentIR::ComponentDef::create_emits (
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::EmitsDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val _tao_event (event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_event
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "create_emits",
      12,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::PublishesDef_ptr CORBA::ComponentIR::ComponentDef::create_publishes (
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::PublishesDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val _tao_event (event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_event
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "create_publishes",
      16,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::ConsumesDef_ptr CORBA::ComponentIR::ComponentDef::create_consumes (
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    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_ComponentDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_ComponentDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::ConsumesDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val _tao_event (event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_event
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "create_consumes",
      15,
      this->the_TAO_ComponentDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ComponentIR::ComponentDef::ComponentDef (void)
 : the_TAO_ComponentDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_ComponentDef_setup_collocation ();
}

void
CORBA::ComponentIR::ComponentDef::CORBA_ComponentIR_ComponentDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ComponentDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ExtInterfaceDef_setup_collocation ();
}

CORBA::ComponentIR::ComponentDef::~ComponentDef (void)
{}

void 
CORBA::ComponentIR::ComponentDef::_tao_any_destructor (void *_tao_void_pointer)
{
  ComponentDef *_tao_tmp_pointer =
    ACE_static_cast (ComponentDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::ComponentDef_ptr
CORBA::ComponentIR::ComponentDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ComponentDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0",
        CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ComponentDef_ptr
CORBA::ComponentIR::ComponentDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ComponentDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0",
        CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::ComponentDef_ptr
CORBA::ComponentIR::ComponentDef::_duplicate (ComponentDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::ComponentDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/InterfaceDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ExtInterfaceDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::ComponentDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::ComponentDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

#if !defined (_CORBA_COMPONENTIR_PROVIDESDESCRIPTIONSEQ_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDESCRIPTIONSEQ_CS_

CORBA::ComponentIR::ProvidesDescriptionSeq::ProvidesDescriptionSeq (void)
{}

CORBA::ComponentIR::ProvidesDescriptionSeq::ProvidesDescriptionSeq (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::ProvidesDescription
      >
    (max)
{}

CORBA::ComponentIR::ProvidesDescriptionSeq::ProvidesDescriptionSeq (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::ComponentIR::ProvidesDescription * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::ProvidesDescription
      >
    (max, length, buffer, release)
{}

CORBA::ComponentIR::ProvidesDescriptionSeq::ProvidesDescriptionSeq (
    const ProvidesDescriptionSeq &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::ProvidesDescription
      >
    (seq)
{}

CORBA::ComponentIR::ProvidesDescriptionSeq::~ProvidesDescriptionSeq (void)
{}

void CORBA::ComponentIR::ProvidesDescriptionSeq::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  ProvidesDescriptionSeq * _tao_tmp_pointer =
    ACE_static_cast (ProvidesDescriptionSeq *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

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

#if !defined (_CORBA_COMPONENTIR_USESDESCRIPTIONSEQ_CS_)
#define _CORBA_COMPONENTIR_USESDESCRIPTIONSEQ_CS_

CORBA::ComponentIR::UsesDescriptionSeq::UsesDescriptionSeq (void)
{}

CORBA::ComponentIR::UsesDescriptionSeq::UsesDescriptionSeq (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::UsesDescription
      >
    (max)
{}

CORBA::ComponentIR::UsesDescriptionSeq::UsesDescriptionSeq (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::ComponentIR::UsesDescription * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::UsesDescription
      >
    (max, length, buffer, release)
{}

CORBA::ComponentIR::UsesDescriptionSeq::UsesDescriptionSeq (
    const UsesDescriptionSeq &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::UsesDescription
      >
    (seq)
{}

CORBA::ComponentIR::UsesDescriptionSeq::~UsesDescriptionSeq (void)
{}

void CORBA::ComponentIR::UsesDescriptionSeq::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  UsesDescriptionSeq * _tao_tmp_pointer =
    ACE_static_cast (UsesDescriptionSeq *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

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

#if !defined (_CORBA_COMPONENTIR_EVENTPORTDESCRIPTIONSEQ_CS_)
#define _CORBA_COMPONENTIR_EVENTPORTDESCRIPTIONSEQ_CS_

CORBA::ComponentIR::EventPortDescriptionSeq::EventPortDescriptionSeq (void)
{}

CORBA::ComponentIR::EventPortDescriptionSeq::EventPortDescriptionSeq (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::EventPortDescription
      >
    (max)
{}

CORBA::ComponentIR::EventPortDescriptionSeq::EventPortDescriptionSeq (
    CORBA::ULong max,
    CORBA::ULong length,
    CORBA::ComponentIR::EventPortDescription * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::EventPortDescription
      >
    (max, length, buffer, release)
{}

CORBA::ComponentIR::EventPortDescriptionSeq::EventPortDescriptionSeq (
    const EventPortDescriptionSeq &seq
  )
  : TAO_Unbounded_Sequence<
        CORBA::ComponentIR::EventPortDescription
      >
    (seq)
{}

CORBA::ComponentIR::EventPortDescriptionSeq::~EventPortDescriptionSeq (void)
{}

void CORBA::ComponentIR::EventPortDescriptionSeq::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  EventPortDescriptionSeq * _tao_tmp_pointer =
    ACE_static_cast (EventPortDescriptionSeq *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ComponentIR::ComponentDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ComponentDescription *_tao_tmp_pointer =
    ACE_static_cast (ComponentDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

// Traits specializations for CORBA::ComponentIR::FactoryDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::FactoryDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>::tao_duplicate (
    CORBA::ComponentIR::FactoryDef_ptr p
  )
{
  return CORBA::ComponentIR::FactoryDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>::tao_release (
    CORBA::ComponentIR::FactoryDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::FactoryDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>::tao_nil (void)
{
  return CORBA::ComponentIR::FactoryDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>::tao_marshal (
    CORBA::ComponentIR::FactoryDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::FactoryDef::FactoryDef (void)
 : the_TAO_FactoryDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_FactoryDef_setup_collocation ();
}

void
CORBA::ComponentIR::FactoryDef::CORBA_ComponentIR_FactoryDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_FactoryDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_OperationDef_setup_collocation ();
}

CORBA::ComponentIR::FactoryDef::~FactoryDef (void)
{}

void 
CORBA::ComponentIR::FactoryDef::_tao_any_destructor (void *_tao_void_pointer)
{
  FactoryDef *_tao_tmp_pointer =
    ACE_static_cast (FactoryDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::FactoryDef_ptr
CORBA::ComponentIR::FactoryDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FactoryDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0",
        CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::FactoryDef_ptr
CORBA::ComponentIR::FactoryDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FactoryDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0",
        CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::FactoryDef_ptr
CORBA::ComponentIR::FactoryDef::_duplicate (FactoryDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::FactoryDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/OperationDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::FactoryDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::FactoryDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::FinderDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::FinderDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>::tao_duplicate (
    CORBA::ComponentIR::FinderDef_ptr p
  )
{
  return CORBA::ComponentIR::FinderDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>::tao_release (
    CORBA::ComponentIR::FinderDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::FinderDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>::tao_nil (void)
{
  return CORBA::ComponentIR::FinderDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>::tao_marshal (
    CORBA::ComponentIR::FinderDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CORBA::ComponentIR::FinderDef::FinderDef (void)
 : the_TAO_FinderDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_FinderDef_setup_collocation ();
}

void
CORBA::ComponentIR::FinderDef::CORBA_ComponentIR_FinderDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_FinderDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_OperationDef_setup_collocation ();
}

CORBA::ComponentIR::FinderDef::~FinderDef (void)
{}

void 
CORBA::ComponentIR::FinderDef::_tao_any_destructor (void *_tao_void_pointer)
{
  FinderDef *_tao_tmp_pointer =
    ACE_static_cast (FinderDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::FinderDef_ptr
CORBA::ComponentIR::FinderDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FinderDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0",
        CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::FinderDef_ptr
CORBA::ComponentIR::FinderDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FinderDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0",
        CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::FinderDef_ptr
CORBA::ComponentIR::FinderDef::_duplicate (FinderDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::FinderDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/OperationDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::FinderDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::FinderDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

// Traits specializations for CORBA::ComponentIR::HomeDef.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::HomeDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>::tao_duplicate (
    CORBA::ComponentIR::HomeDef_ptr p
  )
{
  return CORBA::ComponentIR::HomeDef::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>::tao_release (
    CORBA::ComponentIR::HomeDef_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::ComponentIR::HomeDef_ptr
TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>::tao_nil (void)
{
  return CORBA::ComponentIR::HomeDef::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>::tao_marshal (
    CORBA::ComponentIR::HomeDef_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CORBA::ComponentIR::HomeDef_ptr CORBA::ComponentIR::HomeDef::base_home (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_base_home",
      14,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::HomeDef::base_home (
    CORBA::ComponentIR::HomeDef_ptr base_home
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::in_arg_val _tao_base_home (base_home);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_base_home
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_base_home",
      14,
      this->the_TAO_HomeDef_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

::CORBA::InterfaceDefSeq * CORBA::ComponentIR::HomeDef::supported_interfaces (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_supported_interfaces",
      25,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::HomeDef::supported_interfaces (
    const CORBA::InterfaceDefSeq & supported_interfaces
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val _tao_supported_interfaces (supported_interfaces);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_supported_interfaces
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_supported_interfaces",
      25,
      this->the_TAO_HomeDef_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

::CORBA::ComponentIR::ComponentDef_ptr CORBA::ComponentIR::HomeDef::managed_component (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_managed_component",
      22,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::HomeDef::managed_component (
    CORBA::ComponentIR::ComponentDef_ptr managed_component
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val _tao_managed_component (managed_component);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_managed_component
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_managed_component",
      22,
      this->the_TAO_HomeDef_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

::CORBA::ValueDef_ptr CORBA::ComponentIR::HomeDef::primary_key (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ValueDef>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "_get_primary_key",
      16,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CORBA::ComponentIR::HomeDef::primary_key (
    CORBA::ValueDef_ptr primary_key
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val _tao_primary_key (primary_key);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_primary_key
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "_set_primary_key",
      16,
      this->the_TAO_HomeDef_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

::CORBA::ComponentIR::FactoryDef_ptr CORBA::ComponentIR::HomeDef::create_factory (
    const char * id,
    const char * name,
    const char * version,
    const CORBA::ParDescriptionSeq & params,
    const CORBA::ExceptionDefSeq & exceptions
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::FactoryDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ParDescriptionSeq>::in_arg_val _tao_params (params);
  TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions (exceptions);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_params,
      &_tao_exceptions
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_factory",
      14,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CORBA::ComponentIR::FinderDef_ptr CORBA::ComponentIR::HomeDef::create_finder (
    const char * id,
    const char * name,
    const char * version,
    const CORBA::ParDescriptionSeq & params,
    const CORBA::ExceptionDefSeq & exceptions
    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_HomeDef_Proxy_Broker_ == 0)
    {
      CORBA_ComponentIR_HomeDef_setup_collocation ();
    }
  
  TAO::Arg_Traits<CORBA::ComponentIR::FinderDef>::ret_val _tao_retval;
  TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val _tao_id (id);
  TAO::Arg_Traits<CORBA::Identifier>::in_arg_val _tao_name (name);
  TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val _tao_version (version);
  TAO::Arg_Traits<CORBA::ParDescriptionSeq>::in_arg_val _tao_params (params);
  TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val _tao_exceptions (exceptions);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_id,
      &_tao_name,
      &_tao_version,
      &_tao_params,
      &_tao_exceptions
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      6,
      "create_finder",
      13,
      this->the_TAO_HomeDef_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CORBA::ComponentIR::HomeDef::HomeDef (void)
 : the_TAO_HomeDef_Proxy_Broker_ (0)
{
  this->CORBA_ComponentIR_HomeDef_setup_collocation ();
}

void
CORBA::ComponentIR::HomeDef::CORBA_ComponentIR_HomeDef_setup_collocation ()
{
  if (::CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_HomeDef_Proxy_Broker_ =
        ::CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CORBA_ExtInterfaceDef_setup_collocation ();
}

CORBA::ComponentIR::HomeDef::~HomeDef (void)
{}

void 
CORBA::ComponentIR::HomeDef::_tao_any_destructor (void *_tao_void_pointer)
{
  HomeDef *_tao_tmp_pointer =
    ACE_static_cast (HomeDef *, _tao_void_pointer);
  CORBA::release (_tao_tmp_pointer);
}

CORBA::ComponentIR::HomeDef_ptr
CORBA::ComponentIR::HomeDef::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<HomeDef>::narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0",
        CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::HomeDef_ptr
CORBA::ComponentIR::HomeDef::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<HomeDef>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0",
        CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CORBA::ComponentIR::HomeDef_ptr
CORBA::ComponentIR::HomeDef::_duplicate (HomeDef_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CORBA::ComponentIR::HomeDef::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IRObject:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Container:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/Contained:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/IDLType:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/InterfaceDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ExtInterfaceDef:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
        ) ||
      !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* CORBA::ComponentIR::HomeDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0";
}

CORBA::Boolean
CORBA::ComponentIR::HomeDef::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

// TAO_IDL - Generated from 
// be\be_visitor_structure/structure_cs.cpp:66

void 
CORBA::ComponentIR::HomeDescription::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  HomeDescription *_tao_tmp_pointer =
    ACE_static_cast (HomeDescription *, _tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::ProvidesDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.interface_type.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::ProvidesDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.interface_type.out ());
}

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

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

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

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::UsesDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.interface_type.in ()) &&
    (strm << CORBA::Any::from_boolean (_tao_aggregate.is_multiple));
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::UsesDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.interface_type.out ()) &&
    (strm >> CORBA::Any::to_boolean (_tao_aggregate.is_multiple));
}

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

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

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

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::EventPortDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.event.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::EventPortDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.event.out ());
}

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

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

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

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

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

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

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

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

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

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

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

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

// TAO_IDL - Generated from
// be\be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CORBA_ComponentIR_ProvidesDescriptionSeq_CPP_
#define _TAO_CDR_OP_CORBA_ComponentIR_ProvidesDescriptionSeq_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::ProvidesDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::ProvidesDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CORBA_ComponentIR_ProvidesDescriptionSeq_CPP_ */

// TAO_IDL - Generated from
// be\be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CORBA_ComponentIR_UsesDescriptionSeq_CPP_
#define _TAO_CDR_OP_CORBA_ComponentIR_UsesDescriptionSeq_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::UsesDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::UsesDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CORBA_ComponentIR_UsesDescriptionSeq_CPP_ */

// TAO_IDL - Generated from
// be\be_visitor_sequence/cdr_op_cs.cpp:96

#if !defined _TAO_CDR_OP_CORBA_ComponentIR_EventPortDescriptionSeq_CPP_
#define _TAO_CDR_OP_CORBA_ComponentIR_EventPortDescriptionSeq_CPP_

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::EventPortDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len = _tao_sequence.length ();
  
  if (strm << _tao_seq_len)
    {
      // Encode all elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm << _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    }
  
  return 0;
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::EventPortDescriptionSeq &_tao_sequence
  )
{
  CORBA::ULong _tao_seq_len;
  
  if (strm >> _tao_seq_len)
    {
      // Add a check to the length of the sequence
      // to make sure it does not exceed the length
      // of the stream. (See bug 58.)
      if (_tao_seq_len > strm.length ())
        {
          return 0;
        }
      
      // Set the length of the sequence.
      _tao_sequence.length (_tao_seq_len);
      
      // If length is 0 we return true.
      if (0 >= _tao_seq_len) 
        {
          return 1;
        }
      
      // Retrieve all the elements.
      CORBA::Boolean _tao_marshal_flag = 1;
      
      for (CORBA::ULong i = 0; i < _tao_seq_len && _tao_marshal_flag; ++i)
        {
          _tao_marshal_flag = (strm >> _tao_sequence[i]);
        }
      
      return _tao_marshal_flag;
    
    }
  
  return 0;
}

#endif /* _TAO_CDR_OP_CORBA_ComponentIR_EventPortDescriptionSeq_CPP_ */

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::ComponentDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.base_component.in ()) &&
    (strm << _tao_aggregate.supported_interfaces) &&
    (strm << _tao_aggregate.provided_interfaces) &&
    (strm << _tao_aggregate.used_interfaces) &&
    (strm << _tao_aggregate.emits_events) &&
    (strm << _tao_aggregate.publishes_events) &&
    (strm << _tao_aggregate.consumes_events) &&
    (strm << _tao_aggregate.attributes) &&
    (strm << _tao_aggregate.type.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::ComponentDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.base_component.out ()) &&
    (strm >> _tao_aggregate.supported_interfaces) &&
    (strm >> _tao_aggregate.provided_interfaces) &&
    (strm >> _tao_aggregate.used_interfaces) &&
    (strm >> _tao_aggregate.emits_events) &&
    (strm >> _tao_aggregate.publishes_events) &&
    (strm >> _tao_aggregate.consumes_events) &&
    (strm >> _tao_aggregate.attributes) &&
    (strm >> _tao_aggregate.type.out ());
}

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

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

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

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

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

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

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

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

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

// TAO_IDL - Generated from
// be\be_visitor_structure/cdr_op_cs.cpp:61

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const CORBA::ComponentIR::HomeDescription &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.name.in ()) &&
    (strm << _tao_aggregate.id.in ()) &&
    (strm << _tao_aggregate.defined_in.in ()) &&
    (strm << _tao_aggregate.version.in ()) &&
    (strm << _tao_aggregate.base_home.in ()) &&
    (strm << _tao_aggregate.managed_component.in ()) &&
    (strm << _tao_aggregate.primary_key) &&
    (strm << _tao_aggregate.factories) &&
    (strm << _tao_aggregate.finders) &&
    (strm << _tao_aggregate.operations) &&
    (strm << _tao_aggregate.attributes) &&
    (strm << _tao_aggregate.type.in ());
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CORBA::ComponentIR::HomeDescription &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.name.out ()) &&
    (strm >> _tao_aggregate.id.out ()) &&
    (strm >> _tao_aggregate.defined_in.out ()) &&
    (strm >> _tao_aggregate.version.out ()) &&
    (strm >> _tao_aggregate.base_home.out ()) &&
    (strm >> _tao_aggregate.managed_component.out ()) &&
    (strm >> _tao_aggregate.primary_key) &&
    (strm >> _tao_aggregate.factories) &&
    (strm >> _tao_aggregate.finders) &&
    (strm >> _tao_aggregate.operations) &&
    (strm >> _tao_aggregate.attributes) &&
    (strm >> _tao_aggregate.type.out ());
}

// TAO_IDL - Generated from
// be\be_visitor_root/root.cpp:1628

#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::DefinitionKind>;

  template class TAO::Basic_Arg_Traits_T<CORBA::DefinitionKind>;

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::Container
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::Container_ptr,
        CORBA::Container_var,
        CORBA::Container_out,
        TAO::Objref_Traits<CORBA::Container>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::IDLType
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::IDLType_ptr,
        CORBA::IDLType_var,
        CORBA::IDLType_out,
        TAO::Objref_Traits<CORBA::IDLType>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_INTERFACEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_INTERFACEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::InterfaceDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::InterfaceDef_ptr,
        CORBA::InterfaceDef_var,
        CORBA::InterfaceDef_out,
        TAO::Objref_Traits<CORBA::InterfaceDef>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::InterfaceDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::InterfaceDefSeq,
        CORBA::InterfaceDefSeq_var,
        CORBA::InterfaceDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ValueDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ValueDef_ptr,
        CORBA::ValueDef_var,
        CORBA::ValueDef_out,
        TAO::Objref_Traits<CORBA::ValueDef>
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ValueDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ValueDefSeq,
        CORBA::ValueDefSeq_var,
        CORBA::ValueDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::AbstractInterfaceDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::AbstractInterfaceDefSeq,
        CORBA::AbstractInterfaceDefSeq_var,
        CORBA::AbstractInterfaceDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::StructMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::StructMemberSeq,
        CORBA::StructMemberSeq_var,
        CORBA::StructMemberSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::InitializerSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::InitializerSeq,
        CORBA::InitializerSeq_var,
        CORBA::InitializerSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ExtInitializerSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ExtInitializerSeq,
        CORBA::ExtInitializerSeq_var,
        CORBA::ExtInitializerSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::UnionMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::UnionMemberSeq,
        CORBA::UnionMemberSeq_var,
        CORBA::UnionMemberSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::EnumMemberSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::EnumMemberSeq,
        CORBA::EnumMemberSeq_var,
        CORBA::EnumMemberSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::PrimitiveKind>;

  template class TAO::Basic_Arg_Traits_T<CORBA::PrimitiveKind>;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ExceptionDefSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ExceptionDefSeq,
        CORBA::ExceptionDefSeq_var,
        CORBA::ExceptionDefSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::AttributeMode>;

  template class TAO::Basic_Arg_Traits_T<CORBA::AttributeMode>;

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::OperationMode>;

  template class TAO::Basic_Arg_Traits_T<CORBA::OperationMode>;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ParDescriptionSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ParDescriptionSeq,
        CORBA::ParDescriptionSeq_var,
        CORBA::ParDescriptionSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

  template class TAO::Arg_Traits<CORBA::ContextIdSeq>;

  template class
    TAO::Var_Size_Arg_Traits_T<
        CORBA::ContextIdSeq,
        CORBA::ContextIdSeq_var,
        CORBA::ContextIdSeq_out
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::ComponentDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::ComponentDef_ptr,
        CORBA::ComponentIR::ComponentDef_var,
        CORBA::ComponentIR::ComponentDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::ComponentDef_ptr,
        CORBA::ComponentIR::ComponentDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::ComponentIR::ComponentDef_ptr
      >;

  template class
    TAO::Ret_Var_Size_Argument_T<
        CORBA::InterfaceDefSeq,
        CORBA::InterfaceDefSeq_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::InterfaceDefSeq
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::ProvidesDef_ptr,
        CORBA::ComponentIR::ProvidesDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::InterfaceDef_ptr
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::UsesDef_ptr,
        CORBA::ComponentIR::UsesDef_var
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::EmitsDef_ptr,
        CORBA::ComponentIR::EmitsDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::ComponentIR::EventDef_ptr
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::PublishesDef_ptr,
        CORBA::ComponentIR::PublishesDef_var
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::ConsumesDef_ptr,
        CORBA::ComponentIR::ConsumesDef_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::ComponentDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::ComponentDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::ComponentDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::ComponentDef
      >;

#if !defined (_CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::HomeDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::HomeDef_ptr,
        CORBA::ComponentIR::HomeDef_var,
        CORBA::ComponentIR::HomeDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::HomeDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::HomeDef_ptr,
        CORBA::ComponentIR::HomeDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::ComponentIR::HomeDef_ptr
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ValueDef_ptr,
        CORBA::ValueDef_var
      >;

  template class
    TAO::In_Object_Argument_T<
        CORBA::ValueDef_ptr
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::FactoryDef_ptr,
        CORBA::ComponentIR::FactoryDef_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ParDescriptionSeq
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ExceptionDefSeq
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::FinderDef_ptr,
        CORBA::ComponentIR::FinderDef_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::HomeDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::HomeDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::HomeDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::HomeDef
      >;

#if !defined (_CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::EventDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::EventDef_ptr,
        CORBA::ComponentIR::EventDef_var,
        CORBA::ComponentIR::EventDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::EventDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::EventDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::EventDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::EventDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::EventDef
      >;

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::ComponentIR::EventDef_ptr,
        CORBA::ComponentIR::EventDef_var
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ValueDefSeq
      >;

  template class
    TAO::In_Var_Size_Argument_T<
        CORBA::ExtInitializerSeq
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::Container
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::Container
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::Container
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::Container
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::ModuleDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::ModuleDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::ModuleDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::ModuleDef
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::Repository
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::Repository
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::Repository
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::Repository
      >;

#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::ProvidesDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::ProvidesDef_ptr,
        CORBA::ComponentIR::ProvidesDef_var,
        CORBA::ComponentIR::ProvidesDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Ret_Object_Argument_T<
        CORBA::InterfaceDef_ptr,
        CORBA::InterfaceDef_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::ProvidesDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::ProvidesDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::ProvidesDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::ProvidesDef
      >;

  template class
    TAO_Var_Var_T<
        CORBA::ComponentIR::ProvidesDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ComponentIR::ProvidesDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ComponentIR::ProvidesDescription,
        CORBA::ComponentIR::ProvidesDescription_var
      >;

#if !defined (_CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::UsesDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::UsesDef_ptr,
        CORBA::ComponentIR::UsesDef_var,
        CORBA::ComponentIR::UsesDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::UsesDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::UsesDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::UsesDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::UsesDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::UsesDef
      >;

  template class
    TAO_Var_Var_T<
        CORBA::ComponentIR::UsesDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ComponentIR::UsesDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ComponentIR::UsesDescription,
        CORBA::ComponentIR::UsesDescription_var
      >;

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::EventPortDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::EventPortDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::EventPortDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::EventPortDef
      >;

  template class
    TAO_Var_Var_T<
        CORBA::ComponentIR::EventPortDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ComponentIR::EventPortDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ComponentIR::EventPortDescription,
        CORBA::ComponentIR::EventPortDescription_var
      >;

#if !defined (_CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::EmitsDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::EmitsDef_ptr,
        CORBA::ComponentIR::EmitsDef_var,
        CORBA::ComponentIR::EmitsDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::EmitsDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::EmitsDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::EmitsDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::EmitsDef
      >;

#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::PublishesDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::PublishesDef_ptr,
        CORBA::ComponentIR::PublishesDef_var,
        CORBA::ComponentIR::PublishesDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::PublishesDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::PublishesDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::PublishesDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::PublishesDef
      >;

#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::ConsumesDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::ConsumesDef_ptr,
        CORBA::ComponentIR::ConsumesDef_var,
        CORBA::ComponentIR::ConsumesDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::ConsumesDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::ConsumesDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::ConsumesDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::ConsumesDef
      >;

  template class
    TAO_VarSeq_Var_T<
        CORBA::ComponentIR::ProvidesDescriptionSeq,
        CORBA::ComponentIR::ProvidesDescription
      >;

  template class
    TAO_Seq_Var_Base_T<
        CORBA::ComponentIR::ProvidesDescriptionSeq,
        CORBA::ComponentIR::ProvidesDescription
      >;

  template class
    TAO_Seq_Out_T<
        CORBA::ComponentIR::ProvidesDescriptionSeq,
        CORBA::ComponentIR::ProvidesDescriptionSeq_var,
        CORBA::ComponentIR::ProvidesDescription
      >;

#if !defined (_CORBA_COMPONENTIR_PROVIDESDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDESCRIPTION__EXPLICIT_CS_

  template class
    TAO_Unbounded_Sequence<
        CORBA::ComponentIR::ProvidesDescription
      >;

#endif /* end #if !defined */

  template class
    TAO_VarSeq_Var_T<
        CORBA::ComponentIR::UsesDescriptionSeq,
        CORBA::ComponentIR::UsesDescription
      >;

  template class
    TAO_Seq_Var_Base_T<
        CORBA::ComponentIR::UsesDescriptionSeq,
        CORBA::ComponentIR::UsesDescription
      >;

  template class
    TAO_Seq_Out_T<
        CORBA::ComponentIR::UsesDescriptionSeq,
        CORBA::ComponentIR::UsesDescriptionSeq_var,
        CORBA::ComponentIR::UsesDescription
      >;

#if !defined (_CORBA_COMPONENTIR_USESDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_USESDESCRIPTION__EXPLICIT_CS_

  template class
    TAO_Unbounded_Sequence<
        CORBA::ComponentIR::UsesDescription
      >;

#endif /* end #if !defined */

  template class
    TAO_VarSeq_Var_T<
        CORBA::ComponentIR::EventPortDescriptionSeq,
        CORBA::ComponentIR::EventPortDescription
      >;

  template class
    TAO_Seq_Var_Base_T<
        CORBA::ComponentIR::EventPortDescriptionSeq,
        CORBA::ComponentIR::EventPortDescription
      >;

  template class
    TAO_Seq_Out_T<
        CORBA::ComponentIR::EventPortDescriptionSeq,
        CORBA::ComponentIR::EventPortDescriptionSeq_var,
        CORBA::ComponentIR::EventPortDescription
      >;

#if !defined (_CORBA_COMPONENTIR_EVENTPORTDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_EVENTPORTDESCRIPTION__EXPLICIT_CS_

  template class
    TAO_Unbounded_Sequence<
        CORBA::ComponentIR::EventPortDescription
      >;

#endif /* end #if !defined */

  template class
    TAO_Var_Var_T<
        CORBA::ComponentIR::ComponentDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ComponentIR::ComponentDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ComponentIR::ComponentDescription,
        CORBA::ComponentIR::ComponentDescription_var
      >;

#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::FactoryDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::FactoryDef_ptr,
        CORBA::ComponentIR::FactoryDef_var,
        CORBA::ComponentIR::FactoryDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::FactoryDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::FactoryDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::FactoryDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::FactoryDef
      >;

#if !defined (_CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_TMPLINST_CS_

  template class
    TAO::Arg_Traits<
        CORBA::ComponentIR::FinderDef
      >;

  template class
    TAO::Object_Arg_Traits_T<
        CORBA::ComponentIR::FinderDef_ptr,
        CORBA::ComponentIR::FinderDef_var,
        CORBA::ComponentIR::FinderDef_out,
        TAO::Objref_Traits<CORBA::ComponentIR::FinderDef>
      >;

#endif /* end #if !defined */

  template class
    TAO::Objref_Traits<
        CORBA::ComponentIR::FinderDef
      >;

  template class
    TAO_Objref_Var_T<
        CORBA::ComponentIR::FinderDef
      >;
  
  template class
    TAO_Objref_Out_T<
        CORBA::ComponentIR::FinderDef
      >;

  template class
    TAO::Narrow_Utils<
        CORBA::ComponentIR::FinderDef
      >;

  template class
    TAO_Var_Var_T<
        CORBA::ComponentIR::HomeDescription
      >;

  template class
    TAO_Var_Base_T<
        CORBA::ComponentIR::HomeDescription
      >;

  template class
    TAO_Out_T<
        CORBA::ComponentIR::HomeDescription,
        CORBA::ComponentIR::HomeDescription_var
      >;

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::DefinitionKind>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::DefinitionKind>

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_CONTAINER__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::Container \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::Container_ptr, \
        CORBA::Container_var, \
        CORBA::Container_out, \
        TAO::Objref_Traits<CORBA::Container> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::IDLType \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::IDLType_ptr, \
        CORBA::IDLType_var, \
        CORBA::IDLType_out, \
        TAO::Objref_Traits<CORBA::IDLType> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_INTERFACEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_INTERFACEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::InterfaceDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::InterfaceDef_ptr, \
        CORBA::InterfaceDef_var, \
        CORBA::InterfaceDef_out, \
        TAO::Objref_Traits<CORBA::InterfaceDef> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::InterfaceDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::InterfaceDefSeq, \
        CORBA::InterfaceDefSeq_var, \
        CORBA::InterfaceDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ValueDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ValueDef_ptr, \
        CORBA::ValueDef_var, \
        CORBA::ValueDef_out, \
        TAO::Objref_Traits<CORBA::ValueDef> \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ValueDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ValueDefSeq, \
        CORBA::ValueDefSeq_var, \
        CORBA::ValueDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::AbstractInterfaceDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::AbstractInterfaceDefSeq, \
        CORBA::AbstractInterfaceDefSeq_var, \
        CORBA::AbstractInterfaceDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::StructMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::StructMemberSeq, \
        CORBA::StructMemberSeq_var, \
        CORBA::StructMemberSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::InitializerSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::InitializerSeq, \
        CORBA::InitializerSeq_var, \
        CORBA::InitializerSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ExtInitializerSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ExtInitializerSeq, \
        CORBA::ExtInitializerSeq_var, \
        CORBA::ExtInitializerSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::UnionMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::UnionMemberSeq, \
        CORBA::UnionMemberSeq_var, \
        CORBA::UnionMemberSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::EnumMemberSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::EnumMemberSeq, \
        CORBA::EnumMemberSeq_var, \
        CORBA::EnumMemberSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_PRIMITIVEKIND__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::PrimitiveKind>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::PrimitiveKind>

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ExceptionDefSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ExceptionDefSeq, \
        CORBA::ExceptionDefSeq_var, \
        CORBA::ExceptionDefSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_ATTRIBUTEMODE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::AttributeMode>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::AttributeMode>

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::OperationMode>

# pragma instantiate TAO::Basic_Arg_Traits_T<CORBA::OperationMode>

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ParDescriptionSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ParDescriptionSeq, \
        CORBA::ParDescriptionSeq_var, \
        CORBA::ParDescriptionSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_SEQUENCE__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate TAO::Arg_Traits<CORBA::ContextIdSeq>

# pragma instantiate \
    TAO::Var_Size_Arg_Traits_T< \
        CORBA::ContextIdSeq, \
        CORBA::ContextIdSeq_var, \
        CORBA::ContextIdSeq_out \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::ComponentDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::ComponentDef_ptr, \
        CORBA::ComponentIR::ComponentDef_var, \
        CORBA::ComponentIR::ComponentDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::ComponentDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::ComponentIR::ComponentDef_ptr \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::InterfaceDefSeq \
      >

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::InterfaceDef_ptr \
      >

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::ComponentIR::EventDef_ptr \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::ComponentDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::ComponentDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::ComponentDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::ComponentDef \
      >

#if !defined (_CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::HomeDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::HomeDef_ptr, \
        CORBA::ComponentIR::HomeDef_var, \
        CORBA::ComponentIR::HomeDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::HomeDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::ComponentIR::HomeDef_ptr \
      >

# pragma instantiate \
    TAO::In_Object_Argument_T< \
        CORBA::ValueDef_ptr \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ParDescriptionSeq \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ExceptionDefSeq \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::HomeDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::HomeDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::HomeDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::HomeDef \
      >

#if !defined (_CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::EventDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::EventDef_ptr, \
        CORBA::ComponentIR::EventDef_var, \
        CORBA::ComponentIR::EventDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::EventDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::EventDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::EventDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::EventDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::EventDef \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ValueDefSeq \
      >

# pragma instantiate \
    TAO::In_Var_Size_Argument_T< \
        CORBA::ExtInitializerSeq \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::Container \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::Container
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::Container
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::Container \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::ModuleDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::ModuleDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::ModuleDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::ModuleDef \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::Repository \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::Repository
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::Repository
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::Repository \
      >

#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::ProvidesDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::ProvidesDef_ptr, \
        CORBA::ComponentIR::ProvidesDef_var, \
        CORBA::ComponentIR::ProvidesDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::ProvidesDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::ProvidesDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::ProvidesDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::ProvidesDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::ProvidesDef \
      >

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ComponentIR::ProvidesDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ComponentIR::ProvidesDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ComponentIR::ProvidesDescription, \
        CORBA::ComponentIR::ProvidesDescription_var \
      >

#if !defined (_CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::UsesDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::UsesDef_ptr, \
        CORBA::ComponentIR::UsesDef_var, \
        CORBA::ComponentIR::UsesDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::UsesDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::UsesDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::UsesDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::UsesDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::UsesDef \
      >

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ComponentIR::UsesDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ComponentIR::UsesDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ComponentIR::UsesDescription, \
        CORBA::ComponentIR::UsesDescription_var \
      >

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::EventPortDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::EventPortDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::EventPortDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::EventPortDef \
      >

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ComponentIR::EventPortDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ComponentIR::EventPortDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ComponentIR::EventPortDescription, \
        CORBA::ComponentIR::EventPortDescription_var \
      >

#if !defined (_CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::EmitsDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::EmitsDef_ptr, \
        CORBA::ComponentIR::EmitsDef_var, \
        CORBA::ComponentIR::EmitsDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::EmitsDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::EmitsDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::EmitsDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::EmitsDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::EmitsDef \
      >

#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::PublishesDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::PublishesDef_ptr, \
        CORBA::ComponentIR::PublishesDef_var, \
        CORBA::ComponentIR::PublishesDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::PublishesDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::PublishesDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::PublishesDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::PublishesDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::PublishesDef \
      >

#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::ConsumesDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::ConsumesDef_ptr, \
        CORBA::ComponentIR::ConsumesDef_var, \
        CORBA::ComponentIR::ConsumesDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::ConsumesDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::ConsumesDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::ConsumesDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::ConsumesDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::ConsumesDef \
      >

# pragma instantiate \
    TAO_VarSeq_Var_T< \
        CORBA::ComponentIR::ProvidesDescriptionSeq, \
        CORBA::ComponentIR::ProvidesDescription \
      >

# pragma instantiate \
    TAO_Seq_Var_Base_T< \
        CORBA::ComponentIR::ProvidesDescriptionSeq, \
        CORBA::ComponentIR::ProvidesDescription \
      >

# pragma instantiate \
    TAO_Seq_Out_T< \
        CORBA::ComponentIR::ProvidesDescriptionSeq, \
        CORBA::ComponentIR::ProvidesDescriptionSeq_var, \
        CORBA::ComponentIR::ProvidesDescription \
      >

#if !defined (_CORBA_COMPONENTIR_PROVIDESDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_PROVIDESDESCRIPTION__EXPLICIT_CS_

# pragma instantiate \
    TAO_Unbounded_Sequence< \
        CORBA::ComponentIR::ProvidesDescription \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_VarSeq_Var_T< \
        CORBA::ComponentIR::UsesDescriptionSeq, \
        CORBA::ComponentIR::UsesDescription \
      >

# pragma instantiate \
    TAO_Seq_Var_Base_T< \
        CORBA::ComponentIR::UsesDescriptionSeq, \
        CORBA::ComponentIR::UsesDescription \
      >

# pragma instantiate \
    TAO_Seq_Out_T< \
        CORBA::ComponentIR::UsesDescriptionSeq, \
        CORBA::ComponentIR::UsesDescriptionSeq_var, \
        CORBA::ComponentIR::UsesDescription \
      >

#if !defined (_CORBA_COMPONENTIR_USESDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_USESDESCRIPTION__EXPLICIT_CS_

# pragma instantiate \
    TAO_Unbounded_Sequence< \
        CORBA::ComponentIR::UsesDescription \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_VarSeq_Var_T< \
        CORBA::ComponentIR::EventPortDescriptionSeq, \
        CORBA::ComponentIR::EventPortDescription \
      >

# pragma instantiate \
    TAO_Seq_Var_Base_T< \
        CORBA::ComponentIR::EventPortDescriptionSeq, \
        CORBA::ComponentIR::EventPortDescription \
      >

# pragma instantiate \
    TAO_Seq_Out_T< \
        CORBA::ComponentIR::EventPortDescriptionSeq, \
        CORBA::ComponentIR::EventPortDescriptionSeq_var, \
        CORBA::ComponentIR::EventPortDescription \
      >

#if !defined (_CORBA_COMPONENTIR_EVENTPORTDESCRIPTION__EXPLICIT_CS_)
#define _CORBA_COMPONENTIR_EVENTPORTDESCRIPTION__EXPLICIT_CS_

# pragma instantiate \
    TAO_Unbounded_Sequence< \
        CORBA::ComponentIR::EventPortDescription \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ComponentIR::ComponentDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ComponentIR::ComponentDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ComponentIR::ComponentDescription, \
        CORBA::ComponentIR::ComponentDescription_var \
      >

#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::FactoryDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::FactoryDef_ptr, \
        CORBA::ComponentIR::FactoryDef_var, \
        CORBA::ComponentIR::FactoryDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::FactoryDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::FactoryDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::FactoryDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::FactoryDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::FactoryDef \
      >

#if !defined (_CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_TMPLINST_CS_)
#define _CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_TMPLINST_CS_

# pragma instantiate \
    TAO::Arg_Traits< \
        CORBA::ComponentIR::FinderDef \
      >

# pragma instantiate \
    TAO::Object_Arg_Traits_T< \
        CORBA::ComponentIR::FinderDef_ptr, \
        CORBA::ComponentIR::FinderDef_var, \
        CORBA::ComponentIR::FinderDef_out, \
        TAO::Objref_Traits<CORBA::ComponentIR::FinderDef> \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Objref_Traits< \
        CORBA::ComponentIR::FinderDef \
      >

# pragma instantiate \
    TAO_Objref_Var_T< \
        CORBA::ComponentIR::FinderDef
      >
  
# pragma instantiate \
    TAO_Objref_Out_T< \
        CORBA::ComponentIR::FinderDef
      >

# pragma instantiate \
    TAO::Narrow_Utils< \
        CORBA::ComponentIR::FinderDef \
      >

# pragma instantiate \
    TAO_Var_Var_T< \
        CORBA::ComponentIR::HomeDescription \
      >

# pragma instantiate \
    TAO_Var_Base_T< \
        CORBA::ComponentIR::HomeDescription \
      >

# pragma instantiate \
    TAO_Out_T< \
        CORBA::ComponentIR::HomeDescription, \
        CORBA::ComponentIR::HomeDescription_var \
      >

#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ 

