// -*- C++ -*-
//
// $Id$

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

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


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

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

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

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

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

#if !defined (_COSNAMING_NAME__ARG_TRAITS_CS_)
#define _COSNAMING_NAME__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosNaming::Name>
    : public
        Var_Size_Arg_Traits_T<
            CosNaming::Name,
            CosNaming::Name_var,
            CosNaming::Name_out
          >
  {
  };

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

#if !defined (_COSNAMING_BINDING__ARG_TRAITS_CS_)
#define _COSNAMING_BINDING__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosNaming::Binding>
    : public
        Var_Size_Arg_Traits_T<
            CosNaming::Binding,
            CosNaming::Binding_var,
            CosNaming::Binding_out
          >
  {
  };

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

#if !defined (_COSNAMING_BINDINGLIST__ARG_TRAITS_CS_)
#define _COSNAMING_BINDINGLIST__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosNaming::BindingList>
    : public
        Var_Size_Arg_Traits_T<
            CosNaming::BindingList,
            CosNaming::BindingList_var,
            CosNaming::BindingList_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSNAMING_BINDINGITERATOR__ARG_TRAITS_CS_)
#define _COSNAMING_BINDINGITERATOR__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosNaming::BindingIterator>
    : public
        Object_Arg_Traits_T<
            CosNaming::BindingIterator_ptr,
            CosNaming::BindingIterator_var,
            CosNaming::BindingIterator_out,
            TAO::Objref_Traits<CosNaming::BindingIterator>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSNAMING_NAMINGCONTEXT__ARG_TRAITS_CS_)
#define _COSNAMING_NAMINGCONTEXT__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosNaming::NamingContext>
    : public
        Object_Arg_Traits_T<
            CosNaming::NamingContext_ptr,
            CosNaming::NamingContext_var,
            CosNaming::NamingContext_out,
            TAO::Objref_Traits<CosNaming::NamingContext>
          >
  {
  };

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

#if !defined (_COSLIFECYCLE_CRITERIA__ARG_TRAITS_CS_)
#define _COSLIFECYCLE_CRITERIA__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosLifeCycle::Criteria>
    : public
        Var_Size_Arg_Traits_T<
            CosLifeCycle::Criteria,
            CosLifeCycle::Criteria_var,
            CosLifeCycle::Criteria_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSLIFECYCLE_FACTORYFINDER__ARG_TRAITS_CS_)
#define _COSLIFECYCLE_FACTORYFINDER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_LifeCycle_Export Arg_Traits<CosLifeCycle::FactoryFinder>
    : public
        Object_Arg_Traits_T<
            CosLifeCycle::FactoryFinder_ptr,
            CosLifeCycle::FactoryFinder_var,
            CosLifeCycle::FactoryFinder_out,
            TAO::Objref_Traits<CosLifeCycle::FactoryFinder>
          >
  {
  };

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


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

