// -*- C++ -*-
//
// IFR_ComponentsS.cpp,v 1.11 2004/03/16 09:00:45 ossama 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:610

#ifndef _TAO_IDL_ORIG_IFR_COMPONENTSS_CPP_
#define _TAO_IDL_ORIG_IFR_COMPONENTSS_CPP_


#include "IFR_ComponentsS.h"
#include "tao/PortableServer/Object_Adapter.h"
#include "tao/PortableServer/Operation_Table.h"
#include "tao/TAO_Server_Request.h"
#include "tao/ORB_Core.h"
#include "tao/Profile.h"
#include "tao/Stub.h"
#include "tao/IFR_Client_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Typecode.h"
#include "tao/DynamicC.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 "tao/PortableInterceptor.h"
#if TAO_HAS_INTERCEPTORS == 1
#include "tao/RequestInfo_Util.h"
#include "tao/PortableServer/PICurrent_Guard.h"
#include "tao/PortableServer/ServerRequestInfo.h"
#include "tao/PortableServer/ServerInterceptorAdapter.h"
#endif  /* TAO_HAS_INTERCEPTORS == 1 */

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

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

#if !defined (__ACE_INLINE__)
#include "IFR_ComponentsS.i"
#endif /* !defined INLINE */

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

// Arg traits specializations.
namespace TAO
{

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

#if !defined (_CORBA_DEFINITIONKIND__ARG_TRAITS_SS_)
#define _CORBA_DEFINITIONKIND__ARG_TRAITS_SS_

  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_REPOSITORY__ARG_TRAITS_SS_)
#define _CORBA_REPOSITORY__ARG_TRAITS_SS_

  ACE_TEMPLATE_SPECIALIZATION
  class TAO_IFR_Client_Export Arg_Traits<CORBA::Repository>
    : public
        Object_Arg_Traits_T<
            CORBA::Repository_ptr,
            CORBA::Repository_var,
            CORBA::Repository_out,
            TAO::Objref_Traits<CORBA::Repository>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__ARG_TRAITS_SS_)
#define _CORBA_CONTAINER__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_IDLTYPE__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_INTERFACEDEF__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_INTERFACEDEFSEQ__ARG_TRAITS_SS_)
#define _CORBA_INTERFACEDEFSEQ__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_VALUEDEF__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_VALUEDEFSEQ__ARG_TRAITS_SS_)
#define _CORBA_VALUEDEFSEQ__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_INITIALIZERSEQ__ARG_TRAITS_SS_)
#define _CORBA_INITIALIZERSEQ__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_SS_)
#define _CORBA_EXTINITIALIZERSEQ__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_SS_)
#define _CORBA_EXCEPTIONDEFSEQ__ARG_TRAITS_SS_

  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:391

#if !defined (_CORBA_OPERATIONMODE__ARG_TRAITS_SS_)
#define _CORBA_OPERATIONMODE__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_SS_)
#define _CORBA_PARDESCRIPTIONSEQ__ARG_TRAITS_SS_

  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:263

#if !defined (_CORBA_CONTEXTIDSEQ__ARG_TRAITS_SS_)
#define _CORBA_CONTEXTIDSEQ__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_HOMEDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_EVENTDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_USESDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_EMITSDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__ARG_TRAITS_SS_

  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_SS_)
#define _CORBA_COMPONENTIR_FINDERDEF__ARG_TRAITS_SS_

  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_interface.cpp:1461

class TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92,  0,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92,  0,
     92, 45, 30,  0, 92, 92, 92, 20, 92, 92,
     92, 92, 92, 92, 92, 92, 92,  0,  0, 30,
     92,  0, 92,  0, 92, 92, 92, 92, 92, 92,
     92, 92, 15, 15, 92, 92, 92,  5, 15, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92,
#else
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
     92, 92, 92, 92, 92,  0, 92,  0, 92, 45,
     30,  0, 92, 92, 92, 20, 92, 92,  0,  0,
     30, 92,  0, 92,  0, 15, 15, 92, 92, 92,
      5, 15, 92, 92, 92, 92, 92, 92,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 59,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 91,
      HASH_VALUE_RANGE = 88,
      DUPLICATES = 18,
      WORDLIST_SIZE = 63
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::EventDef::move_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::EventDef::_is_a_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::EventDef::lookup_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::lookup, 0},
      {"_get_name", &POA_CORBA::ComponentIR::EventDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_get_type", &POA_CORBA::ComponentIR::EventDef::_get_type_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_type, 0},
      {"_set_name", &POA_CORBA::ComponentIR::EventDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::EventDef::_interface_skel, 0, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::EventDef::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"_get_is_custom", &POA_CORBA::ComponentIR::EventDef::_get_is_custom_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_is_custom, 0},
      {"_set_is_custom", &POA_CORBA::ComponentIR::EventDef::_set_is_custom_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_is_custom, 0},
      {"_get_base_value", &POA_CORBA::ComponentIR::EventDef::_get_base_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_base_value, 0},
      {"_set_base_value", &POA_CORBA::ComponentIR::EventDef::_set_base_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_base_value, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::EventDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_is_truncatable", &POA_CORBA::ComponentIR::EventDef::_get_is_truncatable_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_is_truncatable, 0},
      {"_set_is_truncatable", &POA_CORBA::ComponentIR::EventDef::_set_is_truncatable_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_is_truncatable, 0},
      {"is_a", &POA_CORBA::ComponentIR::EventDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_component", &POA_CORBA::ComponentIR::EventDef::_component_skel, 0, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::EventDef::_non_existent_skel, 0, 0},
      {"_get_is_abstract", &POA_CORBA::ComponentIR::EventDef::_get_is_abstract_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_is_abstract, 0},
      {"_set_is_abstract", &POA_CORBA::ComponentIR::EventDef::_set_is_abstract_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_is_abstract, 0},
      {"_get_initializers", &POA_CORBA::ComponentIR::EventDef::_get_initializers_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_initializers, 0},
      {"_set_initializers", &POA_CORBA::ComponentIR::EventDef::_set_initializers_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_initializers, 0},
      {"_get_ext_initializers", &POA_CORBA::ComponentIR::EventDef::_get_ext_initializers_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_ext_initializers, 0},
      {"_set_ext_initializers", &POA_CORBA::ComponentIR::EventDef::_set_ext_initializers_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_ext_initializers, 0},
      {"_get_id", &POA_CORBA::ComponentIR::EventDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::EventDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::EventDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_supported_interfaces", &POA_CORBA::ComponentIR::EventDef::_get_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_supported_interfaces, 0},
      {"_set_abstract_base_values", &POA_CORBA::ComponentIR::EventDef::_set_abstract_base_values_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_abstract_base_values, 0},
      {"_get_abstract_base_values", &POA_CORBA::ComponentIR::EventDef::_get_abstract_base_values_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_abstract_base_values, 0},
      {"_set_supported_interfaces", &POA_CORBA::ComponentIR::EventDef::_set_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_supported_interfaces, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::EventDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
      {"_get_version", &POA_CORBA::ComponentIR::EventDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::EventDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::EventDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"describe_value", &POA_CORBA::ComponentIR::EventDef::describe_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::describe_value, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::EventDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"describe_ext_value", &POA_CORBA::ComponentIR::EventDef::describe_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::describe_ext_value, 0},
      {"destroy", &POA_CORBA::ComponentIR::EventDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"create_enum", &POA_CORBA::ComponentIR::EventDef::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_enum, 0},
      {"create_value", &POA_CORBA::ComponentIR::EventDef::create_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::EventDef::create_module_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::EventDef::create_native_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_native, 0},
      {"create_interface", &POA_CORBA::ComponentIR::EventDef::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_attribute", &POA_CORBA::ComponentIR::EventDef::create_attribute_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_attribute, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::EventDef::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::EventDef::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::describe_contents, 0},
      {"create_value_member", &POA_CORBA::ComponentIR::EventDef::create_value_member_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_value_member, 0},
      {"create_ext_attribute", &POA_CORBA::ComponentIR::EventDef::create_ext_attribute_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_ext_attribute, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::EventDef::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::EventDef::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"contents", &POA_CORBA::ComponentIR::EventDef::contents_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::contents, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::EventDef::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"create_alias", &POA_CORBA::ComponentIR::EventDef::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_alias, 0},
      {"create_struct", &POA_CORBA::ComponentIR::EventDef::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::EventDef::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_constant, 0},
      {"create_union", &POA_CORBA::ComponentIR::EventDef::create_union_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_union, 0},
      {"create_exception", &POA_CORBA::ComponentIR::EventDef::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_exception, 0},
      {"create_operation", &POA_CORBA::ComponentIR::EventDef::create_operation_skel, &POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::create_operation, 0},
    };

  static const signed char lookup[] =
    {
        -7,   -3,  -12,   -2,    4,    5,    6,  -14,   -2, -100,   10,   11,  -17,   -2,
      -103,  -99,  -22,   -2,   16,  -98,  -24,   -2,  -26,   -2,   19,   20,  -28,   -2,
        21,  -31,   -4, -106, -103,   -1,  -36,   -2, -105, -102,   30,   -1, -102,   35,
       -99,   38,   39,   40,   -1,   -1,   41,   -1,   -1,   -1,   42,   -1,  -45,   -2,
        43,   44,  -95,  -47,   -3,  -93,   50,   -1,   51,   52,   53,   54,   55,   -1,
        56,   -1,   57,   58,   -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        -1,   -1,   -1,   60,   -1,  -61,   -2,  -93,
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_EventDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EventDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::the_TAO_EventDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker
  strategized_proxy_broker;

  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::_TAO_EventDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::~_TAO_EventDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);

  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );

  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;

  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;

      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;

      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }

  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);

  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }

  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_EventDef_Strategized_Proxy_Broker::the_TAO_EventDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer =
    CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function;

  return 0;
}

static int
CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_EventDef_ThruPOA_Proxy_Impl::_TAO_EventDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::EventDef::EventDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_EventDef_optable;
}

POA_CORBA::ComponentIR::EventDef::EventDef (const EventDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IDLType) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, ValueDef) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, ExtValueDef) (rhs)
{
}

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

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::EventDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request,
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();

  POA_CORBA::ComponentIR::EventDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventDef *) _tao_servant;

  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;

  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }

  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;

  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();

  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request,
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EventDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventDef *) _tao_servant;

  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;

  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();

  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request,
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );

  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }

  POA_CORBA::ComponentIR::EventDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventDef *) _tao_servant;

  CORBA::InterfaceDef_ptr _tao_retval =
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;

  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();

  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );

  _tao_adapter->dispose (_tao_retval);

  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventDef::_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EventDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::EventDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::EventDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IDLType:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IDLType_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ValueDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ValueDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ExtValueDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ExtValueDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EventDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::EventDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EventDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::EventDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::EventDef *
POA_CORBA::ComponentIR::EventDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::EventDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_EventDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 20,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 15,
     47,  0,  0,  0, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 30, 20, 30,
     47,  0, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 15,  5, 47, 47, 47, 10,  0, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47,
#else
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
     47, 47, 47, 47, 47, 20, 47, 15, 47,  0,
      0,  0, 47, 47, 47, 47, 47, 47, 30, 20,
     30, 47,  0, 47, 47, 15,  5, 47, 47, 47,
     10,  0, 47, 47, 47, 47, 47, 47,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 27,
      MIN_WORD_LENGTH = 5,
      MAX_WORD_LENGTH = 25,
      MIN_HASH_VALUE = 7,
      MAX_HASH_VALUE = 46,
      HASH_VALUE_RANGE = 40,
      DUPLICATES = 3,
      WORDLIST_SIZE = 34
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"destroy", &POA_CORBA::ComponentIR::Container::destroy_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::destroy, 0},
      {"create_home", &POA_CORBA::ComponentIR::Container::create_home_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_home, 0},
      {"create_value", &POA_CORBA::ComponentIR::Container::create_value_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::Container::create_module_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::Container::create_native_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_native, 0},
      {"create_interface", &POA_CORBA::ComponentIR::Container::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::Container::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"create_event", &POA_CORBA::ComponentIR::Container::create_event_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_event, 0},
      {"create_struct", &POA_CORBA::ComponentIR::Container::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::Container::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_constant, 0},
      {"create_component", &POA_CORBA::ComponentIR::Container::create_component_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_component, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::Container::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"contents", &POA_CORBA::ComponentIR::Container::contents_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::contents, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::Container::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::Container::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"create_alias", &POA_CORBA::ComponentIR::Container::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_alias, 0},
      {"_interface", &POA_CORBA::ComponentIR::Container::_interface_skel, 0, 0},
      {"create_enum", &POA_CORBA::ComponentIR::Container::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_enum, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::Container::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::describe_contents, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::Container::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_component", &POA_CORBA::ComponentIR::Container::_component_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::Container::lookup_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::lookup, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::Container::_non_existent_skel, 0, 0},
      {"_is_a", &POA_CORBA::ComponentIR::Container::_is_a_skel, 0, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::Container::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"create_union", &POA_CORBA::ComponentIR::Container::create_union_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_union, 0},
      {"create_exception", &POA_CORBA::ComponentIR::Container::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_exception, 0},
    };

  static const signed char lookup[] =
    {
       -1,  -1,  -1,  -1,  -1,  -1,  -1,   7,  -1, -10,  -2,   8,   9, -50, 
      -12,  -2, -48,  14,  15,  -1,  16,  17,  18,  19,  -1,  20,  21,  22, 
       -1,  -1,  23,  24,  25,  26,  -1,  27,  28,  -1,  29,  -1,  30,  31, 
       32,  -1,  -1,  -1,  33, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_Container_Perfect_Hash_OpTable tao_CORBA_ComponentIR_Container_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::Container *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::ComponentIR::ComponentDef_ptr base_component,
      const CORBA::InterfaceDefSeq & supports_interfaces
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::ComponentDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component &
    );
  
private:
  POA_CORBA::ComponentIR::Container *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::ComponentIR::ComponentDef_ptr base_component_;
  const CORBA::InterfaceDefSeq & supports_interfaces_;
  ::CORBA::ComponentIR::ComponentDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::Container *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::ComponentDef_ptr base_component,
    const CORBA::InterfaceDefSeq & supports_interfaces
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    base_component_ (base_component),
    supports_interfaces_ (supports_interfaces)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (5);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->base_component_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->supports_interfaces_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component::result (::CORBA::ComponentIR::ComponentDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::Container *tao_impl,
      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_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::HomeDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home &
    );
  
private:
  POA_CORBA::ComponentIR::Container *_tao_impl;
  
  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_;
  ::CORBA::ComponentIR::HomeDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::Container *tao_impl,
    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_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    base_home_ (base_home),
    managed_component_ (managed_component),
    supports_interfaces_ (supports_interfaces),
    primary_key_ (primary_key)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (7);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->base_home_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->managed_component_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->supports_interfaces_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->primary_key_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home::result (::CORBA::ComponentIR::HomeDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::Container *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      const CORBA::Boolean & is_custom,
      const CORBA::Boolean & is_abstract,
      CORBA::ValueDef_ptr base_value,
      const CORBA::Boolean & is_truncatable,
      const CORBA::ValueDefSeq & abstract_base_values,
      const CORBA::InterfaceDefSeq & supported_interfaces,
      const CORBA::ExtInitializerSeq & initializers
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::EventDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event &
    );
  
private:
  POA_CORBA::ComponentIR::Container *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  const CORBA::Boolean & is_custom_;
  const CORBA::Boolean & is_abstract_;
  CORBA::ValueDef_ptr base_value_;
  const CORBA::Boolean & is_truncatable_;
  const CORBA::ValueDefSeq & abstract_base_values_;
  const CORBA::InterfaceDefSeq & supported_interfaces_;
  const CORBA::ExtInitializerSeq & initializers_;
  ::CORBA::ComponentIR::EventDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::Container *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    const CORBA::Boolean & is_custom,
    const CORBA::Boolean & is_abstract,
    CORBA::ValueDef_ptr base_value,
    const CORBA::Boolean & is_truncatable,
    const CORBA::ValueDefSeq & abstract_base_values,
    const CORBA::InterfaceDefSeq & supported_interfaces,
    const CORBA::ExtInitializerSeq & initializers
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    is_custom_ (is_custom),
    is_abstract_ (is_abstract),
    base_value_ (base_value),
    is_truncatable_ (is_truncatable),
    abstract_base_values_ (abstract_base_values),
    supported_interfaces_ (supported_interfaces),
    initializers_ (initializers)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (10);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_custom_);
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_abstract_);
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->base_value_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_truncatable_);
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->abstract_base_values_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->supported_interfaces_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->initializers_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event::result (::CORBA::ComponentIR::EventDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::the_TAO_Container_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::_TAO_Container_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::~_TAO_Container_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_Container_Strategized_Proxy_Broker::the_TAO_Container_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_Container_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::_TAO_Container_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_component (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::Container_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
          )
      )->create_component (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val *) args[5])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_home (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::Container_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
          )
      )->create_home (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val *) args[5])->arg (),
          ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val *) args[6])->arg (),
          ((TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val *) args[7])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_Container_ThruPOA_Proxy_Impl::create_event (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::Container_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/Container:1.0"
          )
      )->create_event (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val *) args[5])->arg (),
          ((TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val *) args[6])->arg (),
          ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val *) args[7])->arg (),
          ((TAO::Arg_Traits<CORBA::ValueDefSeq>::in_arg_val *) args[8])->arg (),
          ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val *) args[9])->arg (),
          ((TAO::Arg_Traits<CORBA::ExtInitializerSeq>::in_arg_val *) args[10])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::Container::Container (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_Container_optable;
}