// Traits specializations for LifeCycleService::Life_Cycle_Service.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
LifeCycleService::Life_Cycle_Service_ptr
TAO::Objref_Traits<LifeCycleService::Life_Cycle_Service>::tao_duplicate (
    LifeCycleService::Life_Cycle_Service_ptr p
  )
{
  return LifeCycleService::Life_Cycle_Service::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<LifeCycleService::Life_Cycle_Service>::tao_release (
    LifeCycleService::Life_Cycle_Service_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
LifeCycleService::Life_Cycle_Service_ptr
TAO::Objref_Traits<LifeCycleService::Life_Cycle_Service>::tao_nil (void)
{
  return LifeCycleService::Life_Cycle_Service::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<LifeCycleService::Life_Cycle_Service>::tao_marshal (
    LifeCycleService::Life_Cycle_Service_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void LifeCycleService::Life_Cycle_Service::register_factory (
    const char * name,
    const char * location,
    const char * description,
    ::CORBA::Object_ptr object
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Life_Cycle_Service_Proxy_Broker_ == 0)
    {
      LifeCycleService_Life_Cycle_Service_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_name (name);
  TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_location (location);
  TAO::Arg_Traits< ::CORBA::Char *>::in_arg_val _tao_description (description);
  TAO::Arg_Traits< CORBA::Object>::in_arg_val _tao_object (object);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_name,
      &_tao_location,
      &_tao_description,
      &_tao_object
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      5,
      "register_factory",
      16,
      this->the_TAO_Life_Cycle_Service_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

LifeCycleService::Life_Cycle_Service::Life_Cycle_Service (void)
 : the_TAO_Life_Cycle_Service_Proxy_Broker_ (0)
{
  this->LifeCycleService_Life_Cycle_Service_setup_collocation ();
}

void
LifeCycleService::Life_Cycle_Service::LifeCycleService_Life_Cycle_Service_setup_collocation ()
{
  if (::LifeCycleService__TAO_Life_Cycle_Service_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_Life_Cycle_Service_Proxy_Broker_ =
        ::LifeCycleService__TAO_Life_Cycle_Service_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosLifeCycle_GenericFactory_setup_collocation ();
}

LifeCycleService::Life_Cycle_Service::~Life_Cycle_Service (void)
{}

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

LifeCycleService::Life_Cycle_Service_ptr
LifeCycleService::Life_Cycle_Service::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Life_Cycle_Service>::narrow (
        _tao_objref,
        "IDL:LifeCycleService/Life_Cycle_Service:1.0",
        LifeCycleService__TAO_Life_Cycle_Service_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

LifeCycleService::Life_Cycle_Service_ptr
LifeCycleService::Life_Cycle_Service::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Life_Cycle_Service>::unchecked_narrow (
        _tao_objref,
        "IDL:LifeCycleService/Life_Cycle_Service:1.0",
        LifeCycleService__TAO_Life_Cycle_Service_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

LifeCycleService::Life_Cycle_Service_ptr
LifeCycleService::Life_Cycle_Service::_duplicate (Life_Cycle_Service_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

const char* LifeCycleService::Life_Cycle_Service::_interface_repository_id (void) const
{
  return "IDL:LifeCycleService/Life_Cycle_Service:1.0";
}

CORBA::Boolean
LifeCycleService::Life_Cycle_Service::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_LifeCycleService_Life_Cycle_Service[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  44,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x4379636c), 
  ACE_NTOHL (0x65536572), 
  ACE_NTOHL (0x76696365), 
  ACE_NTOHL (0x2f4c6966), 
  ACE_NTOHL (0x655f4379), 
  ACE_NTOHL (0x636c655f), 
  ACE_NTOHL (0x53657276), 
  ACE_NTOHL (0x6963653a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:LifeCycleService/Life_Cycle_Service:1.0
    19,
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x5f437963), 
  ACE_NTOHL (0x6c655f53), 
  ACE_NTOHL (0x65727669), 
  ACE_NTOHL (0x63650000),  // name = Life_Cycle_Service
  };

static CORBA::TypeCode _tc_TAO_tc_LifeCycleService_Life_Cycle_Service (
    CORBA::tk_objref,
    sizeof (_oc_LifeCycleService_Life_Cycle_Service),
    (char *) &_oc_LifeCycleService_Life_Cycle_Service,
    0,
    sizeof (LifeCycleService::Life_Cycle_Service)
  );

namespace LifeCycleService
{
  ::CORBA::TypeCode_ptr _tc_Life_Cycle_Service =
    &_tc_TAO_tc_LifeCycleService_Life_Cycle_Service;
}

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

// Traits specializations for LifeCycleService::Criteria_Evaluator.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
LifeCycleService::Criteria_Evaluator_ptr
TAO::Objref_Traits<LifeCycleService::Criteria_Evaluator>::tao_duplicate (
    LifeCycleService::Criteria_Evaluator_ptr p
  )
{
  return LifeCycleService::Criteria_Evaluator::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<LifeCycleService::Criteria_Evaluator>::tao_release (
    LifeCycleService::Criteria_Evaluator_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
LifeCycleService::Criteria_Evaluator_ptr
TAO::Objref_Traits<LifeCycleService::Criteria_Evaluator>::tao_nil (void)
{
  return LifeCycleService::Criteria_Evaluator::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<LifeCycleService::Criteria_Evaluator>::tao_marshal (
    LifeCycleService::Criteria_Evaluator_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

static const CORBA::Long _oc_LifeCycleService_Criteria_Evaluator_SeqNamedValuePair[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  62,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x4379636c), 
  ACE_NTOHL (0x65536572), 
  ACE_NTOHL (0x76696365), 
  ACE_NTOHL (0x2f437269), 
  ACE_NTOHL (0x74657269), 
  ACE_NTOHL (0x615f4576), 
  ACE_NTOHL (0x616c7561), 
  ACE_NTOHL (0x746f722f), 
  ACE_NTOHL (0x5365714e), 
  ACE_NTOHL (0x616d6564), 
  ACE_NTOHL (0x56616c75), 
  ACE_NTOHL (0x65506169), 
  ACE_NTOHL (0x723a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:LifeCycleService/Criteria_Evaluator/SeqNamedValuePair:1.0
    18,
  ACE_NTOHL (0x5365714e), 
  ACE_NTOHL (0x616d6564), 
  ACE_NTOHL (0x56616c75), 
  ACE_NTOHL (0x65506169), 
  ACE_NTOHL (0x72000000),  // name = SeqNamedValuePair
    CORBA::tk_alias, // typecode kind for typedefs
  264, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    38,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x436f734c), 
    ACE_NTOHL (0x69666543), 
    ACE_NTOHL (0x79636c65), 
    ACE_NTOHL (0x2f437269), 
    ACE_NTOHL (0x74657269), 
    ACE_NTOHL (0x613a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosLifeCycle/Criteria:1.0
        9,
    ACE_NTOHL (0x43726974), 
    ACE_NTOHL (0x65726961), 
    ACE_NTOHL (0x0),  // name = Criteria
        CORBA::tk_sequence, // typecode kind
    192, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_struct, // typecode kind
      176, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        43,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x436f734c), 
        ACE_NTOHL (0x69666543), 
        ACE_NTOHL (0x79636c65), 
        ACE_NTOHL (0x2f4e616d), 
        ACE_NTOHL (0x6556616c), 
        ACE_NTOHL (0x75655061), 
        ACE_NTOHL (0x69723a31), 
        ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosLifeCycle/NameValuePair:1.0
                14,
        ACE_NTOHL (0x4e616d65), 
        ACE_NTOHL (0x56616c75), 
        ACE_NTOHL (0x65506169), 
        ACE_NTOHL (0x72000000),  // name = NameValuePair
        2, // member count
                5,
        ACE_NTOHL (0x6e616d65), 
        ACE_NTOHL (0x0),  // name = name
                CORBA::tk_alias, // typecode kind for typedefs
        64, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          34,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x436f734e), 
          ACE_NTOHL (0x616d696e), 
          ACE_NTOHL (0x672f4973), 
          ACE_NTOHL (0x7472696e), 
          ACE_NTOHL (0x673a312e), 
          ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosNaming/Istring:1.0
                    8,
          ACE_NTOHL (0x49737472), 
          ACE_NTOHL (0x696e6700),  // name = Istring
                    CORBA::tk_string, 
          0U, // string length

        6,
        ACE_NTOHL (0x76616c75), 
        ACE_NTOHL (0x65000000),  // name = value
                CORBA::tk_any,


      0U,


};

static CORBA::TypeCode _tc_TAO_tc_LifeCycleService_Criteria_Evaluator_SeqNamedValuePair (
    CORBA::tk_alias,
    sizeof (_oc_LifeCycleService_Criteria_Evaluator_SeqNamedValuePair),
    (char *) &_oc_LifeCycleService_Criteria_Evaluator_SeqNamedValuePair,
    0,
    sizeof (LifeCycleService::Criteria_Evaluator::SeqNamedValuePair)
  );

::CORBA::TypeCode_ptr LifeCycleService::Criteria_Evaluator::_tc_SeqNamedValuePair =
  &_tc_TAO_tc_LifeCycleService_Criteria_Evaluator_SeqNamedValuePair;

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

static const CORBA::Long _oc_LifeCycleService_Criteria_Evaluator_Criteria[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  53,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x4379636c), 
  ACE_NTOHL (0x65536572), 
  ACE_NTOHL (0x76696365), 
  ACE_NTOHL (0x2f437269), 
  ACE_NTOHL (0x74657269), 
  ACE_NTOHL (0x615f4576), 
  ACE_NTOHL (0x616c7561), 
  ACE_NTOHL (0x746f722f), 
  ACE_NTOHL (0x43726974), 
  ACE_NTOHL (0x65726961), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:LifeCycleService/Criteria_Evaluator/Criteria:1.0
    9,
  ACE_NTOHL (0x43726974), 
  ACE_NTOHL (0x65726961), 
  ACE_NTOHL (0x0),  // name = Criteria
    CORBA::tk_alias, // typecode kind for typedefs
  264, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    38,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x436f734c), 
    ACE_NTOHL (0x69666543), 
    ACE_NTOHL (0x79636c65), 
    ACE_NTOHL (0x2f437269), 
    ACE_NTOHL (0x74657269), 
    ACE_NTOHL (0x613a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosLifeCycle/Criteria:1.0
        9,
    ACE_NTOHL (0x43726974), 
    ACE_NTOHL (0x65726961), 
    ACE_NTOHL (0x0),  // name = Criteria
        CORBA::tk_sequence, // typecode kind
    192, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_struct, // typecode kind
      176, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        43,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x436f734c), 
        ACE_NTOHL (0x69666543), 
        ACE_NTOHL (0x79636c65), 
        ACE_NTOHL (0x2f4e616d), 
        ACE_NTOHL (0x6556616c), 
        ACE_NTOHL (0x75655061), 
        ACE_NTOHL (0x69723a31), 
        ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosLifeCycle/NameValuePair:1.0
                14,
        ACE_NTOHL (0x4e616d65), 
        ACE_NTOHL (0x56616c75), 
        ACE_NTOHL (0x65506169), 
        ACE_NTOHL (0x72000000),  // name = NameValuePair
        2, // member count
                5,
        ACE_NTOHL (0x6e616d65), 
        ACE_NTOHL (0x0),  // name = name
                CORBA::tk_alias, // typecode kind for typedefs
        64, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          34,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x436f734e), 
          ACE_NTOHL (0x616d696e), 
          ACE_NTOHL (0x672f4973), 
          ACE_NTOHL (0x7472696e), 
          ACE_NTOHL (0x673a312e), 
          ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosNaming/Istring:1.0
                    8,
          ACE_NTOHL (0x49737472), 
          ACE_NTOHL (0x696e6700),  // name = Istring
                    CORBA::tk_string, 
          0U, // string length

        6,
        ACE_NTOHL (0x76616c75), 
        ACE_NTOHL (0x65000000),  // name = value
                CORBA::tk_any,


      0U,


};

static CORBA::TypeCode _tc_TAO_tc_LifeCycleService_Criteria_Evaluator_Criteria (
    CORBA::tk_alias,
    sizeof (_oc_LifeCycleService_Criteria_Evaluator_Criteria),
    (char *) &_oc_LifeCycleService_Criteria_Evaluator_Criteria,
    0,
    sizeof (LifeCycleService::Criteria_Evaluator::Criteria)
  );

::CORBA::TypeCode_ptr LifeCycleService::Criteria_Evaluator::_tc_Criteria =
  &_tc_TAO_tc_LifeCycleService_Criteria_Evaluator_Criteria;

// TAO_IDL - Generated from 
// be/be_visitor_exception/exception_cs.cpp:63

LifeCycleService::Criteria_Evaluator::NotAvailable::NotAvailable (void)
  : CORBA::UserException (
        "IDL:LifeCycleService/Criteria_Evaluator/NotAvailable:1.0",
        "NotAvailable"
      )
{
}

LifeCycleService::Criteria_Evaluator::NotAvailable::~NotAvailable (void)
{
}

LifeCycleService::Criteria_Evaluator::NotAvailable::NotAvailable (const ::LifeCycleService::Criteria_Evaluator::NotAvailable &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
  this->reason = CORBA::string_dup (_tao_excp.reason.in ());
}

LifeCycleService::Criteria_Evaluator::NotAvailable&
LifeCycleService::Criteria_Evaluator::NotAvailable::operator= (const ::LifeCycleService::Criteria_Evaluator::NotAvailable &_tao_excp)
{
  this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
  this->reason = CORBA::string_dup (_tao_excp.reason.in ());
  return *this;
}

void LifeCycleService::Criteria_Evaluator::NotAvailable::_tao_any_destructor (void *_tao_void_pointer)
{
  NotAvailable *_tao_tmp_pointer =
    static_cast<NotAvailable*> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

LifeCycleService::Criteria_Evaluator::NotAvailable *
LifeCycleService::Criteria_Evaluator::NotAvailable::_downcast (CORBA::Exception *_tao_excp)
{
  if (!ACE_OS::strcmp ("IDL:LifeCycleService/Criteria_Evaluator/NotAvailable:1.0", _tao_excp->_rep_id ()))
    {
      return dynamic_cast<NotAvailable *> (_tao_excp);
    }
  else
    {
      return 0;
    }
}

CORBA::Exception *LifeCycleService::Criteria_Evaluator::NotAvailable::_alloc (void)
{
  CORBA::Exception *retval = 0;
  ACE_NEW_RETURN (retval, ::LifeCycleService::Criteria_Evaluator::NotAvailable, 0);
  return retval;
}

CORBA::Exception *
LifeCycleService::Criteria_Evaluator::NotAvailable::_tao_duplicate (void) const
{
  CORBA::Exception *result;
  ACE_NEW_RETURN (
      result,
      ::LifeCycleService::Criteria_Evaluator::NotAvailable (*this),
      0
    );
  return result;
}

void LifeCycleService::Criteria_Evaluator::NotAvailable::_raise (void) const
{
  TAO_RAISE (*this);
}

void LifeCycleService::Criteria_Evaluator::NotAvailable::_tao_encode (
    TAO_OutputCDR &cdr
    ACE_ENV_ARG_DECL
  ) const
{
  if (cdr << *this)
    {
      return;
    }
  
  ACE_THROW (CORBA::MARSHAL ());
}

void LifeCycleService::Criteria_Evaluator::NotAvailable::_tao_decode (
    TAO_InputCDR &cdr
    ACE_ENV_ARG_DECL
  )
{
  if (cdr >> *this)
    {
      return;
    }
  
  ACE_THROW (CORBA::MARSHAL ());
}



// TAO_IDL - Generated from
// be/be_visitor_exception/exception_ctor.cpp:66

LifeCycleService::Criteria_Evaluator::NotAvailable::NotAvailable (
    const char * _tao_reason
  )
  : CORBA::UserException (
        "IDL:LifeCycleService/Criteria_Evaluator/NotAvailable:1.0",
        "NotAvailable"
      )
{
  this->reason = CORBA::string_dup (_tao_reason);
}

// TAO extension - the virtual _type method.
CORBA::TypeCode_ptr LifeCycleService::Criteria_Evaluator::NotAvailable::_type (void) const
{
  return ::LifeCycleService::Criteria_Evaluator::_tc_NotAvailable;
}

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

static const CORBA::Long _oc_LifeCycleService_Criteria_Evaluator_NotAvailable[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  57,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x4379636c), 
  ACE_NTOHL (0x65536572), 
  ACE_NTOHL (0x76696365), 
  ACE_NTOHL (0x2f437269), 
  ACE_NTOHL (0x74657269), 
  ACE_NTOHL (0x615f4576), 
  ACE_NTOHL (0x616c7561), 
  ACE_NTOHL (0x746f722f), 
  ACE_NTOHL (0x4e6f7441), 
  ACE_NTOHL (0x7661696c), 
  ACE_NTOHL (0x61626c65), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:LifeCycleService/Criteria_Evaluator/NotAvailable:1.0
    13,
  ACE_NTOHL (0x4e6f7441), 
  ACE_NTOHL (0x7661696c), 
  ACE_NTOHL (0x61626c65), 
  ACE_NTOHL (0x0),  // name = NotAvailable
  1, // member count
    7,
  ACE_NTOHL (0x72656173), 
  ACE_NTOHL (0x6f6e0000),  // name = reason
    CORBA::tk_string, 
  0U, // string length
};

static CORBA::TypeCode _tc_TAO_tc_LifeCycleService_Criteria_Evaluator_NotAvailable (
    CORBA::tk_except,
    sizeof (_oc_LifeCycleService_Criteria_Evaluator_NotAvailable),
    (char *) &_oc_LifeCycleService_Criteria_Evaluator_NotAvailable,
    0,
    sizeof (LifeCycleService::Criteria_Evaluator::NotAvailable)
  );

::CORBA::TypeCode_ptr LifeCycleService::Criteria_Evaluator::_tc_NotAvailable =
  &_tc_TAO_tc_LifeCycleService_Criteria_Evaluator_NotAvailable;

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

::LifeCycleService::Criteria_Evaluator::SeqNamedValuePair * LifeCycleService::Criteria_Evaluator::getInitialization (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Criteria_Evaluator_Proxy_Broker_ == 0)
    {
      LifeCycleService_Criteria_Evaluator_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::LifeCycleService::Criteria_Evaluator::SeqNamedValuePair>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "getInitialization",
      17,
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

char * LifeCycleService::Criteria_Evaluator::getFilter (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Criteria_Evaluator_Proxy_Broker_ == 0)
    {
      LifeCycleService_Criteria_Evaluator_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "getFilter",
      9,
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::LifeCycleService::Criteria_Evaluator::SeqNamedValuePair * LifeCycleService::Criteria_Evaluator::getLogicalLocation (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Criteria_Evaluator_Proxy_Broker_ == 0)
    {
      LifeCycleService_Criteria_Evaluator_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::LifeCycleService::Criteria_Evaluator::SeqNamedValuePair>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "getLogicalLocation",
      18,
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

char * LifeCycleService::Criteria_Evaluator::getPreferences (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Criteria_Evaluator_Proxy_Broker_ == 0)
    {
      LifeCycleService_Criteria_Evaluator_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CORBA::Char *>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "getPreferences",
      14,
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void LifeCycleService::Criteria_Evaluator::setCriteria (
    const ::LifeCycleService::Criteria_Evaluator::Criteria & criteria_
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_Criteria_Evaluator_Proxy_Broker_ == 0)
    {
      LifeCycleService_Criteria_Evaluator_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::LifeCycleService::Criteria_Evaluator::Criteria>::in_arg_val _tao_criteria_ (criteria_);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_criteria_
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "setCriteria",
      11,
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

LifeCycleService::Criteria_Evaluator::Criteria_Evaluator (void)
 : the_TAO_Criteria_Evaluator_Proxy_Broker_ (0)
{
  this->LifeCycleService_Criteria_Evaluator_setup_collocation ();
}

void
LifeCycleService::Criteria_Evaluator::LifeCycleService_Criteria_Evaluator_setup_collocation ()
{
  if (::LifeCycleService__TAO_Criteria_Evaluator_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_Criteria_Evaluator_Proxy_Broker_ =
        ::LifeCycleService__TAO_Criteria_Evaluator_Proxy_Broker_Factory_function_pointer (this);
    }
}

LifeCycleService::Criteria_Evaluator::~Criteria_Evaluator (void)
{}

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

LifeCycleService::Criteria_Evaluator_ptr
LifeCycleService::Criteria_Evaluator::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Criteria_Evaluator>::narrow (
        _tao_objref,
        "IDL:LifeCycleService/Criteria_Evaluator:1.0",
        LifeCycleService__TAO_Criteria_Evaluator_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

LifeCycleService::Criteria_Evaluator_ptr
LifeCycleService::Criteria_Evaluator::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<Criteria_Evaluator>::unchecked_narrow (
        _tao_objref,
        "IDL:LifeCycleService/Criteria_Evaluator:1.0",
        LifeCycleService__TAO_Criteria_Evaluator_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

LifeCycleService::Criteria_Evaluator_ptr
LifeCycleService::Criteria_Evaluator::_duplicate (Criteria_Evaluator_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

const char* LifeCycleService::Criteria_Evaluator::_interface_repository_id (void) const
{
  return "IDL:LifeCycleService/Criteria_Evaluator:1.0";
}

CORBA::Boolean
LifeCycleService::Criteria_Evaluator::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_LifeCycleService_Criteria_Evaluator[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  44,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x4c696665), 
  ACE_NTOHL (0x4379636c), 
  ACE_NTOHL (0x65536572), 
  ACE_NTOHL (0x76696365), 
  ACE_NTOHL (0x2f437269), 
  ACE_NTOHL (0x74657269), 
  ACE_NTOHL (0x615f4576), 
  ACE_NTOHL (0x616c7561), 
  ACE_NTOHL (0x746f723a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:LifeCycleService/Criteria_Evaluator:1.0
    19,
  ACE_NTOHL (0x43726974), 
  ACE_NTOHL (0x65726961), 
  ACE_NTOHL (0x5f457661), 
  ACE_NTOHL (0x6c756174), 
  ACE_NTOHL (0x6f720000),  // name = Criteria_Evaluator
  };

static CORBA::TypeCode _tc_TAO_tc_LifeCycleService_Criteria_Evaluator (
    CORBA::tk_objref,
    sizeof (_oc_LifeCycleService_Criteria_Evaluator),
    (char *) &_oc_LifeCycleService_Criteria_Evaluator,
    0,
    sizeof (LifeCycleService::Criteria_Evaluator)
  );

namespace LifeCycleService
{
  ::CORBA::TypeCode_ptr _tc_Criteria_Evaluator =
    &_tc_TAO_tc_LifeCycleService_Criteria_Evaluator;
}

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

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

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    LifeCycleService::Life_Cycle_Service_ptr _tao_elem
  )
{
  LifeCycleService::Life_Cycle_Service_ptr _tao_objptr =
    LifeCycleService::Life_Cycle_Service::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    LifeCycleService::Life_Cycle_Service_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<LifeCycleService::Life_Cycle_Service>::insert (
      _tao_any,
      LifeCycleService::Life_Cycle_Service::_tao_any_destructor,
      LifeCycleService::_tc_Life_Cycle_Service,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    LifeCycleService::Life_Cycle_Service_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<LifeCycleService::Life_Cycle_Service>::extract (
        _tao_any,
        LifeCycleService::Life_Cycle_Service::_tao_any_destructor,
        LifeCycleService::_tc_Life_Cycle_Service,
        _tao_elem
      );
}

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

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

// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    LifeCycleService::Criteria_Evaluator_ptr _tao_elem
  )
{
  LifeCycleService::Criteria_Evaluator_ptr _tao_objptr =
    LifeCycleService::Criteria_Evaluator::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    LifeCycleService::Criteria_Evaluator_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<LifeCycleService::Criteria_Evaluator>::insert (
      _tao_any,
      LifeCycleService::Criteria_Evaluator::_tao_any_destructor,
      LifeCycleService::_tc_Criteria_Evaluator,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    LifeCycleService::Criteria_Evaluator_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<LifeCycleService::Criteria_Evaluator>::extract (
        _tao_any,
        LifeCycleService::Criteria_Evaluator::_tao_any_destructor,
        LifeCycleService::_tc_Criteria_Evaluator,
        _tao_elem
      );
}

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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Dual_Impl_T<LifeCycleService::Criteria_Evaluator::NotAvailable>::demarshal_value (
    TAO_InputCDR & cdr
  )
{
  CORBA::String_var id;
  
  if ((cdr >> id.out ()) == 0)
    {
      return 0;
    }
  
  ACE_TRY_NEW_ENV
    {
      this->value_->_tao_decode (cdr ACE_ENV_ARG_PARAMETER);
      ACE_TRY_CHECK;
    }
  ACE_CATCHANY
    {
      return 0;
    }
  ACE_ENDTRY;
  
  return 1;
}

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

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

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

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

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

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

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

// TAO_IDL - Generated from
// be/be_visitor_exception/cdr_op_cs.cpp:60

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const LifeCycleService::Criteria_Evaluator::NotAvailable &_tao_aggregate
  )
{
  // First marshal the repository ID.
  if (strm << _tao_aggregate._rep_id ())
    {
      // Now marshal the members (if any).
      if (
        (strm << _tao_aggregate.reason.in ())
       )
        {
          return 1;
        }
      else
        {
          return 0;
        }
    }
  else
    {
      return 0;
    }
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    LifeCycleService::Criteria_Evaluator::NotAvailable &_tao_aggregate
  )
{
  // Demarshal the members.
  if (
    (strm >> _tao_aggregate.reason.out ())
  )
    {
      return 1;
    }
  else
    {
      return 0;
    }
}

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

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

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