POA_CORBA::ComponentIR::Container::Container (const Container& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::Container::create_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::Container *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::Container *,
        _tao_servant
      );
  ::CORBA::ComponentIR::ComponentDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ComponentIR::ComponentDef_var base_component;
  CORBA::InterfaceDefSeq supports_interfaces;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> base_component.out ()) &&
      (_tao_in >> supports_interfaces)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_component _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      base_component.in (),
      
      supports_interfaces
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_component (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  base_component.in (),
                  
                  supports_interfaces
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::Container::create_home_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::Container *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::Container *,
        _tao_servant
      );
  ::CORBA::ComponentIR::HomeDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ComponentIR::HomeDef_var base_home;
  CORBA::ComponentIR::ComponentDef_var managed_component;
  CORBA::InterfaceDefSeq supports_interfaces;
  CORBA::ValueDef_var primary_key;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> base_home.out ()) &&
      (_tao_in >> managed_component.out ()) &&
      (_tao_in >> supports_interfaces) &&
      (_tao_in >> primary_key.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_home _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      base_home.in (),
      
      managed_component.in (),
      
      supports_interfaces,
      
      primary_key.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_home (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  base_home.in (),
                  
                  managed_component.in (),
                  
                  supports_interfaces,
                  
                  primary_key.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::HomeDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::Container::create_event_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::Container *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::Container *,
        _tao_servant
      );
  ::CORBA::ComponentIR::EventDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::Boolean is_custom;
  CORBA::Boolean is_abstract;
  CORBA::ValueDef_var base_value;
  CORBA::Boolean is_truncatable;
  CORBA::ValueDefSeq abstract_base_values;
  CORBA::InterfaceDefSeq supported_interfaces;
  CORBA::ExtInitializerSeq initializers;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> CORBA::Any::to_boolean (is_custom)) &&
      (_tao_in >> CORBA::Any::to_boolean (is_abstract)) &&
      (_tao_in >> base_value.out ()) &&
      (_tao_in >> CORBA::Any::to_boolean (is_truncatable)) &&
      (_tao_in >> abstract_base_values) &&
      (_tao_in >> supported_interfaces) &&
      (_tao_in >> initializers)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_Container_create_event _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      is_custom,
      
      is_abstract,
      
      base_value.in (),
      
      is_truncatable,
      
      abstract_base_values,
      
      supported_interfaces,
      
      initializers
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_event (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  is_custom,
                  
                  is_abstract,
                  
                  base_value.in (),
                  
                  is_truncatable,
                  
                  abstract_base_values,
                  
                  supported_interfaces,
                  
                  initializers
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::EventDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::Container::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::Container *_tao_impl =
    (POA_CORBA::ComponentIR::Container *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Container::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::Container *_tao_impl =
    (POA_CORBA::ComponentIR::Container *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Container::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::Container *_tao_impl =
    (POA_CORBA::ComponentIR::Container *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Container::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::Container *_tao_impl =
    (POA_CORBA::ComponentIR::Container *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::Container::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::Container::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::Container::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/Container:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::Container::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::Container *
POA_CORBA::ComponentIR::Container::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::Container STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_Container_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 10,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58,  0,
     58,  0,  0,  0, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 20, 10, 25,
     58, 20, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 40, 20, 58, 58, 58, 10, 20, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58,
#else
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
     58, 58, 58, 58, 58, 10, 58,  0, 58,  0,
      0,  0, 58, 58, 58, 58, 58, 58, 20, 10,
     25, 58, 20, 58, 58, 40, 20, 58, 58, 58,
     10, 20, 58, 58, 58, 58, 58, 58,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 38,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 8,
      MAX_HASH_VALUE = 57,
      HASH_VALUE_RANGE = 50,
      DUPLICATES = 6,
      WORDLIST_SIZE = 46
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"describe", &POA_CORBA::ComponentIR::ModuleDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::describe, 0},
      {"create_home", &POA_CORBA::ComponentIR::ModuleDef::create_home_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_home, 0},
      {"create_value", &POA_CORBA::ComponentIR::ModuleDef::create_value_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::ModuleDef::create_module_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::ModuleDef::create_native_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_native, 0},
      {"move", &POA_CORBA::ComponentIR::ModuleDef::move_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::ModuleDef::_is_a_skel, 0, 0},
      {"create_interface", &POA_CORBA::ComponentIR::ModuleDef::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::ModuleDef::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"_get_id", &POA_CORBA::ComponentIR::ModuleDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::ModuleDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"_get_name", &POA_CORBA::ComponentIR::ModuleDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::ModuleDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::ModuleDef::_interface_skel, 0, 0},
      {"create_enum", &POA_CORBA::ComponentIR::ModuleDef::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_enum, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::ModuleDef::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::ModuleDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::ModuleDef::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::ModuleDef::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"destroy", &POA_CORBA::ComponentIR::ModuleDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::ModuleDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::ModuleDef::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"create_event", &POA_CORBA::ComponentIR::ModuleDef::create_event_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_event, 0},
      {"create_struct", &POA_CORBA::ComponentIR::ModuleDef::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::ModuleDef::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_constant, 0},
      {"create_component", &POA_CORBA::ComponentIR::ModuleDef::create_component_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_component, 0},
      {"create_union", &POA_CORBA::ComponentIR::ModuleDef::create_union_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_union, 0},
      {"_component", &POA_CORBA::ComponentIR::ModuleDef::_component_skel, 0, 0},
      {"create_exception", &POA_CORBA::ComponentIR::ModuleDef::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_exception, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::ModuleDef::_non_existent_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::ModuleDef::lookup_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::lookup, 0},
      {"_get_version", &POA_CORBA::ComponentIR::ModuleDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::ModuleDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"contents", &POA_CORBA::ComponentIR::ModuleDef::contents_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::contents, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::ModuleDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"create_alias", &POA_CORBA::ComponentIR::ModuleDef::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::create_alias, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::ModuleDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::ModuleDef::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::describe_contents, 0},
    };

  static const signed char lookup[] =
    {
       -1,  -1, -11,  -2, -15,  -2, -17,  -2,   8, -19,  -2,   9,  10, -68, 
       13,  14, -69, -68,  -1, -67,  21,  22,  23,  24,  -1,  25,  26,  27, 
       28,  -1,  -1,  29,  30,  31,  -1,  32,  33,  34,  -1,  -1,  35,  36, 
       -1,  37, -39,  -2,  38, -60,  41,  -1,  42,  -1,  43,  -1,  -1,  -1, 
       44,  45, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_ModuleDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ModuleDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::the_TAO_ModuleDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::_TAO_ModuleDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::~_TAO_ModuleDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_ModuleDef_Strategized_Proxy_Broker::the_TAO_ModuleDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_ModuleDef_ThruPOA_Proxy_Impl::_TAO_ModuleDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::ModuleDef::ModuleDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_ModuleDef_optable;
}

POA_CORBA::ComponentIR::ModuleDef::ModuleDef (const ModuleDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, ModuleDef) (rhs),
    ACE_NESTED_CLASS (POA_CORBA::ComponentIR, Container) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::ModuleDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::ModuleDef *_tao_impl =
    (POA_CORBA::ComponentIR::ModuleDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ModuleDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ModuleDef *_tao_impl =
    (POA_CORBA::ComponentIR::ModuleDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ModuleDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::ModuleDef *_tao_impl =
    (POA_CORBA::ComponentIR::ModuleDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ModuleDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ModuleDef *_tao_impl =
    (POA_CORBA::ComponentIR::ModuleDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::ModuleDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::ModuleDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ModuleDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ModuleDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::ModuleDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::ModuleDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ModuleDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::ModuleDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::ModuleDef *
POA_CORBA::ComponentIR::ModuleDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::ModuleDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_ModuleDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 10,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78,  0,
     78,  0, 15, 20, 78, 10, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 15,  0, 25,
     78,  5, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 45,  5, 78, 78, 78,  0,  0, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78,
#else
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 78, 78, 78, 78, 78,
     78, 78, 78, 78, 78, 10, 78,  0, 78,  0,
     15, 20, 78, 10, 78, 78, 78, 78, 15,  0,
     25, 78,  5, 78, 78, 45,  5, 78, 78, 78,
      0,  0, 78, 78, 78, 78, 78, 78,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 35,
      MIN_WORD_LENGTH = 5,
      MAX_WORD_LENGTH = 25,
      MIN_HASH_VALUE = 11,
      MAX_HASH_VALUE = 77,
      HASH_VALUE_RANGE = 67,
      DUPLICATES = 3,
      WORDLIST_SIZE = 46
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"",0,0,0},{"",0,0,0},
      {"create_enum", &POA_CORBA::ComponentIR::Repository::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_enum, 0},
      {"create_array", &POA_CORBA::ComponentIR::Repository::create_array_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_array, 0},
      {"_is_a", &POA_CORBA::ComponentIR::Repository::_is_a_skel, 0, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::Repository::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"create_event", &POA_CORBA::ComponentIR::Repository::create_event_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_event, 0},
      {"create_struct", &POA_CORBA::ComponentIR::Repository::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::Repository::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_constant, 0},
      {"create_component", &POA_CORBA::ComponentIR::Repository::create_component_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_component, 0},
      {"destroy", &POA_CORBA::ComponentIR::Repository::destroy_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::destroy, 0},
      {"create_string", &POA_CORBA::ComponentIR::Repository::create_string_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_string, 0},
      {"create_wstring", &POA_CORBA::ComponentIR::Repository::create_wstring_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_wstring, 0},
      {"_component", &POA_CORBA::ComponentIR::Repository::_component_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::Repository::lookup_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::lookup, 0},
      {"create_fixed", &POA_CORBA::ComponentIR::Repository::create_fixed_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_fixed, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::Repository::_non_existent_skel, 0, 0},
      {"create_home", &POA_CORBA::ComponentIR::Repository::create_home_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_home, 0},
      {"create_value", &POA_CORBA::ComponentIR::Repository::create_value_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::Repository::create_module_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::Repository::create_native_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_native, 0},
      {"create_sequence", &POA_CORBA::ComponentIR::Repository::create_sequence_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_sequence, 0},
      {"create_interface", &POA_CORBA::ComponentIR::Repository::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::Repository::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"create_union", &POA_CORBA::ComponentIR::Repository::create_union_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_union, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::Repository::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"lookup_id", &POA_CORBA::ComponentIR::Repository::lookup_id_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::lookup_id, 0},
      {"_interface", &POA_CORBA::ComponentIR::Repository::_interface_skel, 0, 0},
      {"create_exception", &POA_CORBA::ComponentIR::Repository::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_exception, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::Repository::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"get_primitive", &POA_CORBA::ComponentIR::Repository::get_primitive_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::get_primitive, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::Repository::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::Repository::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"get_canonical_typecode", &POA_CORBA::ComponentIR::Repository::get_canonical_typecode_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::get_canonical_typecode, 0},
      {"contents", &POA_CORBA::ComponentIR::Repository::contents_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::contents, 0},
      {"create_alias", &POA_CORBA::ComponentIR::Repository::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::create_alias, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::Repository::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::describe_contents, 0},
    };

  static const signed char lookup[] =
    {
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  11,  12, -28, 
       -2,  13,  14,  15,  16,  -1,  17,  18,  19,  20,  21,  22,  23,  24, 
       25, -31,  -2,  26,  27, -97,  -1,  30, -84,  33,  34,  35,  36,  37, 
       38,  39,  -1,  40,  41,  -1,  -1,  -1,  -1,  -1,  42,  43,  -1,  -1, 
       -1,  44,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  45, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_Repository_Perfect_Hash_OpTable tao_CORBA_ComponentIR_Repository_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::the_TAO_Repository_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::_TAO_Repository_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::~_TAO_Repository_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_Repository_Strategized_Proxy_Broker::the_TAO_Repository_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_Repository_ThruPOA_Proxy_Impl::_TAO_Repository_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::Repository::Repository (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_Repository_optable;
}

POA_CORBA::ComponentIR::Repository::Repository (const Repository& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Repository) (rhs),
    ACE_NESTED_CLASS (POA_CORBA::ComponentIR, Container) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::Repository::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::Repository *_tao_impl =
    (POA_CORBA::ComponentIR::Repository *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Repository::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::Repository *_tao_impl =
    (POA_CORBA::ComponentIR::Repository *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Repository::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::Repository *_tao_impl =
    (POA_CORBA::ComponentIR::Repository *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::Repository::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::Repository *_tao_impl =
    (POA_CORBA::ComponentIR::Repository *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::Repository::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::Repository::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Repository:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Repository_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/Repository:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::Repository_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::Repository::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/Repository:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::Repository::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::Repository *
POA_CORBA::ComponentIR::Repository::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::Repository STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_Repository_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 37, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 19,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 5,
      WORDLIST_SIZE = 23
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::ProvidesDef::move_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::ProvidesDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::ProvidesDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::ProvidesDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::ProvidesDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::ProvidesDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::ProvidesDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::ProvidesDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::ProvidesDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::ProvidesDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::ProvidesDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::ProvidesDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"destroy", &POA_CORBA::ComponentIR::ProvidesDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::ProvidesDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_interface_type", &POA_CORBA::ComponentIR::ProvidesDef::_get_interface_type_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_interface_type, 0},
      {"_set_interface_type", &POA_CORBA::ComponentIR::ProvidesDef::_set_interface_type_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_set_interface_type, 0},
      {"_component", &POA_CORBA::ComponentIR::ProvidesDef::_component_skel, 0, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::ProvidesDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::ProvidesDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -12,  -2, -18,  -2,   4,   5,  -1,  53,   8,  48,  11,  -1, -48,  14, 
       -1,  15,  -1,  16,  17, -53,  20,  -9,  -2,  21,  -6,  -2,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  22, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_ProvidesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ProvidesDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ProvidesDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::InterfaceDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get &
    );
  
private:
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl;
  
  ::CORBA::InterfaceDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ProvidesDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get::result (::CORBA::InterfaceDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ProvidesDef *tao_impl,
      CORBA::InterfaceDef_ptr interface_type
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set &
    );
  
private:
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl;
  
  CORBA::InterfaceDef_ptr interface_type_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ProvidesDef *tao_impl,
    CORBA::InterfaceDef_ptr interface_type
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    interface_type_ (interface_type)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->interface_type_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::the_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::~_TAO_ProvidesDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_ProvidesDef_Strategized_Proxy_Broker::the_TAO_ProvidesDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_TAO_ProvidesDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_get_interface_type (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::InterfaceDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ProvidesDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0"
          )
      )->interface_type (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ProvidesDef_ThruPOA_Proxy_Impl::_set_interface_type (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::ProvidesDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0"
        )
    )->interface_type (
        ((TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::ProvidesDef::ProvidesDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_ProvidesDef_optable;
}

POA_CORBA::ComponentIR::ProvidesDef::ProvidesDef (const ProvidesDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ProvidesDef::_get_interface_type_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ProvidesDef *,
        _tao_servant
      );
  ::CORBA::InterfaceDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->interface_type (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::InterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ProvidesDef::_set_interface_type_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ProvidesDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::InterfaceDef_var interface_type;
  
  if (!(
      (_tao_in >> interface_type.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ProvidesDef_interface_type_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      interface_type.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->interface_type (
                  interface_type.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::ProvidesDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ProvidesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ProvidesDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ProvidesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ProvidesDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ProvidesDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ProvidesDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ProvidesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ProvidesDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::ProvidesDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::ProvidesDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::ProvidesDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::ProvidesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ProvidesDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::ProvidesDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::ProvidesDef *
POA_CORBA::ComponentIR::ProvidesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::ProvidesDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_ProvidesDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 37, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 21,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 6,
      WORDLIST_SIZE = 25
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::UsesDef::move_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::UsesDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::UsesDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::UsesDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::UsesDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::UsesDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::UsesDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::UsesDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::UsesDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::UsesDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::UsesDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::UsesDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"_get_is_multiple", &POA_CORBA::ComponentIR::UsesDef::_get_is_multiple_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_is_multiple, 0},
      {"_set_is_multiple", &POA_CORBA::ComponentIR::UsesDef::_set_is_multiple_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_is_multiple, 0},
      {"destroy", &POA_CORBA::ComponentIR::UsesDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::UsesDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_interface_type", &POA_CORBA::ComponentIR::UsesDef::_get_interface_type_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_interface_type, 0},
      {"_set_interface_type", &POA_CORBA::ComponentIR::UsesDef::_set_interface_type_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_interface_type, 0},
      {"_component", &POA_CORBA::ComponentIR::UsesDef::_component_skel, 0, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::UsesDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::UsesDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -16,  -2, -20,  -2,   4,   5,  -1,  55,   8,  51,  11,  -1,  45,  14, 
       -1,  15, -52,  18,  19, -53,  22, -12,  -2,  23,  -9,  -2,  -6,  -2, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  24, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_UsesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_UsesDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::UsesDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::InterfaceDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get &
    );
  
private:
  POA_CORBA::ComponentIR::UsesDef *_tao_impl;
  
  ::CORBA::InterfaceDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::UsesDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get::result (::CORBA::InterfaceDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::UsesDef *tao_impl,
      CORBA::InterfaceDef_ptr interface_type
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set &
    );
  
private:
  POA_CORBA::ComponentIR::UsesDef *_tao_impl;
  
  CORBA::InterfaceDef_ptr interface_type_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::UsesDef *tao_impl,
    CORBA::InterfaceDef_ptr interface_type
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    interface_type_ (interface_type)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->interface_type_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::UsesDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (CORBA::Boolean result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get &
    );
  
private:
  POA_CORBA::ComponentIR::UsesDef *_tao_impl;
  
  CORBA::Boolean _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::UsesDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= CORBA::Any::from_boolean (this->_result);
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get::result (CORBA::Boolean result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::UsesDef *tao_impl,
      const CORBA::Boolean & is_multiple
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set &
    );
  
private:
  POA_CORBA::ComponentIR::UsesDef *_tao_impl;
  
  const CORBA::Boolean & is_multiple_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::UsesDef *tao_impl,
    const CORBA::Boolean & is_multiple
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    is_multiple_ (is_multiple)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_multiple_);
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::the_TAO_UsesDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::_TAO_UsesDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::~_TAO_UsesDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_UsesDef_Strategized_Proxy_Broker::the_TAO_UsesDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_TAO_UsesDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_interface_type (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::InterfaceDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::UsesDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"
          )
      )->interface_type (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_interface_type (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::UsesDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"
        )
    )->interface_type (
        ((TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_get_is_multiple (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::UsesDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"
          )
      )->is_multiple (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_UsesDef_ThruPOA_Proxy_Impl::_set_is_multiple (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::UsesDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0"
        )
    )->is_multiple (
        ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::UsesDef::UsesDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_UsesDef_optable;
}

POA_CORBA::ComponentIR::UsesDef::UsesDef (const UsesDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::UsesDef::_get_interface_type_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::UsesDef *,
        _tao_servant
      );
  ::CORBA::InterfaceDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->interface_type (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::InterfaceDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::UsesDef::_set_interface_type_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::UsesDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::InterfaceDef_var interface_type;
  
  if (!(
      (_tao_in >> interface_type.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_interface_type_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      interface_type.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->interface_type (
                  interface_type.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::UsesDef::_get_is_multiple_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::UsesDef *,
        _tao_servant
      );
  CORBA::Boolean _tao_retval = 0;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->is_multiple (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          CORBA::Boolean _tao_retval_info = _tao_retval;
          _tao_ri.result (_tao_retval_info);
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << CORBA::Any::from_boolean (_tao_retval))
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::UsesDef::_set_is_multiple_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::UsesDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::Boolean is_multiple;
  
  if (!(
      (_tao_in >> CORBA::Any::to_boolean (is_multiple))
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_UsesDef_is_multiple_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      is_multiple
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->is_multiple (
                  is_multiple
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::UsesDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    (POA_CORBA::ComponentIR::UsesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::UsesDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    (POA_CORBA::ComponentIR::UsesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::UsesDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    (POA_CORBA::ComponentIR::UsesDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::UsesDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::UsesDef *_tao_impl =
    (POA_CORBA::ComponentIR::UsesDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::UsesDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::UsesDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::UsesDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::UsesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/UsesDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::UsesDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::UsesDef *
POA_CORBA::ComponentIR::UsesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::UsesDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_UsesDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 10, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 10, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 20,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 6,
      WORDLIST_SIZE = 24
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::EventPortDef::move_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::EventPortDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::EventPortDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::EventPortDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::EventPortDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::EventPortDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::EventPortDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::EventPortDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::EventPortDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::EventPortDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::EventPortDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"is_a", &POA_CORBA::ComponentIR::EventPortDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::EventPortDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"destroy", &POA_CORBA::ComponentIR::EventPortDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::EventPortDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_event", &POA_CORBA::ComponentIR::EventPortDef::_get_event_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_event, 0},
      {"_component", &POA_CORBA::ComponentIR::EventPortDef::_component_skel, 0, 0},
      {"_set_event", &POA_CORBA::ComponentIR::EventPortDef::_set_event_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_set_event, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::EventPortDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::EventPortDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -12,  -2, -19,  -3,   4,   5,  -1,  53,   8,  48,  11,  -1, -48,  14, 
       15,  16,  -1,  17,  18,  -1, -54,  -9,  -2,  22,  -6,  -2,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  23, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_EventPortDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EventPortDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::EventPortDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::EventDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get &
    );
  
private:
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl;
  
  ::CORBA::ComponentIR::EventDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::EventPortDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get::result (::CORBA::ComponentIR::EventDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::EventPortDef *tao_impl,
      CORBA::ComponentIR::EventDef_ptr event
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set &
    );
  
private:
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl;
  
  CORBA::ComponentIR::EventDef_ptr event_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::EventPortDef *tao_impl,
    CORBA::ComponentIR::EventDef_ptr event
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    event_ (event)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->event_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::EventPortDef *tao_impl,
      const char * event_id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (CORBA::Boolean result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a &
    );
  
private:
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl;
  
  const char * event_id_;
  CORBA::Boolean _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::EventPortDef *tao_impl,
    const char * event_id
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    event_id_ (event_id)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= event_id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= CORBA::Any::from_boolean (this->_result);
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a::result (CORBA::Boolean result)
{
  // Update the result.
   this->_result = result;
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::the_TAO_EventPortDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::_TAO_EventPortDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::~_TAO_EventPortDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_EventPortDef_Strategized_Proxy_Broker::the_TAO_EventPortDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_TAO_EventPortDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_get_event (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::EventPortDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
          )
      )->event (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::_set_event (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::EventPortDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
        )
    )->event (
        ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_EventPortDef_ThruPOA_Proxy_Impl::is_a (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::EventPortDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0"
          )
      )->is_a (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::EventPortDef::EventPortDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_EventPortDef_optable;
}

POA_CORBA::ComponentIR::EventPortDef::EventPortDef (const EventPortDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::EventPortDef::_get_event_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::EventPortDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::EventDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->event (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::EventDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::EventPortDef::_set_event_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::EventPortDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::ComponentIR::EventDef_var event;
  
  if (!(
      (_tao_in >> event.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_event_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      event.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->event (
                  event.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::EventPortDef::is_a_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::EventPortDef *,
        _tao_servant
      );
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var event_id;
  
  if (!(
      (_tao_in >> event_id.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_EventPortDef_is_a _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      event_id.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->is_a (
                  event_id.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          CORBA::Boolean _tao_retval_info = _tao_retval;
          _tao_ri.result (_tao_retval_info);
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << CORBA::Any::from_boolean (_tao_retval))
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::EventPortDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventPortDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventPortDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventPortDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventPortDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventPortDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EventPortDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EventPortDef *_tao_impl =
    (POA_CORBA::ComponentIR::EventPortDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::EventPortDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::EventPortDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EventPortDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::EventPortDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::EventPortDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::EventPortDef *
POA_CORBA::ComponentIR::EventPortDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::EventPortDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_EventPortDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 10, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 10, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 20,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 6,
      WORDLIST_SIZE = 24
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::EmitsDef::move_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::EmitsDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::EmitsDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::EmitsDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::EmitsDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::EmitsDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::EmitsDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::EmitsDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::EmitsDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::EmitsDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::EmitsDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"is_a", &POA_CORBA::ComponentIR::EmitsDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::EmitsDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"destroy", &POA_CORBA::ComponentIR::EmitsDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::EmitsDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_event", &POA_CORBA::ComponentIR::EmitsDef::_get_event_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_event, 0},
      {"_component", &POA_CORBA::ComponentIR::EmitsDef::_component_skel, 0, 0},
      {"_set_event", &POA_CORBA::ComponentIR::EmitsDef::_set_event_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_set_event, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::EmitsDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::EmitsDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -12,  -2, -19,  -3,   4,   5,  -1,  53,   8,  48,  11,  -1, -48,  14, 
       15,  16,  -1,  17,  18,  -1, -54,  -9,  -2,  22,  -6,  -2,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  23, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_EmitsDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_EmitsDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::the_TAO_EmitsDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::_TAO_EmitsDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::~_TAO_EmitsDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_EmitsDef_Strategized_Proxy_Broker::the_TAO_EmitsDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_EmitsDef_ThruPOA_Proxy_Impl::_TAO_EmitsDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::EmitsDef::EmitsDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_EmitsDef_optable;
}

POA_CORBA::ComponentIR::EmitsDef::EmitsDef (const EmitsDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA::ComponentIR, EventPortDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::EmitsDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::EmitsDef *_tao_impl =
    (POA_CORBA::ComponentIR::EmitsDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EmitsDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EmitsDef *_tao_impl =
    (POA_CORBA::ComponentIR::EmitsDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EmitsDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::EmitsDef *_tao_impl =
    (POA_CORBA::ComponentIR::EmitsDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::EmitsDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::EmitsDef *_tao_impl =
    (POA_CORBA::ComponentIR::EmitsDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::EmitsDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::EmitsDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EventPortDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EmitsDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::EmitsDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/EmitsDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::EmitsDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::EmitsDef *
POA_CORBA::ComponentIR::EmitsDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::EmitsDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_EmitsDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 10, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 10, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 20,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 6,
      WORDLIST_SIZE = 24
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::PublishesDef::move_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::PublishesDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::PublishesDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::PublishesDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::PublishesDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::PublishesDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::PublishesDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::PublishesDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::PublishesDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::PublishesDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::PublishesDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"is_a", &POA_CORBA::ComponentIR::PublishesDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::PublishesDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"destroy", &POA_CORBA::ComponentIR::PublishesDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::PublishesDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_event", &POA_CORBA::ComponentIR::PublishesDef::_get_event_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_event, 0},
      {"_component", &POA_CORBA::ComponentIR::PublishesDef::_component_skel, 0, 0},
      {"_set_event", &POA_CORBA::ComponentIR::PublishesDef::_set_event_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_set_event, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::PublishesDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::PublishesDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -12,  -2, -19,  -3,   4,   5,  -1,  53,   8,  48,  11,  -1, -48,  14, 
       15,  16,  -1,  17,  18,  -1, -54,  -9,  -2,  22,  -6,  -2,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  23, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_PublishesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_PublishesDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::the_TAO_PublishesDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::_TAO_PublishesDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::~_TAO_PublishesDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_PublishesDef_Strategized_Proxy_Broker::the_TAO_PublishesDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_PublishesDef_ThruPOA_Proxy_Impl::_TAO_PublishesDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::PublishesDef::PublishesDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_PublishesDef_optable;
}

POA_CORBA::ComponentIR::PublishesDef::PublishesDef (const PublishesDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA::ComponentIR, EventPortDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::PublishesDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::PublishesDef *_tao_impl =
    (POA_CORBA::ComponentIR::PublishesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::PublishesDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::PublishesDef *_tao_impl =
    (POA_CORBA::ComponentIR::PublishesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::PublishesDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::PublishesDef *_tao_impl =
    (POA_CORBA::ComponentIR::PublishesDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::PublishesDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::PublishesDef *_tao_impl =
    (POA_CORBA::ComponentIR::PublishesDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::PublishesDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::PublishesDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EventPortDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::PublishesDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::PublishesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/PublishesDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::PublishesDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::PublishesDef *
POA_CORBA::ComponentIR::PublishesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::PublishesDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_PublishesDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37,  0,  0, 37, 37, 37, 10, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 10, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
      0,  0, 37, 37, 37, 10, 37, 37, 37,  0,
      0, 37, 37, 37, 37, 37, 10, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 20,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 6,
      WORDLIST_SIZE = 24
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::ConsumesDef::move_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::ConsumesDef::_is_a_skel, 0, 0},
      {"_get_id", &POA_CORBA::ComponentIR::ConsumesDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::ConsumesDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::ConsumesDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_name", &POA_CORBA::ComponentIR::ConsumesDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_name", &POA_CORBA::ComponentIR::ConsumesDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::ConsumesDef::_interface_skel, 0, 0},
      {"_get_version", &POA_CORBA::ComponentIR::ConsumesDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::ConsumesDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::ConsumesDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"is_a", &POA_CORBA::ComponentIR::ConsumesDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::ConsumesDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"destroy", &POA_CORBA::ComponentIR::ConsumesDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::ConsumesDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_event", &POA_CORBA::ComponentIR::ConsumesDef::_get_event_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_event, 0},
      {"_component", &POA_CORBA::ComponentIR::ConsumesDef::_component_skel, 0, 0},
      {"_set_event", &POA_CORBA::ComponentIR::ConsumesDef::_set_event_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_set_event, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::ConsumesDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::ConsumesDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  static const signed char lookup[] =
    {
      -12,  -2, -19,  -3,   4,   5,  -1,  53,   8,  48,  11,  -1, -48,  14, 
       15,  16,  -1,  17,  18,  -1, -54,  -9,  -2,  22,  -6,  -2,  -1,  -1, 
       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  23, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_ConsumesDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ConsumesDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::the_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::~_TAO_ConsumesDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_ConsumesDef_Strategized_Proxy_Broker::the_TAO_ConsumesDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_ConsumesDef_ThruPOA_Proxy_Impl::_TAO_ConsumesDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::ConsumesDef::ConsumesDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_ConsumesDef_optable;
}

POA_CORBA::ComponentIR::ConsumesDef::ConsumesDef (const ConsumesDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA::ComponentIR, EventPortDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::ConsumesDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::ConsumesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ConsumesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ConsumesDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ConsumesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ConsumesDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ConsumesDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::ConsumesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ConsumesDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ConsumesDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ConsumesDef *_tao_impl =
    (POA_CORBA::ComponentIR::ConsumesDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::ConsumesDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::ConsumesDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/EventPortDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::EventPortDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::ConsumesDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::ConsumesDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ConsumesDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::ConsumesDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::ConsumesDef *
POA_CORBA::ComponentIR::ConsumesDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::ConsumesDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_ConsumesDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 35,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90,  0,
     90,  0, 25,  0, 90, 90, 90,  5, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 30,  0,  5,
     90, 10, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 15, 35, 90, 90, 90, 20,  0, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90,
#else
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
     90, 90, 90, 90, 90, 35, 90,  0, 90,  0,
     25,  0, 90, 90, 90,  5, 90, 90, 30,  0,
      5, 90, 10, 90, 90, 15, 35, 90, 90, 90,
     20,  0, 90, 90, 90, 90, 90, 90,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 53,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 89,
      HASH_VALUE_RANGE = 86,
      DUPLICATES = 14,
      WORDLIST_SIZE = 57
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::ComponentDef::move_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::move, 0},
      {"is_a", &POA_CORBA::ComponentIR::ComponentDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"create_enum", &POA_CORBA::ComponentIR::ComponentDef::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_enum, 0},
      {"create_value", &POA_CORBA::ComponentIR::ComponentDef::create_value_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::ComponentDef::create_module_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::ComponentDef::create_native_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_native, 0},
      {"create_interface", &POA_CORBA::ComponentIR::ComponentDef::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_attribute", &POA_CORBA::ComponentIR::ComponentDef::create_attribute_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_attribute, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::ComponentDef::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"create_union", &POA_CORBA::ComponentIR::ComponentDef::create_union_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_union, 0},
      {"create_ext_attribute", &POA_CORBA::ComponentIR::ComponentDef::create_ext_attribute_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_ext_attribute, 0},
      {"create_exception", &POA_CORBA::ComponentIR::ComponentDef::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_exception, 0},
      {"create_operation", &POA_CORBA::ComponentIR::ComponentDef::create_operation_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_operation, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::ComponentDef::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"contents", &POA_CORBA::ComponentIR::ComponentDef::contents_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::contents, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::ComponentDef::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"create_uses", &POA_CORBA::ComponentIR::ComponentDef::create_uses_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_uses, 0},
      {"create_alias", &POA_CORBA::ComponentIR::ComponentDef::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_alias, 0},
      {"create_emits", &POA_CORBA::ComponentIR::ComponentDef::create_emits_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_emits, 0},
      {"create_provides", &POA_CORBA::ComponentIR::ComponentDef::create_provides_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_provides, 0},
      {"create_consumes", &POA_CORBA::ComponentIR::ComponentDef::create_consumes_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_consumes, 0},
      {"create_publishes", &POA_CORBA::ComponentIR::ComponentDef::create_publishes_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_publishes, 0},
      {"destroy", &POA_CORBA::ComponentIR::ComponentDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"describe", &POA_CORBA::ComponentIR::ComponentDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::describe, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::ComponentDef::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"_is_a", &POA_CORBA::ComponentIR::ComponentDef::_is_a_skel, 0, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::ComponentDef::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"describe_interface", &POA_CORBA::ComponentIR::ComponentDef::describe_interface_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::describe_interface, 0},
      {"_get_name", &POA_CORBA::ComponentIR::ComponentDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_get_type", &POA_CORBA::ComponentIR::ComponentDef::_get_type_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_type, 0},
      {"_set_name", &POA_CORBA::ComponentIR::ComponentDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::ComponentDef::_interface_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::ComponentDef::lookup_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::lookup, 0},
      {"describe_ext_interface", &POA_CORBA::ComponentIR::ComponentDef::describe_ext_interface_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::describe_ext_interface, 0},
      {"create_struct", &POA_CORBA::ComponentIR::ComponentDef::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::ComponentDef::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_constant, 0},
      {"_get_version", &POA_CORBA::ComponentIR::ComponentDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::ComponentDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::ComponentDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::ComponentDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::ComponentDef::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::describe_contents, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::ComponentDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
      {"_get_id", &POA_CORBA::ComponentIR::ComponentDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::ComponentDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"_get_base_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_get_base_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_base_interfaces, 0},
      {"_set_base_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_set_base_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_base_interfaces, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::ComponentDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_get_supported_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_get_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_supported_interfaces, 0},
      {"_set_supported_interfaces", &POA_CORBA::ComponentIR::ComponentDef::_set_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_supported_interfaces, 0},
      {"_component", &POA_CORBA::ComponentIR::ComponentDef::_component_skel, 0, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::ComponentDef::_non_existent_skel, 0, 0},
      {"_get_base_component", &POA_CORBA::ComponentIR::ComponentDef::_get_base_component_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_base_component, 0},
      {"_set_base_component", &POA_CORBA::ComponentIR::ComponentDef::_set_base_component_skel, &POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_base_component, 0},
    };

  static const signed char lookup[] =
    {
        -1,   -1,   -1,   -1,    4,   -8,   -2,  -10,   -3,    5,   -1,    6,    7,  -97, 
       -15,   -2,  -98,   13,  -21,   -2,   14,  -96,   17,   18,   -1,   19,   20,  -98, 
       -23,   -2,  -91,   25,   26,   27,  -32,   -3,   28,   -1,  -40,   -2,   29,   30, 
        -1,   31,  -99,   35,   36,   37,   38,   -1,   39,   -1, -103,   42,   -1,   43, 
        -1,   44,   -1,   -1,   -1,   45,   -1,   -1,   -1,  -46,   -2,  -91,  -48,   -2, 
       -91,  -51,   -2,   50,   -1,  -93,   -1,   -1,   -1,   -1,   53,   -1,   -1,   54, 
        -1,   -1,   -1,  -55,   -2,  -91, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_ComponentDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_ComponentDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::ComponentDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  ::CORBA::ComponentIR::ComponentDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get::result (::CORBA::ComponentIR::ComponentDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      CORBA::ComponentIR::ComponentDef_ptr base_component
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  CORBA::ComponentIR::ComponentDef_ptr base_component_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    CORBA::ComponentIR::ComponentDef_ptr base_component
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    base_component_ (base_component)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->base_component_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::InterfaceDefSeq * result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  ::CORBA::InterfaceDefSeq * _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= *this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get::result (::CORBA::InterfaceDefSeq * result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const CORBA::InterfaceDefSeq & supported_interfaces
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const CORBA::InterfaceDefSeq & supported_interfaces_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const CORBA::InterfaceDefSeq & supported_interfaces
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    supported_interfaces_ (supported_interfaces)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->supported_interfaces_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::InterfaceDef_ptr interface_type
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::ProvidesDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::InterfaceDef_ptr interface_type_;
  ::CORBA::ComponentIR::ProvidesDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::InterfaceDef_ptr interface_type
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    interface_type_ (interface_type)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (4);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->interface_type_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides::result (::CORBA::ComponentIR::ProvidesDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::InterfaceDef_ptr interface_type,
      const CORBA::Boolean & is_multiple
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::UsesDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::InterfaceDef_ptr interface_type_;
  const CORBA::Boolean & is_multiple_;
  ::CORBA::ComponentIR::UsesDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::InterfaceDef_ptr interface_type,
    const CORBA::Boolean & is_multiple
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    interface_type_ (interface_type),
    is_multiple_ (is_multiple)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (5);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->interface_type_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= CORBA::Any::from_boolean (this->is_multiple_);
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses::result (::CORBA::ComponentIR::UsesDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::ComponentIR::EventDef_ptr event
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::EmitsDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::ComponentIR::EventDef_ptr event_;
  ::CORBA::ComponentIR::EmitsDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    event_ (event)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (4);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->event_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits::result (::CORBA::ComponentIR::EmitsDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::ComponentIR::EventDef_ptr event
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::PublishesDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::ComponentIR::EventDef_ptr event_;
  ::CORBA::ComponentIR::PublishesDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    event_ (event)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (4);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->event_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes::result (::CORBA::ComponentIR::PublishesDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::ComponentDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      CORBA::ComponentIR::EventDef_ptr event
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::ConsumesDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes &
    );
  
private:
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  CORBA::ComponentIR::EventDef_ptr event_;
  ::CORBA::ComponentIR::ConsumesDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::ComponentDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    CORBA::ComponentIR::EventDef_ptr event
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    event_ (event)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (4);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->event_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes::result (::CORBA::ComponentIR::ConsumesDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::the_TAO_ComponentDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::_TAO_ComponentDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::~_TAO_ComponentDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_ComponentDef_Strategized_Proxy_Broker::the_TAO_ComponentDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_TAO_ComponentDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_base_component (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->base_component (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_base_component (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::ComponentDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
        )
    )->base_component (
        ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_get_supported_interfaces (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->supported_interfaces (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::_set_supported_interfaces (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::ComponentDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
        )
    )->supported_interfaces (
        ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_provides (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::ProvidesDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->create_provides (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val *) args[4])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_uses (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::UsesDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->create_uses (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::InterfaceDef>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<ACE_InputCDR::to_boolean>::in_arg_val *) args[5])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_emits (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::EmitsDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->create_emits (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val *) args[4])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_publishes (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::PublishesDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->create_publishes (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val *) args[4])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_ComponentDef_ThruPOA_Proxy_Impl::create_consumes (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::ConsumesDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::ComponentDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0"
          )
      )->create_consumes (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ComponentIR::EventDef>::in_arg_val *) args[4])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::ComponentDef::ComponentDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_ComponentDef_optable;
}

POA_CORBA::ComponentIR::ComponentDef::ComponentDef (const ComponentDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IDLType) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, InterfaceDef) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, InterfaceAttrExtension) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, ExtInterfaceDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::_get_base_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::ComponentDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->base_component (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::_set_base_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::ComponentIR::ComponentDef_var base_component;
  
  if (!(
      (_tao_in >> base_component.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_base_component_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      base_component.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->base_component (
                  base_component.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::_get_supported_interfaces_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::InterfaceDefSeq_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->supported_interfaces (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::InterfaceDefSeq * _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::_set_supported_interfaces_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::InterfaceDefSeq supported_interfaces;
  
  if (!(
      (_tao_in >> supported_interfaces)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_supported_interfaces_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      supported_interfaces
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->supported_interfaces (
                  supported_interfaces
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::create_provides_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::ProvidesDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::InterfaceDef_var interface_type;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> interface_type.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_provides _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      interface_type.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_provides (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  interface_type.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::ProvidesDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::create_uses_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::UsesDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::InterfaceDef_var interface_type;
  CORBA::Boolean is_multiple;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> interface_type.out ()) &&
      (_tao_in >> CORBA::Any::to_boolean (is_multiple))
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_uses _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      interface_type.in (),
      
      is_multiple
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_uses (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  interface_type.in (),
                  
                  is_multiple
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::UsesDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::create_emits_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::EmitsDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ComponentIR::EventDef_var event;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> event.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_emits _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      event.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_emits (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  event.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::EmitsDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::create_publishes_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::PublishesDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ComponentIR::EventDef_var event;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> event.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_publishes _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      event.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_publishes (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  event.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::PublishesDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::ComponentDef::create_consumes_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::ComponentDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::ConsumesDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ComponentIR::EventDef_var event;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> event.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_ComponentDef_create_consumes _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      event.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_consumes (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  event.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::ConsumesDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::ComponentDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    (POA_CORBA::ComponentIR::ComponentDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ComponentDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    (POA_CORBA::ComponentIR::ComponentDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ComponentDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    (POA_CORBA::ComponentIR::ComponentDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::ComponentDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::ComponentDef *_tao_impl =
    (POA_CORBA::ComponentIR::ComponentDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::ComponentDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::ComponentDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IDLType:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IDLType_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::InterfaceDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::InterfaceAttrExtension_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ExtInterfaceDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ExtInterfaceDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::ComponentDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::ComponentDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/ComponentDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::ComponentDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::ComponentDef *
POA_CORBA::ComponentIR::ComponentDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::ComponentDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_ComponentDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 15,  0, 10, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  5,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37,  0, 20, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
     15,  0, 10, 37, 37, 37, 37, 37, 37,  0,
      5, 37, 37, 37, 37,  0, 20, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 28,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 10,
      WORDLIST_SIZE = 32
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::FactoryDef::move_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::FactoryDef::_is_a_skel, 0, 0},
      {"_get_name", &POA_CORBA::ComponentIR::FactoryDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_mode", &POA_CORBA::ComponentIR::FactoryDef::_set_mode_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_mode, 0},
      {"_get_mode", &POA_CORBA::ComponentIR::FactoryDef::_get_mode_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_mode, 0},
      {"_set_name", &POA_CORBA::ComponentIR::FactoryDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::FactoryDef::_interface_skel, 0, 0},
      {"_get_params", &POA_CORBA::ComponentIR::FactoryDef::_get_params_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_params, 0},
      {"_set_params", &POA_CORBA::ComponentIR::FactoryDef::_set_params_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_params, 0},
      {"_get_contexts", &POA_CORBA::ComponentIR::FactoryDef::_get_contexts_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_contexts, 0},
      {"_set_contexts", &POA_CORBA::ComponentIR::FactoryDef::_set_contexts_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_contexts, 0},
      {"_get_exceptions", &POA_CORBA::ComponentIR::FactoryDef::_get_exceptions_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_exceptions, 0},
      {"_set_exceptions", &POA_CORBA::ComponentIR::FactoryDef::_set_exceptions_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_exceptions, 0},
      {"_get_version", &POA_CORBA::ComponentIR::FactoryDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::FactoryDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::FactoryDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::FactoryDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"_get_id", &POA_CORBA::ComponentIR::FactoryDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::FactoryDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::FactoryDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_result_def", &POA_CORBA::ComponentIR::FactoryDef::_get_result_def_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_result_def, 0},
      {"_set_result_def", &POA_CORBA::ComponentIR::FactoryDef::_set_result_def_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_set_result_def, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::FactoryDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_component", &POA_CORBA::ComponentIR::FactoryDef::_component_skel, 0, 0},
      {"_get_result", &POA_CORBA::ComponentIR::FactoryDef::_get_result_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_result, 0},
      {"destroy", &POA_CORBA::ComponentIR::FactoryDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::FactoryDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::FactoryDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
            {
              const class TAO_operation_db_entry   *resword; 

              switch (key)
                {
                case   4:
                  resword = &wordlist[4]; break;
                case   5:
                  resword = &wordlist[5]; break;
                case   9:
                  resword = &wordlist[6];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[7];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[8];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[9];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  10:
                  resword = &wordlist[10]; break;
                case  11:
                  resword = &wordlist[11];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[12];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  13:
                  resword = &wordlist[13];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[14];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  15:
                  resword = &wordlist[15];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[16];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  17:
                  resword = &wordlist[17];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[18];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  18:
                  resword = &wordlist[19]; break;
                case  20:
                  resword = &wordlist[20]; break;
                case  22:
                  resword = &wordlist[21];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[22];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  23:
                  resword = &wordlist[23]; break;
                case  25:
                  resword = &wordlist[24];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[25];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  28:
                  resword = &wordlist[26]; break;
                case  30:
                  resword = &wordlist[27]; break;
                case  31:
                  resword = &wordlist[28]; break;
                case  32:
                  resword = &wordlist[29]; break;
                case  33:
                  resword = &wordlist[30]; break;
                case  36:
                  resword = &wordlist[31]; break;
                default: return 0;
                }
              if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
                return resword;
              return 0;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_FactoryDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_FactoryDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::the_TAO_FactoryDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::_TAO_FactoryDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::~_TAO_FactoryDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_FactoryDef_Strategized_Proxy_Broker::the_TAO_FactoryDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_FactoryDef_ThruPOA_Proxy_Impl::_TAO_FactoryDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::FactoryDef::FactoryDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_FactoryDef_optable;
}

POA_CORBA::ComponentIR::FactoryDef::FactoryDef (const FactoryDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, OperationDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::FactoryDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::FactoryDef *_tao_impl =
    (POA_CORBA::ComponentIR::FactoryDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FactoryDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::FactoryDef *_tao_impl =
    (POA_CORBA::ComponentIR::FactoryDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FactoryDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::FactoryDef *_tao_impl =
    (POA_CORBA::ComponentIR::FactoryDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FactoryDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::FactoryDef *_tao_impl =
    (POA_CORBA::ComponentIR::FactoryDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::FactoryDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::FactoryDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/OperationDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::OperationDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::FactoryDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::FactoryDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/FactoryDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::FactoryDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::FactoryDef *
POA_CORBA::ComponentIR::FactoryDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::FactoryDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_FactoryDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37,  0,
     37, 37, 15,  0, 10, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37,  0,  5,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37,  0, 20, 37, 37, 37, 37, 10, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37,
#else
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
     37, 37, 37, 37, 37,  0, 37,  0, 37, 37,
     15,  0, 10, 37, 37, 37, 37, 37, 37,  0,
      5, 37, 37, 37, 37,  0, 20, 37, 37, 37,
     37, 10, 37, 37, 37, 37, 37, 37,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 28,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 36,
      HASH_VALUE_RANGE = 33,
      DUPLICATES = 10,
      WORDLIST_SIZE = 32
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::FinderDef::move_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::FinderDef::_is_a_skel, 0, 0},
      {"_get_name", &POA_CORBA::ComponentIR::FinderDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_set_mode", &POA_CORBA::ComponentIR::FinderDef::_set_mode_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_mode, 0},
      {"_get_mode", &POA_CORBA::ComponentIR::FinderDef::_get_mode_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_mode, 0},
      {"_set_name", &POA_CORBA::ComponentIR::FinderDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::FinderDef::_interface_skel, 0, 0},
      {"_get_params", &POA_CORBA::ComponentIR::FinderDef::_get_params_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_params, 0},
      {"_set_params", &POA_CORBA::ComponentIR::FinderDef::_set_params_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_params, 0},
      {"_get_contexts", &POA_CORBA::ComponentIR::FinderDef::_get_contexts_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_contexts, 0},
      {"_set_contexts", &POA_CORBA::ComponentIR::FinderDef::_set_contexts_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_contexts, 0},
      {"_get_exceptions", &POA_CORBA::ComponentIR::FinderDef::_get_exceptions_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_exceptions, 0},
      {"_set_exceptions", &POA_CORBA::ComponentIR::FinderDef::_set_exceptions_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_exceptions, 0},
      {"_get_version", &POA_CORBA::ComponentIR::FinderDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::FinderDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::FinderDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::FinderDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"_get_id", &POA_CORBA::ComponentIR::FinderDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::FinderDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::FinderDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_result_def", &POA_CORBA::ComponentIR::FinderDef::_get_result_def_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_result_def, 0},
      {"_set_result_def", &POA_CORBA::ComponentIR::FinderDef::_set_result_def_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_set_result_def, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::FinderDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_component", &POA_CORBA::ComponentIR::FinderDef::_component_skel, 0, 0},
      {"_get_result", &POA_CORBA::ComponentIR::FinderDef::_get_result_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_result, 0},
      {"destroy", &POA_CORBA::ComponentIR::FinderDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::FinderDef::_non_existent_skel, 0, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::FinderDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
            {
              const class TAO_operation_db_entry   *resword; 

              switch (key)
                {
                case   4:
                  resword = &wordlist[4]; break;
                case   5:
                  resword = &wordlist[5]; break;
                case   9:
                  resword = &wordlist[6];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[7];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[8];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[9];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  10:
                  resword = &wordlist[10]; break;
                case  11:
                  resword = &wordlist[11];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[12];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  13:
                  resword = &wordlist[13];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[14];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  15:
                  resword = &wordlist[15];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[16];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  17:
                  resword = &wordlist[17];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[18];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  18:
                  resword = &wordlist[19]; break;
                case  20:
                  resword = &wordlist[20]; break;
                case  22:
                  resword = &wordlist[21];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[22];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  23:
                  resword = &wordlist[23]; break;
                case  25:
                  resword = &wordlist[24];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  resword = &wordlist[25];
                  if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1)) return resword;
                  return 0;
                case  28:
                  resword = &wordlist[26]; break;
                case  30:
                  resword = &wordlist[27]; break;
                case  31:
                  resword = &wordlist[28]; break;
                case  32:
                  resword = &wordlist[29]; break;
                case  33:
                  resword = &wordlist[30]; break;
                case  36:
                  resword = &wordlist[31]; break;
                default: return 0;
                }
              if (*str == *resword->opname_ && !strncmp (str + 1, resword->opname_ + 1, len - 1))
                return resword;
              return 0;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_FinderDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_FinderDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::the_TAO_FinderDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::_TAO_FinderDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::~_TAO_FinderDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_FinderDef_Strategized_Proxy_Broker::the_TAO_FinderDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_FinderDef_ThruPOA_Proxy_Impl::_TAO_FinderDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::FinderDef::FinderDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_FinderDef_optable;
}

POA_CORBA::ComponentIR::FinderDef::FinderDef (const FinderDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, OperationDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::FinderDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::FinderDef *_tao_impl =
    (POA_CORBA::ComponentIR::FinderDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FinderDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::FinderDef *_tao_impl =
    (POA_CORBA::ComponentIR::FinderDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FinderDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::FinderDef *_tao_impl =
    (POA_CORBA::ComponentIR::FinderDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::FinderDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::FinderDef *_tao_impl =
    (POA_CORBA::ComponentIR::FinderDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::FinderDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::FinderDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/OperationDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::OperationDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::FinderDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::FinderDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/FinderDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::FinderDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::FinderDef *
POA_CORBA::ComponentIR::FinderDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::FinderDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_FinderDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_interface.cpp:1461

class TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable
  : public TAO_Perfect_Hash_OpTable
{
private:
  unsigned int hash (const char *str, unsigned int len);

public:
  const TAO_operation_db_entry * lookup (const char *str, unsigned int len);
};

/* C++ code produced by gperf version 2.8 (ACE version) */
/* Command-line: /project/tangotmp/bala/work/ACE+TAO/final_merge/ACE_wrappers/bin/gperf -m -M -J -c -C -D -E -T -f 0 -F 0,0,0 -a -o -t -p -K opname_ -L C++ -Z TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable -N lookup  */
unsigned int
TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable::hash (const char *str, unsigned int len)
{
  static const unsigned char asso_values[] =
    {
#if defined (ACE_MVS)
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106,   0,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106,   0,
     106,  55,  20,   0, 106, 106, 106,  15, 106, 106,
     106, 106, 106, 106, 106, 106, 106,   0,   0,  20,
     106,   0, 106,   5, 106, 106, 106, 106, 106, 106,
     106, 106,  35,  35, 106, 106, 106,   5,  10, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106,
#else
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
     106, 106, 106, 106, 106,   0, 106,   0, 106,  55,
      20,   0, 106, 106, 106,  15, 106, 106,   0,   0,
      20, 106,   0, 106,   5,  35,  35, 106, 106, 106,
       5,  10, 106, 106, 106, 106, 106, 106,
#endif /* ACE_MVS */
    };
  return len + asso_values[(int) str[len - 1]] + asso_values[(int) str[0]];
}

const class TAO_operation_db_entry *
TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable::lookup (const char *str, unsigned int len)
{
  enum
    {
      TOTAL_KEYWORDS = 54,
      MIN_WORD_LENGTH = 4,
      MAX_WORD_LENGTH = 26,
      MIN_HASH_VALUE = 4,
      MAX_HASH_VALUE = 105,
      HASH_VALUE_RANGE = 102,
      DUPLICATES = 14,
      WORDLIST_SIZE = 58
    };

  static const class TAO_operation_db_entry  wordlist[] =
    {
      {"",0,0,0},{"",0,0,0},{"",0,0,0},{"",0,0,0},
      {"move", &POA_CORBA::ComponentIR::HomeDef::move_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::move, 0},
      {"_is_a", &POA_CORBA::ComponentIR::HomeDef::_is_a_skel, 0, 0},
      {"lookup", &POA_CORBA::ComponentIR::HomeDef::lookup_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::lookup, 0},
      {"_get_name", &POA_CORBA::ComponentIR::HomeDef::_get_name_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_name, 0},
      {"_get_type", &POA_CORBA::ComponentIR::HomeDef::_get_type_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_type, 0},
      {"_set_name", &POA_CORBA::ComponentIR::HomeDef::_set_name_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_name, 0},
      {"_interface", &POA_CORBA::ComponentIR::HomeDef::_interface_skel, 0, 0},
      {"lookup_name", &POA_CORBA::ComponentIR::HomeDef::lookup_name_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::lookup_name, 0},
      {"_get_base_home", &POA_CORBA::ComponentIR::HomeDef::_get_base_home_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_base_home, 0},
      {"_set_base_home", &POA_CORBA::ComponentIR::HomeDef::_set_base_home_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_base_home, 0},
      {"_get_absolute_name", &POA_CORBA::ComponentIR::HomeDef::_get_absolute_name_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_absolute_name, 0},
      {"is_a", &POA_CORBA::ComponentIR::HomeDef::is_a_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::is_a, 0},
      {"_get_primary_key", &POA_CORBA::ComponentIR::HomeDef::_get_primary_key_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_primary_key, 0},
      {"_set_primary_key", &POA_CORBA::ComponentIR::HomeDef::_set_primary_key_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_primary_key, 0},
      {"_get_id", &POA_CORBA::ComponentIR::HomeDef::_get_id_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_id, 0},
      {"_set_id", &POA_CORBA::ComponentIR::HomeDef::_set_id_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_id, 0},
      {"describe", &POA_CORBA::ComponentIR::HomeDef::describe_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::describe, 0},
      {"_get_version", &POA_CORBA::ComponentIR::HomeDef::_get_version_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_version, 0},
      {"_set_version", &POA_CORBA::ComponentIR::HomeDef::_set_version_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_version, 0},
      {"_get_def_kind", &POA_CORBA::ComponentIR::HomeDef::_get_def_kind_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_def_kind, 0},
      {"_get_defined_in", &POA_CORBA::ComponentIR::HomeDef::_get_defined_in_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_defined_in, 0},
      {"_get_containing_repository", &POA_CORBA::ComponentIR::HomeDef::_get_containing_repository_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_containing_repository, 0},
      {"destroy", &POA_CORBA::ComponentIR::HomeDef::destroy_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::destroy, 0},
      {"describe_interface", &POA_CORBA::ComponentIR::HomeDef::describe_interface_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::describe_interface, 0},
      {"describe_ext_interface", &POA_CORBA::ComponentIR::HomeDef::describe_ext_interface_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::describe_ext_interface, 0},
      {"_component", &POA_CORBA::ComponentIR::HomeDef::_component_skel, 0, 0},
      {"_non_existent", &POA_CORBA::ComponentIR::HomeDef::_non_existent_skel, 0, 0},
      {"_get_base_interfaces", &POA_CORBA::ComponentIR::HomeDef::_get_base_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_base_interfaces, 0},
      {"_set_base_interfaces", &POA_CORBA::ComponentIR::HomeDef::_set_base_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_base_interfaces, 0},
      {"_get_managed_component", &POA_CORBA::ComponentIR::HomeDef::_get_managed_component_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_managed_component, 0},
      {"_set_managed_component", &POA_CORBA::ComponentIR::HomeDef::_set_managed_component_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_managed_component, 0},
      {"_get_supported_interfaces", &POA_CORBA::ComponentIR::HomeDef::_get_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_supported_interfaces, 0},
      {"_set_supported_interfaces", &POA_CORBA::ComponentIR::HomeDef::_set_supported_interfaces_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_supported_interfaces, 0},
      {"create_enum", &POA_CORBA::ComponentIR::HomeDef::create_enum_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_enum, 0},
      {"create_value", &POA_CORBA::ComponentIR::HomeDef::create_value_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_value, 0},
      {"create_module", &POA_CORBA::ComponentIR::HomeDef::create_module_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_module, 0},
      {"create_native", &POA_CORBA::ComponentIR::HomeDef::create_native_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_native, 0},
      {"create_interface", &POA_CORBA::ComponentIR::HomeDef::create_interface_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_interface, 0},
      {"create_attribute", &POA_CORBA::ComponentIR::HomeDef::create_attribute_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_attribute, 0},
      {"create_ext_value", &POA_CORBA::ComponentIR::HomeDef::create_ext_value_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_ext_value, 0},
      {"describe_contents", &POA_CORBA::ComponentIR::HomeDef::describe_contents_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::describe_contents, 0},
      {"create_finder", &POA_CORBA::ComponentIR::HomeDef::create_finder_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_finder, 0},
      {"create_ext_attribute", &POA_CORBA::ComponentIR::HomeDef::create_ext_attribute_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_ext_attribute, 0},
      {"create_value_box", &POA_CORBA::ComponentIR::HomeDef::create_value_box_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_value_box, 0},
      {"create_local_interface", &POA_CORBA::ComponentIR::HomeDef::create_local_interface_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_local_interface, 0},
      {"create_factory", &POA_CORBA::ComponentIR::HomeDef::create_factory_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_factory, 0},
      {"create_abstract_interface", &POA_CORBA::ComponentIR::HomeDef::create_abstract_interface_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_abstract_interface, 0},
      {"create_union", &POA_CORBA::ComponentIR::HomeDef::create_union_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_union, 0},
      {"create_exception", &POA_CORBA::ComponentIR::HomeDef::create_exception_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_exception, 0},
      {"create_operation", &POA_CORBA::ComponentIR::HomeDef::create_operation_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_operation, 0},
      {"contents", &POA_CORBA::ComponentIR::HomeDef::contents_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::contents, 0},
      {"create_alias", &POA_CORBA::ComponentIR::HomeDef::create_alias_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_alias, 0},
      {"create_struct", &POA_CORBA::ComponentIR::HomeDef::create_struct_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_struct, 0},
      {"create_constant", &POA_CORBA::ComponentIR::HomeDef::create_constant_skel, &POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_constant, 0},
    };

  static const signed char lookup[] =
    {
        -1,   -1,   -1,   -1,    4,    5,    6,   -7,   -3, -107,   10,   11,  -12,   -2, 
      -107,   -1,   -1,   -1,   14,   15,   -1,   -1,  -16,   -2,  -18,   -2, -109, -108, 
        20,   -1,  -21,   -2, -107,   23,   -1,   24,   25,   26,   27,   -1,   -1,   -1, 
        28,   -1,   -1,   29,   -1,   -1,   30,   -1,   -1,  -31,   -2,  -33,   -2, -109, 
        -1, -109,  -35,   -2, -107,   -1,   -1,   -1,  -39,   -2,   37,   38, -109,  -41, 
        -3, -107,   44,   45,   -1,   46,   47,   48,   -1,   49,   50,   -1,   -1,   -1, 
        -1,   -1,   -1,   51,   -1,  -52,   -2, -107,   -1,   -1,   -1,   -1,   -1,   -1, 
        54,   -1,   -1,   -1,   55,   56,   -1,   57, 
    };

  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
    {
      unsigned int key = hash (str, len);

      if (key <= MAX_HASH_VALUE && key >= MIN_HASH_VALUE)
        {
          int slot = lookup[key];

          if (slot >= 0 && slot < WORDLIST_SIZE)
            {
              const char *s = wordlist[slot].opname_;

              if (*str == *s && !strncmp (str + 1, s + 1, len - 1))
                return &wordlist[slot];
            }
          else if (slot < 0 && slot >= -MAX_HASH_VALUE)
            return 0;
          else
            {
              unsigned int offset = key + slot + (slot > 0 ? -MAX_HASH_VALUE : MAX_HASH_VALUE);
              const class TAO_operation_db_entry  *base = &wordlist[-lookup[offset]];
              const class TAO_operation_db_entry  *ptr = base + -lookup[offset + 1];

              while (--ptr >= base)
                if (*str == *ptr->opname_ && !strncmp (str + 1, ptr->opname_ + 1, len - 1))
                  return ptr;
            }
        }
    }
  return 0;
}

static TAO_CORBA_ComponentIR_HomeDef_Perfect_Hash_OpTable tao_CORBA_ComponentIR_HomeDef_optable;

// TAO_IDL - Generated from
// be/be_visitor_interface/interceptors_ss.cpp:53

#if (TAO_HAS_INTERCEPTORS == 1)

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::HomeDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  ::CORBA::ComponentIR::HomeDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get::result (::CORBA::ComponentIR::HomeDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      CORBA::ComponentIR::HomeDef_ptr base_home
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  CORBA::ComponentIR::HomeDef_ptr base_home_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    CORBA::ComponentIR::HomeDef_ptr base_home
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    base_home_ (base_home)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->base_home_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::InterfaceDefSeq * result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  ::CORBA::InterfaceDefSeq * _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= *this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get::result (::CORBA::InterfaceDefSeq * result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      const CORBA::InterfaceDefSeq & supported_interfaces
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  const CORBA::InterfaceDefSeq & supported_interfaces_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    const CORBA::InterfaceDefSeq & supported_interfaces
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    supported_interfaces_ (supported_interfaces)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->supported_interfaces_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::ComponentDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  ::CORBA::ComponentIR::ComponentDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get::result (::CORBA::ComponentIR::ComponentDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      CORBA::ComponentIR::ComponentDef_ptr managed_component
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  CORBA::ComponentIR::ComponentDef_ptr managed_component_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    CORBA::ComponentIR::ComponentDef_ptr managed_component
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    managed_component_ (managed_component)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->managed_component_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ValueDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  ::CORBA::ValueDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return parameter_list;
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get::result (::CORBA::ValueDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      CORBA::ValueDef_ptr primary_key
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  CORBA::ValueDef_ptr primary_key_;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    CORBA::ValueDef_ptr primary_key
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    primary_key_ (primary_key)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (1);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<=  this->primary_key_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 1;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return result_any;
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      const CORBA::ParDescriptionSeq & params,
      const CORBA::ExceptionDefSeq & exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::FactoryDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  const CORBA::ParDescriptionSeq & params_;
  const CORBA::ExceptionDefSeq & exceptions_;
  ::CORBA::ComponentIR::FactoryDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    const CORBA::ParDescriptionSeq & params,
    const CORBA::ExceptionDefSeq & exceptions
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    params_ (params),
    exceptions_ (exceptions)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (5);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->params_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->exceptions_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory::result (::CORBA::ComponentIR::FactoryDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:74

class TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder : public TAO_ServerRequestInfo
{
public:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder (
      TAO_ServerRequest &_tao_server_request,
      TAO_Object_Adapter::Servant_Upcall *tao_servant_upcall,
      POA_CORBA::ComponentIR::HomeDef *tao_impl,
      const char * id,
      const char * name,
      const char * version,
      const CORBA::ParDescriptionSeq & params,
      const CORBA::ExceptionDefSeq & exceptions
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    );
  
  virtual Dynamic::ParameterList * arguments (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual Dynamic::ExceptionList * exceptions (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Any * result (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual char * target_most_derived_interface (
      ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  virtual CORBA::Boolean target_is_a (
      const char * id
      ACE_ENV_ARG_DECL_WITH_DEFAULTS
    )
    ACE_THROW_SPEC ((CORBA::SystemException));
  
  void result (::CORBA::ComponentIR::FinderDef_ptr result);

private:
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder &
    );
  
  void operator= (
      const TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder &
    );
  
private:
  POA_CORBA::ComponentIR::HomeDef *_tao_impl;
  
  const char * id_;
  const char * name_;
  const char * version_;
  const CORBA::ParDescriptionSeq & params_;
  const CORBA::ExceptionDefSeq & exceptions_;
  ::CORBA::ComponentIR::FinderDef_ptr _result;
};

// TAO_IDL - Generated from
// be/be_visitor_operation/interceptors_ss.cpp:438

TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder (
    TAO_ServerRequest &_tao_server_request,
    TAO_Object_Adapter::Servant_Upcall *_tao_servant_upcall,
    POA_CORBA::ComponentIR::HomeDef *tao_impl,
    const char * id,
    const char * name,
    const char * version,
    const CORBA::ParDescriptionSeq & params,
    const CORBA::ExceptionDefSeq & exceptions
    ACE_ENV_ARG_DECL_NOT_USED
  )
  : TAO_ServerRequestInfo (_tao_server_request, _tao_servant_upcall),
    _tao_impl (tao_impl),
    id_ (id),
    name_ (name),
    version_ (version),
    params_ (params),
    exceptions_ (exceptions)
{}

Dynamic::ParameterList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::arguments (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the argument list on demand.
  Dynamic::ParameterList *parameter_list =
    TAO_RequestInfo_Util::make_parameter_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  Dynamic::ParameterList_var safe_parameter_list = parameter_list;
  parameter_list->length (5);
  CORBA::ULong len = 0;
  
  (*parameter_list)[len].argument <<= id_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= name_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<= version_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->params_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  (*parameter_list)[len].argument <<=  this->exceptions_;
  (*parameter_list)[len].mode = CORBA::PARAM_IN;
  len++;
  
  return safe_parameter_list._retn ();
}

Dynamic::ExceptionList *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::exceptions (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the exception list on demand.
  Dynamic::ExceptionList *exception_list =
    TAO_RequestInfo_Util::make_exception_list (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  return exception_list;
}

CORBA::Any * 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::result (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  // Generate the result on demand.
  CORBA::Boolean tk_void_any = 0;
  CORBA::Any *result_any =
    TAO_RequestInfo_Util::make_any (tk_void_any ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  CORBA::Any_var safe_result_any = result_any;
  
  (*result_any) <<= this->_result;
  
  return safe_result_any._retn ();
}

char *
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::target_most_derived_interface (
    ACE_ENV_SINGLE_ARG_DECL_NOT_USED
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return
    CORBA::string_dup (this->_tao_impl->_interface_repository_id ());
}

CORBA::Boolean
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::target_is_a (
    const char * id
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  return this->_tao_impl->_is_a (id ACE_ENV_ARG_PARAMETER);
}

void 
TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder::result (::CORBA::ComponentIR::FinderDef_ptr result)
{
  // Update the result.
   this->_result = result;
}

#endif /* TAO_HAS_INTERCEPTORS */

///////////////////////////////////////////////////////////////////////
//            Strategized Proxy Broker Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/strategized_proxy_broker_ss.cpp:40

// Factory function Implementation.
POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker *
POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::the_TAO_HomeDef_Strategized_Proxy_Broker (void)
{
  static POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker
  strategized_proxy_broker;
  
  return &strategized_proxy_broker;
}

POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::_TAO_HomeDef_Strategized_Proxy_Broker (void)
{
}

POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::~_TAO_HomeDef_Strategized_Proxy_Broker (void)
{
}

TAO::Collocation_Strategy
POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::get_strategy (
    CORBA::Object_ptr obj
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  TAO::Collocation_Strategy strategy =
    TAO_ORB_Core::collocation_strategy (obj ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (TAO::TAO_CS_REMOTE_STRATEGY);
  
  return strategy;
}

void
POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::dispatch (
    CORBA::Object_ptr obj,
    CORBA::Object_out forward_obj,
    TAO::Argument ** args,
    int num_args,
    const char * op,
    size_t op_len,
    TAO::Collocation_Strategy strategy
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((CORBA::Exception))
{
  TAO_Object_Adapter::Servant_Upcall servant_upcall (
      obj->_stubobj ()->servant_orb_var ()->orb_core ()
    );
  
  TAO_Collocated_Skeleton collocated_skel;
  TAO_Abstract_ServantBase *servant = 0;
  
  if (strategy == TAO::TAO_CS_THRU_POA_STRATEGY)
    {
      servant_upcall.prepare_for_upcall (
          obj->_stubobj ()->object_key (),
          op,
          forward_obj
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant_upcall.pre_invoke_collocated_request (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      
      servant = servant_upcall.servant ();
    }
  else
    {
      servant = obj->_servant ();
    }
  
  int status = servant->_find (op,
                               collocated_skel,
                               strategy,
                               op_len);
  
  if (status == -1)
    {
      ACE_THROW (CORBA::BAD_OPERATION ());
    }
  
  ACE_TRY
    {
      collocated_skel (servant,
                       args,
                       num_args
                       ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
#if (TAO_HAS_MINIMUM_CORBA == 0)
  ACE_CATCH (PortableServer::ForwardRequest, forward_request)
    {
      forward_obj =
        CORBA::Object::_duplicate (forward_request.forward_reference.in ());
      return;
    }
#else
  ACE_CATCHANY
    {
      ACE_UNUSED_ARG (forward_obj);
      ACE_RE_THROW;
    }
#endif /* TAO_HAS_MINIMUM_CORBA */
  ACE_ENDTRY;
  ACE_CHECK;
}

//
//        End Strategized Proxy Broker Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:609

TAO::Collocation_Proxy_Broker *
CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function (CORBA::Object_ptr)
{
  return
    ::POA_CORBA::ComponentIR::_TAO_HomeDef_Strategized_Proxy_Broker::the_TAO_HomeDef_Strategized_Proxy_Broker ();
}

int
CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer (size_t)
{
  CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer = 
    CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function;
  
  return 0;
}

static int
CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Stub_Factory_Initializer_Scarecrow =
  CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer (
      ACE_reinterpret_cast (
          size_t,
          CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_Initializer
        )
    );


///////////////////////////////////////////////////////////////////////
//                 ThruPOA Proxy  Implementation
//

// TAO_IDL - Generated from
// be/be_visitor_interface/thru_poa_proxy_impl_ss.cpp:37

POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_TAO_HomeDef_ThruPOA_Proxy_Impl (void)
{}

// ThruPOA Implementation of the IDL interface methods

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_base_home (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->base_home (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_base_home (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::HomeDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
        )
    )->base_home (
        ((TAO::Arg_Traits<CORBA::ComponentIR::HomeDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_supported_interfaces (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->supported_interfaces (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_supported_interfaces (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::HomeDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
        )
    )->supported_interfaces (
        ((TAO::Arg_Traits<CORBA::InterfaceDefSeq>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_managed_component (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->managed_component (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_managed_component (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::HomeDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
        )
    )->managed_component (
        ((TAO::Arg_Traits<CORBA::ComponentIR::ComponentDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_get_primary_key (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ValueDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->primary_key (
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::_set_primary_key (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ACE_reinterpret_cast (
      POA_CORBA::ComponentIR::HomeDef_ptr,
      servant->_downcast (
          "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
        )
    )->primary_key (
        ((TAO::Arg_Traits<CORBA::ValueDef>::in_arg_val *) args[1])->arg ()
        ACE_ENV_ARG_PARAMETER
      );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_factory (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::FactoryDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->create_factory (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ParDescriptionSeq>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val *) args[5])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/thru_poa_proxy_impl_ss.cpp:52

void
POA_CORBA::ComponentIR::_TAO_HomeDef_ThruPOA_Proxy_Impl::create_finder (
    TAO_Abstract_ServantBase *servant,
    TAO::Argument ** args,
    int 
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  ((TAO::Arg_Traits<CORBA::ComponentIR::FinderDef>::ret_val *) args[0])->arg () =
    ACE_reinterpret_cast (
        POA_CORBA::ComponentIR::HomeDef_ptr,
        servant->_downcast (
            "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0"
          )
      )->create_finder (
          ((TAO::Arg_Traits<CORBA::RepositoryId>::in_arg_val *) args[1])->arg (),
          ((TAO::Arg_Traits<CORBA::Identifier>::in_arg_val *) args[2])->arg (),
          ((TAO::Arg_Traits<CORBA::VersionSpec>::in_arg_val *) args[3])->arg (),
          ((TAO::Arg_Traits<CORBA::ParDescriptionSeq>::in_arg_val *) args[4])->arg (),
          ((TAO::Arg_Traits<CORBA::ExceptionDefSeq>::in_arg_val *) args[5])->arg ()
          ACE_ENV_ARG_PARAMETER
        );
  ACE_CHECK;
}

//
//           End ThruPOA Proxy Implementation
///////////////////////////////////////////////////////////////////////

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:97

POA_CORBA::ComponentIR::HomeDef::HomeDef (void)
{
  this->optable_ = &tao_CORBA_ComponentIR_HomeDef_optable;
}

POA_CORBA::ComponentIR::HomeDef::HomeDef (const HomeDef& rhs)
  : TAO_Abstract_ServantBase (rhs),
    TAO_ServantBase (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IRObject) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Container) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, Contained) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, IDLType) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, InterfaceDef) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, InterfaceAttrExtension) (rhs),
    ACE_NESTED_CLASS (POA_CORBA, ExtInterfaceDef) (rhs)
{
}

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

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_get_base_home_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::HomeDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->base_home (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::HomeDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_set_base_home_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::ComponentIR::HomeDef_var base_home;
  
  if (!(
      (_tao_in >> base_home.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_base_home_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      base_home.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->base_home (
                  base_home.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_get_supported_interfaces_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::InterfaceDefSeq_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->supported_interfaces (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::InterfaceDefSeq * _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_set_supported_interfaces_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::InterfaceDefSeq supported_interfaces;
  
  if (!(
      (_tao_in >> supported_interfaces)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_supported_interfaces_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      supported_interfaces
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->supported_interfaces (
                  supported_interfaces
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_get_managed_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::ComponentDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->managed_component (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::ComponentDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_set_managed_component_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::ComponentIR::ComponentDef_var managed_component;
  
  if (!(
      (_tao_in >> managed_component.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_managed_component_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      managed_component.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->managed_component (
                  managed_component.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_get_primary_key_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::ValueDef_var _tao_retval;
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_get _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->primary_key (
                  ACE_ENV_SINGLE_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ValueDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::_set_primary_key_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  _tao_server_request.argument_flag (0);
  
  CORBA::ValueDef_var primary_key;
  
  if (!(
      (_tao_in >> primary_key.out ())
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_primary_key_set _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      primary_key.in ()
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            
              _tao_impl->primary_key (
                  primary_key.in ()
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::create_factory_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::FactoryDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ParDescriptionSeq params;
  CORBA::ExceptionDefSeq exceptions;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> params) &&
      (_tao_in >> exceptions)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_factory _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      params,
      
      exceptions
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_factory (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  params,
                  
                  exceptions
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::FactoryDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_operation/operation_ss.cpp:98

void POA_CORBA::ComponentIR::HomeDef::create_finder_skel (
    TAO_ServerRequest &_tao_server_request,
    void *_tao_servant,
    void *_tao_servant_upcall
    ACE_ENV_ARG_DECL
  )
{
    TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    ACE_static_cast (
        POA_CORBA::ComponentIR::HomeDef *,
        _tao_servant
      );
  ::CORBA::ComponentIR::FinderDef_var _tao_retval;
  CORBA::String_var id;
  CORBA::String_var name;
  CORBA::String_var version;
  CORBA::ParDescriptionSeq params;
  CORBA::ExceptionDefSeq exceptions;
  
  if (!(
      (_tao_in >> id.out ()) &&
      (_tao_in >> name.out ()) &&
      (_tao_in >> version.out ()) &&
      (_tao_in >> params) &&
      (_tao_in >> exceptions)
      ))
    {
      TAO_InputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
#if (TAO_HAS_INTERCEPTORS == 1)
  TAO_Object_Adapter::Servant_Upcall *_tao_upcall =
    ACE_static_cast (
        TAO_Object_Adapter::Servant_Upcall *,
        _tao_servant_upcall
      );
    
  TAO_ServerRequestInterceptor_Adapter _tao_vfr (
      _tao_server_request.orb_core ()->server_request_interceptors (),
      _tao_server_request.interceptor_count ()
    );
  
  TAO_ServerRequestInfo_CORBA_ComponentIR_HomeDef_create_finder _tao_ri (
      _tao_server_request,
      _tao_upcall,
      _tao_impl,
      
      id.in (),
      
      name.in (),
      
      version.in (),
      
      params,
      
      exceptions
      ACE_ENV_ARG_PARAMETER
    );
  
  ACE_TRY
    {
      {
        TAO::PICurrent_Guard _tao_pi_guard (_tao_ri.server_request (),
                                            true  /* Copy TSC to RSC */);
        
        _tao_vfr.receive_request (&_tao_ri ACE_ENV_ARG_PARAMETER);
        ACE_TRY_CHECK;
        
        if (!_tao_vfr.location_forwarded ())
          {
#endif /* TAO_HAS_INTERCEPTORS */
            _tao_retval = 
              _tao_impl->create_finder (
                  id.in (),
                  
                  name.in (),
                  
                  version.in (),
                  
                  params,
                  
                  exceptions
                  ACE_ENV_ARG_PARAMETER
                );
            TAO_INTERCEPTOR_CHECK;
#if (TAO_HAS_INTERCEPTORS == 1)
          }
      }
      
      if (!_tao_vfr.location_forwarded ())
        {
          ::CORBA::ComponentIR::FinderDef_ptr _tao_retval_info = _tao_retval._retn ();
          _tao_ri.result (_tao_retval_info);
          _tao_retval = _tao_retval_info;
          _tao_ri.reply_status (PortableInterceptor::SUCCESSFUL);
          _tao_vfr.send_reply (&_tao_ri ACE_ENV_ARG_PARAMETER);
          ACE_TRY_CHECK;
        }
    }
  ACE_CATCHANY
    {
      _tao_ri.exception (&ACE_ANY_EXCEPTION);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION
          || _tao_status == PortableInterceptor::USER_EXCEPTION)
        {
          ACE_RE_THROW;
        }
    }
  
# if defined (ACE_HAS_EXCEPTIONS) \
  && defined (ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS)
  ACE_CATCHALL
    {
      CORBA::UNKNOWN ex;
      
      _tao_ri.exception (&ex);
      _tao_vfr.send_exception (
          &_tao_ri
          ACE_ENV_ARG_PARAMETER
        );
      ACE_TRY_CHECK;
      
      PortableInterceptor::ReplyStatus _tao_status =
        _tao_ri.reply_status (ACE_ENV_SINGLE_ARG_PARAMETER);
      ACE_TRY_CHECK;
      
      if (_tao_status == PortableInterceptor::SYSTEM_EXCEPTION)
        ACE_TRY_THROW (ex);
    }
# endif  /* ACE_HAS_EXCEPTIONS && ACE_HAS_BROKEN_UNEXPECTED_EXCEPTIONS */
  ACE_ENDTRY;
  ACE_CHECK;
#endif /* TAO_HAS_INTERCEPTORS */
  
  _tao_server_request.init_reply ();
  
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(
      (_tao_out << _tao_retval.in ())
      ))
    {
      TAO_OutputCDR::throw_skel_exception (errno ACE_ENV_ARG_PARAMETER);
      ACE_CHECK;
    }
  
  // In case _tao_servant_upcall is not used in this function
  ACE_UNUSED_ARG (_tao_servant_upcall);
}

// TAO_IDL - Generated from 
// be/be_visitor_interface/interface_ss.cpp:162

void POA_CORBA::ComponentIR::HomeDef::_is_a_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_InputCDR &_tao_in = _tao_server_request.incoming ();
  
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    (POA_CORBA::ComponentIR::HomeDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval = 0;
  CORBA::String_var value;
  
  if (!(_tao_in >> value.out ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
  
  _tao_retval = _tao_impl->_is_a (value.in () ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::HomeDef::_non_existent_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    (POA_CORBA::ComponentIR::HomeDef *) _tao_servant;
  
  CORBA::Boolean _tao_retval =
    _tao_impl->_non_existent (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << CORBA::Any::from_boolean (_tao_retval)))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::HomeDef::_interface_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_servant,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  TAO_IFR_Client_Adapter *_tao_adapter =
    ACE_Dynamic_Service<TAO_IFR_Client_Adapter>::instance (
        TAO_ORB_Core::ifr_client_adapter_name ()
      );
    
  if (_tao_adapter == 0)
    {
      ACE_THROW (CORBA::INTF_REPOS ());
    }
  
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    (POA_CORBA::ComponentIR::HomeDef *) _tao_servant;
  
  CORBA::InterfaceDef_ptr _tao_retval = 
    _tao_impl->_get_interface (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  CORBA::Boolean _tao_result =
    _tao_adapter->interfacedef_cdr_insert (
        _tao_out,
        _tao_retval
      );
  
  _tao_adapter->dispose (_tao_retval);
  
  if (_tao_result == 0)
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

void POA_CORBA::ComponentIR::HomeDef::_component_skel (
    TAO_ServerRequest &_tao_server_request, 
    void * _tao_object_reference,
    void * /* Servant_Upcall */
    ACE_ENV_ARG_DECL
  )
{
  POA_CORBA::ComponentIR::HomeDef *_tao_impl =
    (POA_CORBA::ComponentIR::HomeDef *) _tao_object_reference;
  
  CORBA::Object_var _tao_retval =
    _tao_impl->_get_component (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK;
  
  _tao_server_request.init_reply ();
  TAO_OutputCDR &_tao_out = _tao_server_request.outgoing ();
  
  if (!(_tao_out << _tao_retval.in ()))
    {
      ACE_THROW (CORBA::MARSHAL ());
    }
}

CORBA::Boolean POA_CORBA::ComponentIR::HomeDef::_is_a (
    const char* value
    ACE_ENV_ARG_DECL_NOT_USED
  )
{
  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;
    }
  else
    {
      return 0;
    }
}

void* POA_CORBA::ComponentIR::HomeDef::_downcast (
    const char* logical_type_id
  )
{
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IRObject:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IRObject_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Container:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Container_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Contained:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::Contained_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/IDLType:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::IDLType_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/InterfaceDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::InterfaceDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/InterfaceAttrExtension:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::InterfaceAttrExtension_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ExtInterfaceDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ExtInterfaceDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0") == 0)
    {
      return ACE_static_cast (POA_CORBA::ComponentIR::HomeDef_ptr, this);
    }
  
  if (ACE_OS::strcmp (logical_type_id,
                      "IDL:omg.org/CORBA/Object:1.0") == 0)
    {
      return ACE_static_cast (PortableServer::Servant, this);
    }
  
  return 0;
}

const char* POA_CORBA::ComponentIR::HomeDef::_interface_repository_id (void) const
{
  return "IDL:omg.org/CORBA/ComponentIR/HomeDef:1.0";
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:545

void POA_CORBA::ComponentIR::HomeDef::_dispatch (
    TAO_ServerRequest &req,
    void *servant_upcall
    ACE_ENV_ARG_DECL
  )
{
  this->synchronous_upcall_dispatch (req,
                                     servant_upcall,
                                     this
                                     ACE_ENV_ARG_PARAMETER);
}

// TAO_IDL - Generated from
// be/be_visitor_interface/interface_ss.cpp:493

CORBA::ComponentIR::HomeDef *
POA_CORBA::ComponentIR::HomeDef::_this (ACE_ENV_SINGLE_ARG_DECL)
{
  TAO_Stub *stub = this->_create_stub (ACE_ENV_SINGLE_ARG_PARAMETER);
  ACE_CHECK_RETURN (0);
  
  TAO_Stub_Auto_Ptr safe_stub (stub);
  CORBA::Object_ptr tmp = CORBA::Object::_nil ();
  
  if (stub->servant_orb_var ()->orb_core ()->optimize_collocation_objects ())
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 1, this),
          0
        );
    }
  else
    {
      ACE_NEW_RETURN (
          tmp,
          CORBA::Object (stub, 0, this),
          0
        );
    }
  
  CORBA::Object_var obj = tmp;
  (void) safe_stub.release ();
  
  typedef ::CORBA::ComponentIR::HomeDef STUB_SCOPED_NAME;
  return
    TAO::Narrow_Utils<STUB_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CORBA_ComponentIR__TAO_HomeDef_Proxy_Broker_Factory_function_pointer
      );
}

// TAO_IDL - Generated from
// be/be_visitor_root/root.cpp:1739

#if 0 
/* Useful at a later date.
At present will be commented out */


#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)

#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_DEFINITIONKIND__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_REPOSITORY__SARG_TRAITS_TMPLINST_SS_

  template class TAO::SArg_Traits<CORBA::Repository>;

  template class
    TAO::Object_SArg_Traits_T<
        CORBA::Repository_ptr,
        CORBA::Repository_var,
        CORBA::Repository_out,
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_CONTAINER__SARG_TRAITS_TMPLINST_SS_

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

  template class
    TAO::Object_SArg_Traits_T<
        CORBA::Container_ptr,
        CORBA::Container_var,
        CORBA::Container_out,
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_IDLTYPE__SARG_TRAITS_TMPLINST_SS_

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

  template class
    TAO::Object_SArg_Traits_T<
        CORBA::IDLType_ptr,
        CORBA::IDLType_var,
        CORBA::IDLType_out,
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_INTERFACEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_INTERFACEDEF__SARG_TRAITS_TMPLINST_SS_

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

  template class
    TAO::Object_SArg_Traits_T<
        CORBA::InterfaceDef_ptr,
        CORBA::InterfaceDef_var,
        CORBA::InterfaceDef_out,
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_VALUEDEF__SARG_TRAITS_TMPLINST_SS_

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

  template class
    TAO::Object_SArg_Traits_T<
        CORBA::ValueDef_ptr,
        CORBA::ValueDef_var,
        CORBA::ValueDef_out,
      >;

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_OPERATIONMODE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

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

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

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

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

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

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

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

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

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

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

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

#if !defined (_CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

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

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

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

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

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

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

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

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

#if !defined (_CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

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

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

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

#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

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

#if !defined (_CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)

#if !defined (_CORBA_DEFINITIONKIND__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_DEFINITIONKIND__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_REPOSITORY__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_REPOSITORY__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::Repository>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::Repository_ptr, \
        CORBA::Repository_var, \
        CORBA::Repository_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_CONTAINER__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_CONTAINER__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::Container>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::Container_ptr, \
        CORBA::Container_var, \
        CORBA::Container_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_IDLTYPE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_IDLTYPE__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::IDLType>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::IDLType_ptr, \
        CORBA::IDLType_var, \
        CORBA::IDLType_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_INTERFACEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_INTERFACEDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::InterfaceDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::InterfaceDef_ptr, \
        CORBA::InterfaceDef_var, \
        CORBA::InterfaceDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_VALUEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_VALUEDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ValueDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ValueDef_ptr, \
        CORBA::ValueDef_var, \
        CORBA::ValueDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_OPERATIONMODE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_OPERATIONMODE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_SEQUENCE__SARG_TRAITS_TMPLINST_SS_

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

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

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_COMPONENTDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::ComponentDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::ComponentDef_ptr, \
        CORBA::ComponentIR::ComponentDef_var, \
        CORBA::ComponentIR::ComponentDef_out, \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::ComponentDef_ptr, \
        CORBA::ComponentIR::ComponentDef_var \
      >

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

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

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::ProvidesDef_ptr, \
        CORBA::ComponentIR::ProvidesDef_var \
      >

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::UsesDef_ptr, \
        CORBA::ComponentIR::UsesDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::EmitsDef_ptr, \
        CORBA::ComponentIR::EmitsDef_var \
      >

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::PublishesDef_ptr, \
        CORBA::ComponentIR::PublishesDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::ConsumesDef_ptr, \
        CORBA::ComponentIR::ConsumesDef_var \
      >

#if !defined (_CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_HOMEDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::HomeDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::HomeDef_ptr, \
        CORBA::ComponentIR::HomeDef_var, \
        CORBA::ComponentIR::HomeDef_out, \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::HomeDef_ptr, \
        CORBA::ComponentIR::HomeDef_var \
      >

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

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::ComponentDef_ptr, \
        CORBA::ComponentIR::ComponentDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ValueDef_ptr, \
        CORBA::ValueDef_var \
      >

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::FactoryDef_ptr, \
        CORBA::ComponentIR::FactoryDef_var \
      >

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

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

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::FinderDef_ptr, \
        CORBA::ComponentIR::FinderDef_var \
      >

#if !defined (_CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_EVENTDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::EventDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::EventDef_ptr, \
        CORBA::ComponentIR::EventDef_var, \
        CORBA::ComponentIR::EventDef_out, \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::ComponentDef_ptr, \
        CORBA::ComponentIR::ComponentDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::HomeDef_ptr, \
        CORBA::ComponentIR::HomeDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::EventDef_ptr, \
        CORBA::ComponentIR::EventDef_var \
      >

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

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

#if !defined (_CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_PROVIDESDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::ProvidesDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::ProvidesDef_ptr, \
        CORBA::ComponentIR::ProvidesDef_var, \
        CORBA::ComponentIR::ProvidesDef_out, \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::InterfaceDef_ptr, \
        CORBA::InterfaceDef_var \
      >

#if !defined (_CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_USESDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::UsesDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::UsesDef_ptr, \
        CORBA::ComponentIR::UsesDef_var, \
        CORBA::ComponentIR::UsesDef_out, \
      >

#endif /* end #if !defined */

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::InterfaceDef_ptr, \
        CORBA::InterfaceDef_var \
      >

# pragma instantiate \
    TAO::Ret_Object_SArgument_T< \
        CORBA::ComponentIR::EventDef_ptr, \
        CORBA::ComponentIR::EventDef_var \
      >

#if !defined (_CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_EMITSDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::EmitsDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::EmitsDef_ptr, \
        CORBA::ComponentIR::EmitsDef_var, \
        CORBA::ComponentIR::EmitsDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_PUBLISHESDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::PublishesDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::PublishesDef_ptr, \
        CORBA::ComponentIR::PublishesDef_var, \
        CORBA::ComponentIR::PublishesDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_CONSUMESDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::ConsumesDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::ConsumesDef_ptr, \
        CORBA::ComponentIR::ConsumesDef_var, \
        CORBA::ComponentIR::ConsumesDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_FACTORYDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::FactoryDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::FactoryDef_ptr, \
        CORBA::ComponentIR::FactoryDef_var, \
        CORBA::ComponentIR::FactoryDef_out, \
      >

#endif /* end #if !defined */

#if !defined (_CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_TMPLINST_SS_)
#define _CORBA_COMPONENTIR_FINDERDEF__SARG_TRAITS_TMPLINST_SS_

# pragma instantiate TAO::SArg_Traits<CORBA::ComponentIR::FinderDef>

# pragma instantiate \
    TAO::Object_SArg_Traits_T< \
        CORBA::ComponentIR::FinderDef_ptr, \
        CORBA::ComponentIR::FinderDef_var, \
        CORBA::ComponentIR::FinderDef_out, \
      >

#endif /* end #if !defined */

#endif /* !ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ 
#endif /*if 0*/ 


#endif /* ifndef */
