// -*- 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 "FTRT_GroupManagerC.h"
#include "tao/CDR.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Messaging/Asynch_Invocation_Adapter.h"
#include "tao/Valuetype/ValueFactory.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/Special_Basic_Arguments.h"
#include "tao/UB_String_Arguments.h"
#include "tao/Var_Size_Argument_T.h"
#include "ace/OS_NS_string.h"

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

#if !defined (__ACE_INLINE__)
#include "FTRT_GroupManagerC.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 (_RTECEVENTCOMM_EVENTSET__ARG_TRAITS_CS_)
#define _RTECEVENTCOMM_EVENTSET__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventComm::EventSet>
    : public
        Var_Size_Arg_Traits_T<
            RtecEventComm::EventSet,
            RtecEventComm::EventSet_var,
            RtecEventComm::EventSet_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_RTECEVENTCOMM_PUSHCONSUMER__ARG_TRAITS_CS_)
#define _RTECEVENTCOMM_PUSHCONSUMER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventComm::PushConsumer>
    : public
        Object_Arg_Traits_T<
            RtecEventComm::PushConsumer_ptr,
            RtecEventComm::PushConsumer_var,
            RtecEventComm::PushConsumer_out,
            TAO::Objref_Traits<RtecEventComm::PushConsumer>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_RTECEVENTCOMM_PUSHSUPPLIER__ARG_TRAITS_CS_)
#define _RTECEVENTCOMM_PUSHSUPPLIER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventComm::PushSupplier>
    : public
        Object_Arg_Traits_T<
            RtecEventComm::PushSupplier_ptr,
            RtecEventComm::PushSupplier_var,
            RtecEventComm::PushSupplier_out,
            TAO::Objref_Traits<RtecEventComm::PushSupplier>
          >
  {
  };

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

#if !defined (_RTECEVENTCHANNELADMIN_CONSUMERQOS__ARG_TRAITS_CS_)
#define _RTECEVENTCHANNELADMIN_CONSUMERQOS__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventChannelAdmin::ConsumerQOS>
    : public
        Var_Size_Arg_Traits_T<
            RtecEventChannelAdmin::ConsumerQOS,
            RtecEventChannelAdmin::ConsumerQOS_var,
            RtecEventChannelAdmin::ConsumerQOS_out
          >
  {
  };

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

#if !defined (_RTECEVENTCHANNELADMIN_SUPPLIERQOS__ARG_TRAITS_CS_)
#define _RTECEVENTCHANNELADMIN_SUPPLIERQOS__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventChannelAdmin::SupplierQOS>
    : public
        Var_Size_Arg_Traits_T<
            RtecEventChannelAdmin::SupplierQOS,
            RtecEventChannelAdmin::SupplierQOS_var,
            RtecEventChannelAdmin::SupplierQOS_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_RTECEVENTCHANNELADMIN_OBSERVER__ARG_TRAITS_CS_)
#define _RTECEVENTCHANNELADMIN_OBSERVER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<RtecEventChannelAdmin::Observer>
    : public
        Object_Arg_Traits_T<
            RtecEventChannelAdmin::Observer_ptr,
            RtecEventChannelAdmin::Observer_var,
            RtecEventChannelAdmin::Observer_out,
            TAO::Objref_Traits<RtecEventChannelAdmin::Observer>
          >
  {
  };

#endif /* end #if !defined */
  
  // 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_FtRtEvent_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_FtRtEvent_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_FtRtEvent_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_FtRtEvent_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_FtRtEvent_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 (_FTRT_STATE__ARG_TRAITS_CS_)
#define _FTRT_STATE__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::State>
    : public
        Var_Size_Arg_Traits_T<
            FTRT::State,
            FTRT::State_var,
            FTRT::State_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_FTRT_FAULTLISTENER__ARG_TRAITS_CS_)
#define _FTRT_FAULTLISTENER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::FaultListener>
    : public
        Object_Arg_Traits_T<
            FTRT::FaultListener_ptr,
            FTRT::FaultListener_var,
            FTRT::FaultListener_out,
            TAO::Objref_Traits<FTRT::FaultListener>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_FTRT_AMI_FAULTLISTENEREXCEPTIONHOLDER__ARG_TRAITS_CS_)
#define _FTRT_AMI_FAULTLISTENEREXCEPTIONHOLDER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::AMI_FaultListenerExceptionHolder>
    : public
        Object_Arg_Traits_T<
            FTRT::AMI_FaultListenerExceptionHolder *,
            FTRT::AMI_FaultListenerExceptionHolder_var,
            FTRT::AMI_FaultListenerExceptionHolder_out,
            TAO::Value_Traits<FTRT::AMI_FaultListenerExceptionHolder>
          >
  {
  };

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

#if !defined (_FTRT_MANAGERINFO__ARG_TRAITS_CS_)
#define _FTRT_MANAGERINFO__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::ManagerInfo>
    : public
        Var_Size_Arg_Traits_T<
            FTRT::ManagerInfo,
            FTRT::ManagerInfo_var,
            FTRT::ManagerInfo_out
          >
  {
  };

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

#if !defined (_FTRT_MANAGERINFOLIST__ARG_TRAITS_CS_)
#define _FTRT_MANAGERINFOLIST__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::ManagerInfoList>
    : public
        Var_Size_Arg_Traits_T<
            FTRT::ManagerInfoList,
            FTRT::ManagerInfoList_var,
            FTRT::ManagerInfoList_out
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_FTRT_AMI_OBJECTGROUPMANAGEREXCEPTIONHOLDER__ARG_TRAITS_CS_)
#define _FTRT_AMI_OBJECTGROUPMANAGEREXCEPTIONHOLDER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_FtRtEvent_Export Arg_Traits<FTRT::AMI_ObjectGroupManagerExceptionHolder>
    : public
        Object_Arg_Traits_T<
            FTRT::AMI_ObjectGroupManagerExceptionHolder *,
            FTRT::AMI_ObjectGroupManagerExceptionHolder_var,
            FTRT::AMI_ObjectGroupManagerExceptionHolder_out,
            TAO::Value_Traits<FTRT::AMI_ObjectGroupManagerExceptionHolder>
          >
  {
  };

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


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

static const CORBA::Long _oc_FTRT_Location[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  22,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f4c6f63), 
  ACE_NTOHL (0x6174696f), 
  ACE_NTOHL (0x6e3a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:FTRT/Location:1.0
    9,
  ACE_NTOHL (0x4c6f6361), 
  ACE_NTOHL (0x74696f6e), 
  ACE_NTOHL (0x0),  // name = Location
    CORBA::tk_alias, // typecode kind for typedefs
  312, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    31,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x436f734e), 
    ACE_NTOHL (0x616d696e), 
    ACE_NTOHL (0x672f4e61), 
    ACE_NTOHL (0x6d653a31), 
    ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNaming/Name:1.0
        5,
    ACE_NTOHL (0x4e616d65), 
    ACE_NTOHL (0x0),  // name = Name
        CORBA::tk_sequence, // typecode kind
    252, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      CORBA::tk_struct, // typecode kind
      236, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        40,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x6f6d672e), 
        ACE_NTOHL (0x6f72672f), 
        ACE_NTOHL (0x436f734e), 
        ACE_NTOHL (0x616d696e), 
        ACE_NTOHL (0x672f4e61), 
        ACE_NTOHL (0x6d65436f), 
        ACE_NTOHL (0x6d706f6e), 
        ACE_NTOHL (0x656e743a), 
        ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosNaming/NameComponent:1.0
                14,
        ACE_NTOHL (0x4e616d65), 
        ACE_NTOHL (0x436f6d70), 
        ACE_NTOHL (0x6f6e656e), 
        ACE_NTOHL (0x74000000),  // name = NameComponent
        2, // member count
                3,
        ACE_NTOHL (0x69640000),  // name = id
                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

        5,
        ACE_NTOHL (0x6b696e64), 
        ACE_NTOHL (0x0),  // name = kind
                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


      0U,


};

static CORBA::TypeCode _tc_TAO_tc_FTRT_Location (
    CORBA::tk_alias,
    sizeof (_oc_FTRT_Location),
    (char *) &_oc_FTRT_Location,
    0,
    sizeof (FTRT::Location)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_Location =
    &_tc_TAO_tc_FTRT_Location;
}

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

// Traits specializations for FTRT::FaultListener.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::FaultListener_ptr
TAO::Objref_Traits<FTRT::FaultListener>::tao_duplicate (
    FTRT::FaultListener_ptr p
  )
{
  return FTRT::FaultListener::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<FTRT::FaultListener>::tao_release (
    FTRT::FaultListener_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::FaultListener_ptr
TAO::Objref_Traits<FTRT::FaultListener>::tao_nil (void)
{
  return FTRT::FaultListener::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<FTRT::FaultListener>::tao_marshal (
    FTRT::FaultListener_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void FTRT::FaultListener::replica_crashed (
    const ::FTRT::Location & location
    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_FaultListener_Proxy_Broker_ == 0)
    {
      FTRT_FaultListener_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::Location>::in_arg_val _tao_location (location);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_location
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "replica_crashed",
      15,
      this->the_TAO_FaultListener_Proxy_Broker_,
      TAO::TAO_ONEWAY_INVOCATION
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

FTRT::FaultListener::FaultListener (void)
 : the_TAO_FaultListener_Proxy_Broker_ (0)
{
  this->FTRT_FaultListener_setup_collocation ();
}

void
FTRT::FaultListener::FTRT_FaultListener_setup_collocation ()
{
  if (::FTRT__TAO_FaultListener_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_FaultListener_Proxy_Broker_ =
        ::FTRT__TAO_FaultListener_Proxy_Broker_Factory_function_pointer (this);
    }
}

FTRT::FaultListener::~FaultListener (void)
{}

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

FTRT::FaultListener_ptr
FTRT::FaultListener::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FaultListener>::narrow (
        _tao_objref,
        "IDL:FTRT/FaultListener:1.0",
        FTRT__TAO_FaultListener_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::FaultListener_ptr
FTRT::FaultListener::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<FaultListener>::unchecked_narrow (
        _tao_objref,
        "IDL:FTRT/FaultListener:1.0",
        FTRT__TAO_FaultListener_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::FaultListener_ptr
FTRT::FaultListener::_duplicate (FaultListener_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
FTRT::FaultListener::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_FTRT_FaultListener[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  27,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f466175), 
  ACE_NTOHL (0x6c744c69), 
  ACE_NTOHL (0x7374656e), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:FTRT/FaultListener:1.0
    14,
  ACE_NTOHL (0x4661756c), 
  ACE_NTOHL (0x744c6973), 
  ACE_NTOHL (0x74656e65), 
  ACE_NTOHL (0x72000000),  // name = FaultListener
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_FaultListener (
    CORBA::tk_objref,
    sizeof (_oc_FTRT_FaultListener),
    (char *) &_oc_FTRT_FaultListener,
    0,
    sizeof (FTRT::FaultListener)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_FaultListener =
    &_tc_TAO_tc_FTRT_FaultListener;
}

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

static const CORBA::Long _oc_FTRT_AMI_FaultListenerExceptionHolder[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  9,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL::1.0
    33,
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4661756c), 
  ACE_NTOHL (0x744c6973), 
  ACE_NTOHL (0x74656e65), 
  ACE_NTOHL (0x72457863), 
  ACE_NTOHL (0x65707469), 
  ACE_NTOHL (0x6f6e486f), 
  ACE_NTOHL (0x6c646572), 
  ACE_NTOHL (0x0),  // name = AMI_FaultListenerExceptionHolder
    0, // value modifier
  CORBA::tk_value, // typecode kind
  64, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    24,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x45786365), 
    ACE_NTOHL (0x7074696f), 
    ACE_NTOHL (0x6e486f6c), 
    ACE_NTOHL (0x6465723a), 
    ACE_NTOHL (0x312e3000),  // repository ID = IDL:ExceptionHolder:1.0
        16,
    ACE_NTOHL (0x45786365), 
    ACE_NTOHL (0x7074696f), 
    ACE_NTOHL (0x6e486f6c), 
    ACE_NTOHL (0x64657200),  // name = ExceptionHolder
        0, // value modifier
    CORBA::tk_null, // no stateful base valuetype

0, // member count
    
0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_AMI_FaultListenerExceptionHolder (
    CORBA::tk_value,
    sizeof (_oc_FTRT_AMI_FaultListenerExceptionHolder),
    (char *) &_oc_FTRT_AMI_FaultListenerExceptionHolder,
    0,
    sizeof (FTRT::AMI_FaultListenerExceptionHolder)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_AMI_FaultListenerExceptionHolder =
    &_tc_TAO_tc_FTRT_AMI_FaultListenerExceptionHolder;
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/valuetype_cs.cpp:66

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_FaultListenerExceptionHolder>::tao_add_ref (
    FTRT::AMI_FaultListenerExceptionHolder * p
  )
{
  CORBA::add_ref (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_FaultListenerExceptionHolder>::tao_remove_ref (
    FTRT::AMI_FaultListenerExceptionHolder * p
  )
{
  CORBA::remove_ref (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_FaultListenerExceptionHolder>::tao_release (
    FTRT::AMI_FaultListenerExceptionHolder * p
  )
{
  CORBA::remove_ref (p);
}

FTRT::AMI_FaultListenerExceptionHolder *
FTRT::AMI_FaultListenerExceptionHolder::_downcast (CORBA::ValueBase *v)
{
  if (v == 0)
    {
      return 0;
    }
  
  return dynamic_cast< ::FTRT::AMI_FaultListenerExceptionHolder * > (v);
}

const char *
FTRT::AMI_FaultListenerExceptionHolder::_tao_obv_repository_id (void) const
{
  return this->_tao_obv_static_repository_id ();
}

void
FTRT::AMI_FaultListenerExceptionHolder::_tao_any_destructor (void *_tao_void_pointer)
{
  AMI_FaultListenerExceptionHolder *_tao_tmp_pointer =
    static_cast<
        AMI_FaultListenerExceptionHolder *> (
        _tao_void_pointer
      );
  CORBA::remove_ref (_tao_tmp_pointer);
}

CORBA::Boolean FTRT::AMI_FaultListenerExceptionHolder::_tao_marshal_v (TAO_OutputCDR & strm)
{
  return this->_tao_marshal__FTRT_AMI_FaultListenerExceptionHolder (strm);
}

CORBA::Boolean FTRT::AMI_FaultListenerExceptionHolder::_tao_unmarshal_v (TAO_InputCDR & strm)
{
  return this->_tao_unmarshal__FTRT_AMI_FaultListenerExceptionHolder (strm);
}

CORBA::Boolean FTRT::AMI_FaultListenerExceptionHolder::_tao_unmarshal (
    TAO_InputCDR &strm,
    AMI_FaultListenerExceptionHolder *&new_object
  )
{
  CORBA::ValueBase *base = 0;
  CORBA::ValueFactory_var factory;
  CORBA::Boolean retval =
    CORBA::ValueBase::_tao_unmarshal_pre (
        strm,
        factory.out (),
        base,
        AMI_FaultListenerExceptionHolder::_tao_obv_static_repository_id ()
      );
  
  if (retval == 0)
    {
      return 0;
    }
  
  if (factory.in () != 0)
    {
      base = factory->create_for_unmarshal ();
      
      if (base == 0)
        {
          return 0;  // %! except.?
        }
      
      retval = base->_tao_unmarshal_v (strm);
      
      if (retval == 0)
        {
          return 0;
        }
    }
  
  // Now base must be null or point to the unmarshaled object.
  // Align the pointer to the right subobject.
  new_object = AMI_FaultListenerExceptionHolder::_downcast (base);
  return retval;
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/valuetype_init_cs.cpp:85

FTRT::AMI_FaultListenerExceptionHolder_init::AMI_FaultListenerExceptionHolder_init (void)
{
}

FTRT::AMI_FaultListenerExceptionHolder_init::~AMI_FaultListenerExceptionHolder_init (void)
{
}

FTRT::AMI_FaultListenerExceptionHolder_init *
FTRT::AMI_FaultListenerExceptionHolder_init::_downcast (CORBA::ValueFactoryBase *v)
{
  if (v == 0)
    {
      return 0;
    }
  
  return dynamic_cast< ::FTRT::AMI_FaultListenerExceptionHolder_init * > (v);
}

const char* 
FTRT::AMI_FaultListenerExceptionHolder_init::tao_repository_id (void)
{
  return ::FTRT::AMI_FaultListenerExceptionHolder::_tao_obv_static_repository_id ();
}

CORBA::ValueBase *
FTRT::AMI_FaultListenerExceptionHolder_init::create_for_unmarshal (ACE_ENV_SINGLE_ARG_DECL)
{
  CORBA::ValueBase *ret_val = 0;
  ACE_NEW_THROW_EX (
      ret_val,
      OBV_FTRT::AMI_FaultListenerExceptionHolder,
      CORBA::NO_MEMORY ()
    );
  return ret_val;
}

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

// Traits specializations for FTRT::AMI_FaultListenerHandler.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::AMI_FaultListenerHandler_ptr
TAO::Objref_Traits<FTRT::AMI_FaultListenerHandler>::tao_duplicate (
    FTRT::AMI_FaultListenerHandler_ptr p
  )
{
  return FTRT::AMI_FaultListenerHandler::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<FTRT::AMI_FaultListenerHandler>::tao_release (
    FTRT::AMI_FaultListenerHandler_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::AMI_FaultListenerHandler_ptr
TAO::Objref_Traits<FTRT::AMI_FaultListenerHandler>::tao_nil (void)
{
  return FTRT::AMI_FaultListenerHandler::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<FTRT::AMI_FaultListenerHandler>::tao_marshal (
    FTRT::AMI_FaultListenerHandler_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

FTRT::AMI_FaultListenerHandler::AMI_FaultListenerHandler (void)
 : the_TAO_AMI_FaultListenerHandler_Proxy_Broker_ (0)
{
  this->FTRT_AMI_FaultListenerHandler_setup_collocation ();
}

void
FTRT::AMI_FaultListenerHandler::FTRT_AMI_FaultListenerHandler_setup_collocation ()
{
  if (::FTRT__TAO_AMI_FaultListenerHandler_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_AMI_FaultListenerHandler_Proxy_Broker_ =
        ::FTRT__TAO_AMI_FaultListenerHandler_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->Messaging_ReplyHandler_setup_collocation ();
}

FTRT::AMI_FaultListenerHandler::~AMI_FaultListenerHandler (void)
{}

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

FTRT::AMI_FaultListenerHandler_ptr
FTRT::AMI_FaultListenerHandler::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<AMI_FaultListenerHandler>::narrow (
        _tao_objref,
        "IDL:AMI_FaultListenerHandler:1.0",
        FTRT__TAO_AMI_FaultListenerHandler_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::AMI_FaultListenerHandler_ptr
FTRT::AMI_FaultListenerHandler::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<AMI_FaultListenerHandler>::unchecked_narrow (
        _tao_objref,
        "IDL:AMI_FaultListenerHandler:1.0",
        FTRT__TAO_AMI_FaultListenerHandler_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::AMI_FaultListenerHandler_ptr
FTRT::AMI_FaultListenerHandler::_duplicate (AMI_FaultListenerHandler_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
FTRT::AMI_FaultListenerHandler::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:ReplyHandler:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:AMI_FaultListenerHandler: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* FTRT::AMI_FaultListenerHandler::_interface_repository_id (void) const
{
  return "IDL:AMI_FaultListenerHandler:1.0";
}

CORBA::Boolean
FTRT::AMI_FaultListenerHandler::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_FTRT_AMI_FaultListenerHandler[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  33,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4661756c), 
  ACE_NTOHL (0x744c6973), 
  ACE_NTOHL (0x74656e65), 
  ACE_NTOHL (0x7248616e), 
  ACE_NTOHL (0x646c6572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:AMI_FaultListenerHandler:1.0
    25,
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4661756c), 
  ACE_NTOHL (0x744c6973), 
  ACE_NTOHL (0x74656e65), 
  ACE_NTOHL (0x7248616e), 
  ACE_NTOHL (0x646c6572), 
  ACE_NTOHL (0x0),  // name = AMI_FaultListenerHandler
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_AMI_FaultListenerHandler (
    CORBA::tk_objref,
    sizeof (_oc_FTRT_AMI_FaultListenerHandler),
    (char *) &_oc_FTRT_AMI_FaultListenerHandler,
    0,
    sizeof (FTRT::AMI_FaultListenerHandler)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_AMI_FaultListenerHandler =
    &_tc_TAO_tc_FTRT_AMI_FaultListenerHandler;
}

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

static const CORBA::Long _oc_FTRT_ManagerInfo[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  25,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f4d616e), 
  ACE_NTOHL (0x61676572), 
  ACE_NTOHL (0x496e666f), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:FTRT/ManagerInfo:1.0
    12,
  ACE_NTOHL (0x4d616e61), 
  ACE_NTOHL (0x67657249), 
  ACE_NTOHL (0x6e666f00),  // name = ManagerInfo
  2, // member count
    13,
  ACE_NTOHL (0x7468655f), 
  ACE_NTOHL (0x6c6f6361), 
  ACE_NTOHL (0x74696f6e), 
  ACE_NTOHL (0x0),  // name = the_location
    CORBA::tk_alias, // typecode kind for typedefs
  368, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    22,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x46545254), 
    ACE_NTOHL (0x2f4c6f63), 
    ACE_NTOHL (0x6174696f), 
    ACE_NTOHL (0x6e3a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:FTRT/Location:1.0
        9,
    ACE_NTOHL (0x4c6f6361), 
    ACE_NTOHL (0x74696f6e), 
    ACE_NTOHL (0x0),  // name = Location
        CORBA::tk_alias, // typecode kind for typedefs
    312, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      31,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x6f6d672e), 
      ACE_NTOHL (0x6f72672f), 
      ACE_NTOHL (0x436f734e), 
      ACE_NTOHL (0x616d696e), 
      ACE_NTOHL (0x672f4e61), 
      ACE_NTOHL (0x6d653a31), 
      ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNaming/Name:1.0
            5,
      ACE_NTOHL (0x4e616d65), 
      ACE_NTOHL (0x0),  // name = Name
            CORBA::tk_sequence, // typecode kind
      252, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        CORBA::tk_struct, // typecode kind
        236, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          40,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x436f734e), 
          ACE_NTOHL (0x616d696e), 
          ACE_NTOHL (0x672f4e61), 
          ACE_NTOHL (0x6d65436f), 
          ACE_NTOHL (0x6d706f6e), 
          ACE_NTOHL (0x656e743a), 
          ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosNaming/NameComponent:1.0
                    14,
          ACE_NTOHL (0x4e616d65), 
          ACE_NTOHL (0x436f6d70), 
          ACE_NTOHL (0x6f6e656e), 
          ACE_NTOHL (0x74000000),  // name = NameComponent
          2, // member count
                    3,
          ACE_NTOHL (0x69640000),  // name = id
                    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

          5,
          ACE_NTOHL (0x6b696e64), 
          ACE_NTOHL (0x0),  // name = kind
                    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


        0U,



  4,
  ACE_NTOHL (0x696f7200),  // name = ior
    CORBA::tk_objref, // typecode kind
  64, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    32,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x46545254), 
    ACE_NTOHL (0x2f4f626a), 
    ACE_NTOHL (0x65637447), 
    ACE_NTOHL (0x726f7570), 
    ACE_NTOHL (0x4d616e61), 
    ACE_NTOHL (0x6765723a), 
    ACE_NTOHL (0x312e3000),  // repository ID = IDL:FTRT/ObjectGroupManager:1.0
        19,
    ACE_NTOHL (0x4f626a65), 
    ACE_NTOHL (0x63744772), 
    ACE_NTOHL (0x6f75704d), 
    ACE_NTOHL (0x616e6167), 
    ACE_NTOHL (0x65720000),  // name = ObjectGroupManager
    
};

static CORBA::TypeCode _tc_TAO_tc_FTRT_ManagerInfo (
    CORBA::tk_struct,
    sizeof (_oc_FTRT_ManagerInfo),
    (char *) &_oc_FTRT_ManagerInfo,
    0,
    sizeof (FTRT::ManagerInfo)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_ManagerInfo =
    &_tc_TAO_tc_FTRT_ManagerInfo;
}

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

void 
FTRT::ManagerInfo::_tao_any_destructor (
    void *_tao_void_pointer
  )
{
  ManagerInfo *_tao_tmp_pointer =
    static_cast<ManagerInfo *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

FTRT::PredecessorUnreachable::PredecessorUnreachable (void)
  : CORBA::UserException (
        "IDL:FTRT/PredecessorUnreachable:1.0",
        "PredecessorUnreachable"
      )
{
}

FTRT::PredecessorUnreachable::~PredecessorUnreachable (void)
{
}

FTRT::PredecessorUnreachable::PredecessorUnreachable (const ::FTRT::PredecessorUnreachable &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

FTRT::PredecessorUnreachable&
FTRT::PredecessorUnreachable::operator= (const ::FTRT::PredecessorUnreachable &_tao_excp)
{
  this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
  return *this;
}

void FTRT::PredecessorUnreachable::_tao_any_destructor (void *_tao_void_pointer)
{
  PredecessorUnreachable *_tao_tmp_pointer =
    static_cast<PredecessorUnreachable*> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

CORBA::Exception *FTRT::PredecessorUnreachable::_alloc (void)
{
  CORBA::Exception *retval = 0;
  ACE_NEW_RETURN (retval, ::FTRT::PredecessorUnreachable, 0);
  return retval;
}

CORBA::Exception *
FTRT::PredecessorUnreachable::_tao_duplicate (void) const
{
  CORBA::Exception *result;
  ACE_NEW_RETURN (
      result,
      ::FTRT::PredecessorUnreachable (*this),
      0
    );
  return result;
}

void FTRT::PredecessorUnreachable::_raise (void) const
{
  TAO_RAISE (*this);
}

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

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

// TAO extension - the virtual _type method.
CORBA::TypeCode_ptr FTRT::PredecessorUnreachable::_type (void) const
{
  return ::FTRT::_tc_PredecessorUnreachable;
}

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

static const CORBA::Long _oc_FTRT_PredecessorUnreachable[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  36,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f507265), 
  ACE_NTOHL (0x64656365), 
  ACE_NTOHL (0x73736f72), 
  ACE_NTOHL (0x556e7265), 
  ACE_NTOHL (0x61636861), 
  ACE_NTOHL (0x626c653a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:FTRT/PredecessorUnreachable:1.0
    23,
  ACE_NTOHL (0x50726564), 
  ACE_NTOHL (0x65636573), 
  ACE_NTOHL (0x736f7255), 
  ACE_NTOHL (0x6e726561), 
  ACE_NTOHL (0x63686162), 
  ACE_NTOHL (0x6c650000),  // name = PredecessorUnreachable
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_PredecessorUnreachable (
    CORBA::tk_except,
    sizeof (_oc_FTRT_PredecessorUnreachable),
    (char *) &_oc_FTRT_PredecessorUnreachable,
    0,
    sizeof (FTRT::PredecessorUnreachable)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_PredecessorUnreachable =
    &_tc_TAO_tc_FTRT_PredecessorUnreachable;
}

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

#if !defined (_FTRT_MANAGERINFOLIST_CS_)
#define _FTRT_MANAGERINFOLIST_CS_

FTRT::ManagerInfoList::ManagerInfoList (void)
{}

FTRT::ManagerInfoList::ManagerInfoList (
    CORBA::ULong max
  )
  : TAO_Unbounded_Sequence<
        FTRT::ManagerInfo
      >
    (max)
{}

FTRT::ManagerInfoList::ManagerInfoList (
    CORBA::ULong max,
    CORBA::ULong length,
    FTRT::ManagerInfo * buffer,
    CORBA::Boolean release
  )
  : TAO_Unbounded_Sequence<
        FTRT::ManagerInfo
      >
    (max, length, buffer, release)
{}

FTRT::ManagerInfoList::ManagerInfoList (
    const ManagerInfoList &seq
  )
  : TAO_Unbounded_Sequence<
        FTRT::ManagerInfo
      >
    (seq)
{}

FTRT::ManagerInfoList::~ManagerInfoList (void)
{}

void FTRT::ManagerInfoList::_tao_any_destructor (
    void * _tao_void_pointer
  )
{
  ManagerInfoList * _tao_tmp_pointer =
    static_cast<ManagerInfoList *> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

#endif /* end #if !defined */

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

static const CORBA::Long _oc_FTRT_ManagerInfoList[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  29,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f4d616e), 
  ACE_NTOHL (0x61676572), 
  ACE_NTOHL (0x496e666f), 
  ACE_NTOHL (0x4c697374), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:FTRT/ManagerInfoList:1.0
    16,
  ACE_NTOHL (0x4d616e61), 
  ACE_NTOHL (0x67657249), 
  ACE_NTOHL (0x6e666f4c), 
  ACE_NTOHL (0x69737400),  // name = ManagerInfoList
    CORBA::tk_sequence, // typecode kind
  548, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    CORBA::tk_struct, // typecode kind
    532, // encapsulation length
      TAO_ENCAP_BYTE_ORDER, // byte order
      25,
      ACE_NTOHL (0x49444c3a), 
      ACE_NTOHL (0x46545254), 
      ACE_NTOHL (0x2f4d616e), 
      ACE_NTOHL (0x61676572), 
      ACE_NTOHL (0x496e666f), 
      ACE_NTOHL (0x3a312e30), 
      ACE_NTOHL (0x0),  // repository ID = IDL:FTRT/ManagerInfo:1.0
            12,
      ACE_NTOHL (0x4d616e61), 
      ACE_NTOHL (0x67657249), 
      ACE_NTOHL (0x6e666f00),  // name = ManagerInfo
      2, // member count
            13,
      ACE_NTOHL (0x7468655f), 
      ACE_NTOHL (0x6c6f6361), 
      ACE_NTOHL (0x74696f6e), 
      ACE_NTOHL (0x0),  // name = the_location
            CORBA::tk_alias, // typecode kind for typedefs
      368, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        22,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x46545254), 
        ACE_NTOHL (0x2f4c6f63), 
        ACE_NTOHL (0x6174696f), 
        ACE_NTOHL (0x6e3a312e), 
        ACE_NTOHL (0x30000000),  // repository ID = IDL:FTRT/Location:1.0
                9,
        ACE_NTOHL (0x4c6f6361), 
        ACE_NTOHL (0x74696f6e), 
        ACE_NTOHL (0x0),  // name = Location
                CORBA::tk_alias, // typecode kind for typedefs
        312, // encapsulation length
          TAO_ENCAP_BYTE_ORDER, // byte order
          31,
          ACE_NTOHL (0x49444c3a), 
          ACE_NTOHL (0x6f6d672e), 
          ACE_NTOHL (0x6f72672f), 
          ACE_NTOHL (0x436f734e), 
          ACE_NTOHL (0x616d696e), 
          ACE_NTOHL (0x672f4e61), 
          ACE_NTOHL (0x6d653a31), 
          ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNaming/Name:1.0
                    5,
          ACE_NTOHL (0x4e616d65), 
          ACE_NTOHL (0x0),  // name = Name
                    CORBA::tk_sequence, // typecode kind
          252, // encapsulation length
            TAO_ENCAP_BYTE_ORDER, // byte order
            CORBA::tk_struct, // typecode kind
            236, // encapsulation length
              TAO_ENCAP_BYTE_ORDER, // byte order
              40,
              ACE_NTOHL (0x49444c3a), 
              ACE_NTOHL (0x6f6d672e), 
              ACE_NTOHL (0x6f72672f), 
              ACE_NTOHL (0x436f734e), 
              ACE_NTOHL (0x616d696e), 
              ACE_NTOHL (0x672f4e61), 
              ACE_NTOHL (0x6d65436f), 
              ACE_NTOHL (0x6d706f6e), 
              ACE_NTOHL (0x656e743a), 
              ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosNaming/NameComponent:1.0
                            14,
              ACE_NTOHL (0x4e616d65), 
              ACE_NTOHL (0x436f6d70), 
              ACE_NTOHL (0x6f6e656e), 
              ACE_NTOHL (0x74000000),  // name = NameComponent
              2, // member count
                            3,
              ACE_NTOHL (0x69640000),  // name = id
                            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

              5,
              ACE_NTOHL (0x6b696e64), 
              ACE_NTOHL (0x0),  // name = kind
                            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


            0U,



      4,
      ACE_NTOHL (0x696f7200),  // name = ior
            CORBA::tk_objref, // typecode kind
      64, // encapsulation length
        TAO_ENCAP_BYTE_ORDER, // byte order
        32,
        ACE_NTOHL (0x49444c3a), 
        ACE_NTOHL (0x46545254), 
        ACE_NTOHL (0x2f4f626a), 
        ACE_NTOHL (0x65637447), 
        ACE_NTOHL (0x726f7570), 
        ACE_NTOHL (0x4d616e61), 
        ACE_NTOHL (0x6765723a), 
        ACE_NTOHL (0x312e3000),  // repository ID = IDL:FTRT/ObjectGroupManager:1.0
                19,
        ACE_NTOHL (0x4f626a65), 
        ACE_NTOHL (0x63744772), 
        ACE_NTOHL (0x6f75704d), 
        ACE_NTOHL (0x616e6167), 
        ACE_NTOHL (0x65720000),  // name = ObjectGroupManager
        

    0U,

};

static CORBA::TypeCode _tc_TAO_tc_FTRT_ManagerInfoList (
    CORBA::tk_alias,
    sizeof (_oc_FTRT_ManagerInfoList),
    (char *) &_oc_FTRT_ManagerInfoList,
    0,
    sizeof (FTRT::ManagerInfoList)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_ManagerInfoList =
    &_tc_TAO_tc_FTRT_ManagerInfoList;
}

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

FTRT::InvalidState::InvalidState (void)
  : CORBA::UserException (
        "IDL:FTRT/InvalidState:1.0",
        "InvalidState"
      )
{
}

FTRT::InvalidState::~InvalidState (void)
{
}

FTRT::InvalidState::InvalidState (const ::FTRT::InvalidState &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

FTRT::InvalidState&
FTRT::InvalidState::operator= (const ::FTRT::InvalidState &_tao_excp)
{
  this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
  return *this;
}

void FTRT::InvalidState::_tao_any_destructor (void *_tao_void_pointer)
{
  InvalidState *_tao_tmp_pointer =
    static_cast<InvalidState*> (_tao_void_pointer);
  delete _tao_tmp_pointer;
}

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

CORBA::Exception *FTRT::InvalidState::_alloc (void)
{
  CORBA::Exception *retval = 0;
  ACE_NEW_RETURN (retval, ::FTRT::InvalidState, 0);
  return retval;
}

CORBA::Exception *
FTRT::InvalidState::_tao_duplicate (void) const
{
  CORBA::Exception *result;
  ACE_NEW_RETURN (
      result,
      ::FTRT::InvalidState (*this),
      0
    );
  return result;
}

void FTRT::InvalidState::_raise (void) const
{
  TAO_RAISE (*this);
}

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

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

// TAO extension - the virtual _type method.
CORBA::TypeCode_ptr FTRT::InvalidState::_type (void) const
{
  return ::FTRT::_tc_InvalidState;
}

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

static const CORBA::Long _oc_FTRT_InvalidState[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  26,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f496e76), 
  ACE_NTOHL (0x616c6964), 
  ACE_NTOHL (0x53746174), 
  ACE_NTOHL (0x653a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:FTRT/InvalidState:1.0
    13,
  ACE_NTOHL (0x496e7661), 
  ACE_NTOHL (0x6c696453), 
  ACE_NTOHL (0x74617465), 
  ACE_NTOHL (0x0),  // name = InvalidState
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_InvalidState (
    CORBA::tk_except,
    sizeof (_oc_FTRT_InvalidState),
    (char *) &_oc_FTRT_InvalidState,
    0,
    sizeof (FTRT::InvalidState)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_InvalidState =
    &_tc_TAO_tc_FTRT_InvalidState;
}

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

// Traits specializations for FTRT::ObjectGroupManager.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::ObjectGroupManager_ptr
TAO::Objref_Traits<FTRT::ObjectGroupManager>::tao_duplicate (
    FTRT::ObjectGroupManager_ptr p
  )
{
  return FTRT::ObjectGroupManager::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<FTRT::ObjectGroupManager>::tao_release (
    FTRT::ObjectGroupManager_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::ObjectGroupManager_ptr
TAO::Objref_Traits<FTRT::ObjectGroupManager>::tao_nil (void)
{
  return FTRT::ObjectGroupManager::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<FTRT::ObjectGroupManager>::tao_marshal (
    FTRT::ObjectGroupManager_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

CORBA::Boolean FTRT::ObjectGroupManager::start (
    ::FTRT::FaultListener_ptr listener,
    ::FTRT::Location_out the_location
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< ACE_InputCDR::to_boolean>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::FaultListener>::in_arg_val _tao_listener (listener);
  TAO::Arg_Traits< ::FTRT::Location>::out_arg_val _tao_the_location (the_location);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_listener,
      &_tao_the_location
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "start",
      5,
      this->the_TAO_ObjectGroupManager_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/ami_cs.cpp:71

void
FTRT::ObjectGroupManager::sendc_start (
    ::FTRT::AMI_ObjectGroupManagerHandler_ptr ami_handler,
    ::FTRT::FaultListener_ptr listener
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::FaultListener>::in_arg_val _tao_listener (listener);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_listener
    };
  
  TAO::Asynch_Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "start",
      5,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      ami_handler,
      &FTRT::AMI_ObjectGroupManagerHandler::start_reply_stub
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

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

void FTRT::ObjectGroupManager::create_group (
    const ::FTRT::ManagerInfoList & info_list,
    ::CORBA::ULong object_group_ref_version
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::FTRT::PredecessorUnreachable
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::ManagerInfoList>::in_arg_val _tao_info_list (info_list);
  TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_object_group_ref_version (object_group_ref_version);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_info_list,
      &_tao_object_group_ref_version
    };
  
  static TAO::Exception_Data
  _tao_FTRT_ObjectGroupManager_create_group_exceptiondata [] = 
    {
      {
        "IDL:FTRT/PredecessorUnreachable:1.0",
        FTRT::PredecessorUnreachable::_alloc,
        FTRT::_tc_PredecessorUnreachable
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "create_group",
      12,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_FTRT_ObjectGroupManager_create_group_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/ami_cs.cpp:71

void
FTRT::ObjectGroupManager::sendc_create_group (
    ::FTRT::AMI_ObjectGroupManagerHandler_ptr ami_handler,
    const ::FTRT::ManagerInfoList & info_list,
    ::CORBA::ULong object_group_ref_version
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::ManagerInfoList>::in_arg_val _tao_info_list (info_list);
  TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_object_group_ref_version (object_group_ref_version);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_info_list,
      &_tao_object_group_ref_version
    };
  
  TAO::Asynch_Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "create_group",
      12,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      ami_handler,
      &FTRT::AMI_ObjectGroupManagerHandler::create_group_reply_stub
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

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

void FTRT::ObjectGroupManager::join_group (
    const ::FTRT::ManagerInfo & info
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::ManagerInfo>::in_arg_val _tao_info (info);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_info
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "join_group",
      10,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_,
      TAO::TAO_ONEWAY_INVOCATION
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

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

void FTRT::ObjectGroupManager::add_member (
    const ::FTRT::ManagerInfo & info,
    ::CORBA::ULong object_group_ref_version
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::ManagerInfo>::in_arg_val _tao_info (info);
  TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_object_group_ref_version (object_group_ref_version);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_info,
      &_tao_object_group_ref_version
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "add_member",
      10,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/ami_cs.cpp:71

void
FTRT::ObjectGroupManager::sendc_add_member (
    ::FTRT::AMI_ObjectGroupManagerHandler_ptr ami_handler,
    const ::FTRT::ManagerInfo & info,
    ::CORBA::ULong object_group_ref_version
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::ManagerInfo>::in_arg_val _tao_info (info);
  TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_object_group_ref_version (object_group_ref_version);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_info,
      &_tao_object_group_ref_version
    };
  
  TAO::Asynch_Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "add_member",
      10,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      ami_handler,
      &FTRT::AMI_ObjectGroupManagerHandler::add_member_reply_stub
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

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

void FTRT::ObjectGroupManager::remove_member (
    const ::FTRT::Location & crashed_location,
    ::CORBA::ULong object_group_ref_version
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::Location>::in_arg_val _tao_crashed_location (crashed_location);
  TAO::Arg_Traits< CORBA::ULong>::in_arg_val _tao_object_group_ref_version (object_group_ref_version);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_crashed_location,
      &_tao_object_group_ref_version
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "remove_member",
      13,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_,
      TAO::TAO_ONEWAY_INVOCATION
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

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

void FTRT::ObjectGroupManager::set_state (
    const ::FTRT::State & stat
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::FTRT::InvalidState
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::State>::in_arg_val _tao_stat (stat);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_stat
    };
  
  static TAO::Exception_Data
  _tao_FTRT_ObjectGroupManager_set_state_exceptiondata [] = 
    {
      {
        "IDL:FTRT/InvalidState:1.0",
        FTRT::InvalidState::_alloc,
        FTRT::_tc_InvalidState
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "set_state",
      9,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_FTRT_ObjectGroupManager_set_state_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

// TAO_IDL - Generated from
// be/be_visitor_operation/ami_cs.cpp:71

void
FTRT::ObjectGroupManager::sendc_set_state (
    ::FTRT::AMI_ObjectGroupManagerHandler_ptr ami_handler,
    const ::FTRT::State & stat
    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_ObjectGroupManager_Proxy_Broker_ == 0)
    {
      FTRT_ObjectGroupManager_setup_collocation ();
    }
  
  TAO::Arg_Traits<void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::State>::in_arg_val _tao_stat (stat);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_stat
    };
  
  TAO::Asynch_Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "set_state",
      9,
      this->the_TAO_ObjectGroupManager_Proxy_Broker_
    );
  
  _tao_call.invoke (
      ami_handler,
      &FTRT::AMI_ObjectGroupManagerHandler::set_state_reply_stub
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

FTRT::ObjectGroupManager::ObjectGroupManager (void)
 : the_TAO_ObjectGroupManager_Proxy_Broker_ (0)
{
  this->FTRT_ObjectGroupManager_setup_collocation ();
}

void
FTRT::ObjectGroupManager::FTRT_ObjectGroupManager_setup_collocation ()
{
  if (::FTRT__TAO_ObjectGroupManager_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ObjectGroupManager_Proxy_Broker_ =
        ::FTRT__TAO_ObjectGroupManager_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->FTRT_FaultListener_setup_collocation ();
}

FTRT::ObjectGroupManager::~ObjectGroupManager (void)
{}

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

FTRT::ObjectGroupManager_ptr
FTRT::ObjectGroupManager::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ObjectGroupManager>::narrow (
        _tao_objref,
        "IDL:FTRT/ObjectGroupManager:1.0",
        FTRT__TAO_ObjectGroupManager_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::ObjectGroupManager_ptr
FTRT::ObjectGroupManager::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ObjectGroupManager>::unchecked_narrow (
        _tao_objref,
        "IDL:FTRT/ObjectGroupManager:1.0",
        FTRT__TAO_ObjectGroupManager_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::ObjectGroupManager_ptr
FTRT::ObjectGroupManager::_duplicate (ObjectGroupManager_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
FTRT::ObjectGroupManager::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:FTRT/FaultListener:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:FTRT/ObjectGroupManager: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* FTRT::ObjectGroupManager::_interface_repository_id (void) const
{
  return "IDL:FTRT/ObjectGroupManager:1.0";
}

CORBA::Boolean
FTRT::ObjectGroupManager::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_FTRT_ObjectGroupManager[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  32,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x46545254), 
  ACE_NTOHL (0x2f4f626a), 
  ACE_NTOHL (0x65637447), 
  ACE_NTOHL (0x726f7570), 
  ACE_NTOHL (0x4d616e61), 
  ACE_NTOHL (0x6765723a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:FTRT/ObjectGroupManager:1.0
    19,
  ACE_NTOHL (0x4f626a65), 
  ACE_NTOHL (0x63744772), 
  ACE_NTOHL (0x6f75704d), 
  ACE_NTOHL (0x616e6167), 
  ACE_NTOHL (0x65720000),  // name = ObjectGroupManager
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_ObjectGroupManager (
    CORBA::tk_objref,
    sizeof (_oc_FTRT_ObjectGroupManager),
    (char *) &_oc_FTRT_ObjectGroupManager,
    0,
    sizeof (FTRT::ObjectGroupManager)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_ObjectGroupManager =
    &_tc_TAO_tc_FTRT_ObjectGroupManager;
}

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

static const CORBA::Long _oc_FTRT_AMI_ObjectGroupManagerExceptionHolder[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  9,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL::1.0
    38,
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4f626a65), 
  ACE_NTOHL (0x63744772), 
  ACE_NTOHL (0x6f75704d), 
  ACE_NTOHL (0x616e6167), 
  ACE_NTOHL (0x65724578), 
  ACE_NTOHL (0x63657074), 
  ACE_NTOHL (0x696f6e48), 
  ACE_NTOHL (0x6f6c6465), 
  ACE_NTOHL (0x72000000),  // name = AMI_ObjectGroupManagerExceptionHolder
    0, // value modifier
  CORBA::tk_value, // typecode kind
  64, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    24,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x45786365), 
    ACE_NTOHL (0x7074696f), 
    ACE_NTOHL (0x6e486f6c), 
    ACE_NTOHL (0x6465723a), 
    ACE_NTOHL (0x312e3000),  // repository ID = IDL:ExceptionHolder:1.0
        16,
    ACE_NTOHL (0x45786365), 
    ACE_NTOHL (0x7074696f), 
    ACE_NTOHL (0x6e486f6c), 
    ACE_NTOHL (0x64657200),  // name = ExceptionHolder
        0, // value modifier
    CORBA::tk_null, // no stateful base valuetype

0, // member count
    
0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_AMI_ObjectGroupManagerExceptionHolder (
    CORBA::tk_value,
    sizeof (_oc_FTRT_AMI_ObjectGroupManagerExceptionHolder),
    (char *) &_oc_FTRT_AMI_ObjectGroupManagerExceptionHolder,
    0,
    sizeof (FTRT::AMI_ObjectGroupManagerExceptionHolder)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_AMI_ObjectGroupManagerExceptionHolder =
    &_tc_TAO_tc_FTRT_AMI_ObjectGroupManagerExceptionHolder;
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/valuetype_cs.cpp:66

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_ObjectGroupManagerExceptionHolder>::tao_add_ref (
    FTRT::AMI_ObjectGroupManagerExceptionHolder * p
  )
{
  CORBA::add_ref (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_ObjectGroupManagerExceptionHolder>::tao_remove_ref (
    FTRT::AMI_ObjectGroupManagerExceptionHolder * p
  )
{
  CORBA::remove_ref (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION 
void
TAO::Value_Traits<FTRT::AMI_ObjectGroupManagerExceptionHolder>::tao_release (
    FTRT::AMI_ObjectGroupManagerExceptionHolder * p
  )
{
  CORBA::remove_ref (p);
}

FTRT::AMI_ObjectGroupManagerExceptionHolder *
FTRT::AMI_ObjectGroupManagerExceptionHolder::_downcast (CORBA::ValueBase *v)
{
  if (v == 0)
    {
      return 0;
    }
  
  return dynamic_cast< ::FTRT::AMI_ObjectGroupManagerExceptionHolder * > (v);
}

const char *
FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_obv_repository_id (void) const
{
  return this->_tao_obv_static_repository_id ();
}

void
FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_any_destructor (void *_tao_void_pointer)
{
  AMI_ObjectGroupManagerExceptionHolder *_tao_tmp_pointer =
    static_cast<
        AMI_ObjectGroupManagerExceptionHolder *> (
        _tao_void_pointer
      );
  CORBA::remove_ref (_tao_tmp_pointer);
}

CORBA::Boolean FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_marshal_v (TAO_OutputCDR & strm)
{
  return this->_tao_marshal__FTRT_AMI_ObjectGroupManagerExceptionHolder (strm);
}

CORBA::Boolean FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_unmarshal_v (TAO_InputCDR & strm)
{
  return this->_tao_unmarshal__FTRT_AMI_ObjectGroupManagerExceptionHolder (strm);
}

CORBA::Boolean FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_unmarshal (
    TAO_InputCDR &strm,
    AMI_ObjectGroupManagerExceptionHolder *&new_object
  )
{
  CORBA::ValueBase *base = 0;
  CORBA::ValueFactory_var factory;
  CORBA::Boolean retval =
    CORBA::ValueBase::_tao_unmarshal_pre (
        strm,
        factory.out (),
        base,
        AMI_ObjectGroupManagerExceptionHolder::_tao_obv_static_repository_id ()
      );
  
  if (retval == 0)
    {
      return 0;
    }
  
  if (factory.in () != 0)
    {
      base = factory->create_for_unmarshal ();
      
      if (base == 0)
        {
          return 0;  // %! except.?
        }
      
      retval = base->_tao_unmarshal_v (strm);
      
      if (retval == 0)
        {
          return 0;
        }
    }
  
  // Now base must be null or point to the unmarshaled object.
  // Align the pointer to the right subobject.
  new_object = AMI_ObjectGroupManagerExceptionHolder::_downcast (base);
  return retval;
}

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

// Traits specializations for FTRT::AMI_ObjectGroupManagerHandler.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::AMI_ObjectGroupManagerHandler_ptr
TAO::Objref_Traits<FTRT::AMI_ObjectGroupManagerHandler>::tao_duplicate (
    FTRT::AMI_ObjectGroupManagerHandler_ptr p
  )
{
  return FTRT::AMI_ObjectGroupManagerHandler::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<FTRT::AMI_ObjectGroupManagerHandler>::tao_release (
    FTRT::AMI_ObjectGroupManagerHandler_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
FTRT::AMI_ObjectGroupManagerHandler_ptr
TAO::Objref_Traits<FTRT::AMI_ObjectGroupManagerHandler>::tao_nil (void)
{
  return FTRT::AMI_ObjectGroupManagerHandler::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<FTRT::AMI_ObjectGroupManagerHandler>::tao_marshal (
    FTRT::AMI_ObjectGroupManagerHandler_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void FTRT::AMI_ObjectGroupManagerHandler::start (
    ::CORBA::Boolean ami_return_val,
    const ::FTRT::Location & the_location
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ACE_InputCDR::to_boolean>::in_arg_val _tao_ami_return_val (ami_return_val);
  TAO::Arg_Traits< ::FTRT::Location>::in_arg_val _tao_the_location (the_location);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_ami_return_val,
      &_tao_the_location
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "start",
      5,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}
void
FTRT::AMI_ObjectGroupManagerHandler::start_reply_stub (
  TAO_InputCDR &_tao_in, 
  Messaging::ReplyHandler_ptr _tao_reply_handler,
  CORBA::ULong reply_status
  ACE_ENV_ARG_DECL)
{
  // Retrieve Reply Handler object.
  FTRT::AMI_ObjectGroupManagerHandler_var _tao_reply_handler_object =
    FTRT::AMI_ObjectGroupManagerHandler::_narrow (_tao_reply_handler ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  // Exception handling
  switch (reply_status)
  {
    case TAO_AMI_REPLY_OK:
    {

      ::CORBA::Boolean ami_return_val;
      ::FTRT::Location the_location;      // Demarshall all the arguments.
      if (!(

            (_tao_in >> CORBA::Any::to_boolean (ami_return_val)) &&
            (_tao_in >> the_location)
         ))
        ACE_THROW (CORBA::MARSHAL ());
      
      // Invoke the call back method.
      _tao_reply_handler_object->start (
          
          ami_return_val,
          
          the_location
          ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_USER_EXCEPTION:
    case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
    {
      const ACE_Message_Block* cdr = _tao_in.start ();
      
      AMI_ObjectGroupManagerExceptionHolder_var exception_holder_var;
      ACE_NEW (
          exception_holder_var,
          OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder ()
        );
      
      CORBA::OctetSeq _tao_marshaled_exception (
          cdr->length (),
          cdr->length (),
          (unsigned char*) cdr->rd_ptr (),
          0
        );
      exception_holder_var->marshaled_exception (_tao_marshaled_exception);
      
      if (reply_status == TAO_AMI_REPLY_SYSTEM_EXCEPTION)
        exception_holder_var->is_system_exception (1);
      else
        exception_holder_var->is_system_exception (0);
      
      exception_holder_var->byte_order (_tao_in.byte_order ());
      
      _tao_reply_handler_object->start_excep (
          exception_holder_var ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_NOT_OK:
      // @@ Michael: Not even the spec mentions this case.
      //             We have to think about this case.
      break;
  }
}



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

void FTRT::AMI_ObjectGroupManagerHandler::start_excep (
    ::FTRT::AMI_ObjectGroupManagerExceptionHolder * excep_holder
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::AMI_ObjectGroupManagerExceptionHolder>::in_arg_val _tao_excep_holder (excep_holder);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_excep_holder
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "start_excep",
      11,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

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

void FTRT::AMI_ObjectGroupManagerHandler::create_group (
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "create_group",
      12,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}
void
FTRT::AMI_ObjectGroupManagerHandler::create_group_reply_stub (
  TAO_InputCDR &_tao_in, 
  Messaging::ReplyHandler_ptr _tao_reply_handler,
  CORBA::ULong reply_status
  ACE_ENV_ARG_DECL)
{
  // Retrieve Reply Handler object.
  FTRT::AMI_ObjectGroupManagerHandler_var _tao_reply_handler_object =
    FTRT::AMI_ObjectGroupManagerHandler::_narrow (_tao_reply_handler ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  // Exception handling
  switch (reply_status)
  {
    case TAO_AMI_REPLY_OK:
    {
      // Demarshall all the arguments.
      // Invoke the call back method.
      _tao_reply_handler_object->create_group (
          
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_USER_EXCEPTION:
    case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
    {
      const ACE_Message_Block* cdr = _tao_in.start ();
      
      AMI_ObjectGroupManagerExceptionHolder_var exception_holder_var;
      ACE_NEW (
          exception_holder_var,
          OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder ()
        );
      
      CORBA::OctetSeq _tao_marshaled_exception (
          cdr->length (),
          cdr->length (),
          (unsigned char*) cdr->rd_ptr (),
          0
        );
      exception_holder_var->marshaled_exception (_tao_marshaled_exception);
      
      if (reply_status == TAO_AMI_REPLY_SYSTEM_EXCEPTION)
        exception_holder_var->is_system_exception (1);
      else
        exception_holder_var->is_system_exception (0);
      
      exception_holder_var->byte_order (_tao_in.byte_order ());
      
      _tao_reply_handler_object->create_group_excep (
          exception_holder_var ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_NOT_OK:
      // @@ Michael: Not even the spec mentions this case.
      //             We have to think about this case.
      break;
  }
}



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

void FTRT::AMI_ObjectGroupManagerHandler::create_group_excep (
    ::FTRT::AMI_ObjectGroupManagerExceptionHolder * excep_holder
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::AMI_ObjectGroupManagerExceptionHolder>::in_arg_val _tao_excep_holder (excep_holder);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_excep_holder
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "create_group_excep",
      18,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

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

void FTRT::AMI_ObjectGroupManagerHandler::add_member (
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "add_member",
      10,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}
void
FTRT::AMI_ObjectGroupManagerHandler::add_member_reply_stub (
  TAO_InputCDR &_tao_in, 
  Messaging::ReplyHandler_ptr _tao_reply_handler,
  CORBA::ULong reply_status
  ACE_ENV_ARG_DECL)
{
  // Retrieve Reply Handler object.
  FTRT::AMI_ObjectGroupManagerHandler_var _tao_reply_handler_object =
    FTRT::AMI_ObjectGroupManagerHandler::_narrow (_tao_reply_handler ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  // Exception handling
  switch (reply_status)
  {
    case TAO_AMI_REPLY_OK:
    {
      // Demarshall all the arguments.
      // Invoke the call back method.
      _tao_reply_handler_object->add_member (
          
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_USER_EXCEPTION:
    case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
    {
      const ACE_Message_Block* cdr = _tao_in.start ();
      
      AMI_ObjectGroupManagerExceptionHolder_var exception_holder_var;
      ACE_NEW (
          exception_holder_var,
          OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder ()
        );
      
      CORBA::OctetSeq _tao_marshaled_exception (
          cdr->length (),
          cdr->length (),
          (unsigned char*) cdr->rd_ptr (),
          0
        );
      exception_holder_var->marshaled_exception (_tao_marshaled_exception);
      
      if (reply_status == TAO_AMI_REPLY_SYSTEM_EXCEPTION)
        exception_holder_var->is_system_exception (1);
      else
        exception_holder_var->is_system_exception (0);
      
      exception_holder_var->byte_order (_tao_in.byte_order ());
      
      _tao_reply_handler_object->add_member_excep (
          exception_holder_var ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_NOT_OK:
      // @@ Michael: Not even the spec mentions this case.
      //             We have to think about this case.
      break;
  }
}



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

void FTRT::AMI_ObjectGroupManagerHandler::add_member_excep (
    ::FTRT::AMI_ObjectGroupManagerExceptionHolder * excep_holder
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::AMI_ObjectGroupManagerExceptionHolder>::in_arg_val _tao_excep_holder (excep_holder);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_excep_holder
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "add_member_excep",
      16,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

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

void FTRT::AMI_ObjectGroupManagerHandler::set_state (
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "set_state",
      9,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}
void
FTRT::AMI_ObjectGroupManagerHandler::set_state_reply_stub (
  TAO_InputCDR &_tao_in, 
  Messaging::ReplyHandler_ptr _tao_reply_handler,
  CORBA::ULong reply_status
  ACE_ENV_ARG_DECL)
{
  // Retrieve Reply Handler object.
  FTRT::AMI_ObjectGroupManagerHandler_var _tao_reply_handler_object =
    FTRT::AMI_ObjectGroupManagerHandler::_narrow (_tao_reply_handler ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
  
  // Exception handling
  switch (reply_status)
  {
    case TAO_AMI_REPLY_OK:
    {
      // Demarshall all the arguments.
      // Invoke the call back method.
      _tao_reply_handler_object->set_state (
          
          ACE_ENV_SINGLE_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_USER_EXCEPTION:
    case TAO_AMI_REPLY_SYSTEM_EXCEPTION:
    {
      const ACE_Message_Block* cdr = _tao_in.start ();
      
      AMI_ObjectGroupManagerExceptionHolder_var exception_holder_var;
      ACE_NEW (
          exception_holder_var,
          OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder ()
        );
      
      CORBA::OctetSeq _tao_marshaled_exception (
          cdr->length (),
          cdr->length (),
          (unsigned char*) cdr->rd_ptr (),
          0
        );
      exception_holder_var->marshaled_exception (_tao_marshaled_exception);
      
      if (reply_status == TAO_AMI_REPLY_SYSTEM_EXCEPTION)
        exception_holder_var->is_system_exception (1);
      else
        exception_holder_var->is_system_exception (0);
      
      exception_holder_var->byte_order (_tao_in.byte_order ());
      
      _tao_reply_handler_object->set_state_excep (
          exception_holder_var ACE_ENV_ARG_PARAMETER
        );
      ACE_CHECK;
      break;
    }
    case TAO_AMI_REPLY_NOT_OK:
      // @@ Michael: Not even the spec mentions this case.
      //             We have to think about this case.
      break;
  }
}



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

void FTRT::AMI_ObjectGroupManagerHandler::set_state_excep (
    ::FTRT::AMI_ObjectGroupManagerExceptionHolder * excep_holder
    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_AMI_ObjectGroupManagerHandler_Proxy_Broker_ == 0)
    {
      FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::FTRT::AMI_ObjectGroupManagerExceptionHolder>::in_arg_val _tao_excep_holder (excep_holder);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_excep_holder
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "set_state_excep",
      15,
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

FTRT::AMI_ObjectGroupManagerHandler::AMI_ObjectGroupManagerHandler (void)
 : the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_ (0)
{
  this->FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ();
}

void
FTRT::AMI_ObjectGroupManagerHandler::FTRT_AMI_ObjectGroupManagerHandler_setup_collocation ()
{
  if (::FTRT__TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_ =
        ::FTRT__TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->FTRT_AMI_FaultListenerHandler_setup_collocation ();
}

FTRT::AMI_ObjectGroupManagerHandler::~AMI_ObjectGroupManagerHandler (void)
{}

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

FTRT::AMI_ObjectGroupManagerHandler_ptr
FTRT::AMI_ObjectGroupManagerHandler::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<AMI_ObjectGroupManagerHandler>::narrow (
        _tao_objref,
        "IDL:AMI_ObjectGroupManagerHandler:1.0",
        FTRT__TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::AMI_ObjectGroupManagerHandler_ptr
FTRT::AMI_ObjectGroupManagerHandler::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<AMI_ObjectGroupManagerHandler>::unchecked_narrow (
        _tao_objref,
        "IDL:AMI_ObjectGroupManagerHandler:1.0",
        FTRT__TAO_AMI_ObjectGroupManagerHandler_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

FTRT::AMI_ObjectGroupManagerHandler_ptr
FTRT::AMI_ObjectGroupManagerHandler::_duplicate (AMI_ObjectGroupManagerHandler_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
FTRT::AMI_ObjectGroupManagerHandler::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:ReplyHandler:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:AMI_FaultListenerHandler:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:AMI_ObjectGroupManagerHandler: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* FTRT::AMI_ObjectGroupManagerHandler::_interface_repository_id (void) const
{
  return "IDL:AMI_ObjectGroupManagerHandler:1.0";
}

CORBA::Boolean
FTRT::AMI_ObjectGroupManagerHandler::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_FTRT_AMI_ObjectGroupManagerHandler[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  38,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4f626a65), 
  ACE_NTOHL (0x63744772), 
  ACE_NTOHL (0x6f75704d), 
  ACE_NTOHL (0x616e6167), 
  ACE_NTOHL (0x65724861), 
  ACE_NTOHL (0x6e646c65), 
  ACE_NTOHL (0x723a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:AMI_ObjectGroupManagerHandler:1.0
    30,
  ACE_NTOHL (0x414d495f), 
  ACE_NTOHL (0x4f626a65), 
  ACE_NTOHL (0x63744772), 
  ACE_NTOHL (0x6f75704d), 
  ACE_NTOHL (0x616e6167), 
  ACE_NTOHL (0x65724861), 
  ACE_NTOHL (0x6e646c65), 
  ACE_NTOHL (0x72000000),  // name = AMI_ObjectGroupManagerHandler
  };

static CORBA::TypeCode _tc_TAO_tc_FTRT_AMI_ObjectGroupManagerHandler (
    CORBA::tk_objref,
    sizeof (_oc_FTRT_AMI_ObjectGroupManagerHandler),
    (char *) &_oc_FTRT_AMI_ObjectGroupManagerHandler,
    0,
    sizeof (FTRT::AMI_ObjectGroupManagerHandler)
  );

namespace FTRT
{
  ::CORBA::TypeCode_ptr _tc_AMI_ObjectGroupManagerHandler =
    &_tc_TAO_tc_FTRT_AMI_ObjectGroupManagerHandler;
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/valuetype_obv_cs.cpp:58

OBV_FTRT::AMI_FaultListenerExceptionHolder::AMI_FaultListenerExceptionHolder (void)
{}

OBV_FTRT::AMI_FaultListenerExceptionHolder::~AMI_FaultListenerExceptionHolder (void)
{}

CORBA::Boolean
OBV_FTRT::AMI_FaultListenerExceptionHolder::_tao_marshal__FTRT_AMI_FaultListenerExceptionHolder (TAO_OutputCDR &strm)
{
  return _tao_marshal_state (strm);
}

CORBA::Boolean
OBV_FTRT::AMI_FaultListenerExceptionHolder::_tao_unmarshal__FTRT_AMI_FaultListenerExceptionHolder (TAO_InputCDR &strm)
{
  return _tao_unmarshal_state (strm);
}OBV_FTRT::_tao_AMI_FaultListenerExceptionHolder::_tao_AMI_FaultListenerExceptionHolder () { }

OBV_FTRT::_tao_AMI_FaultListenerExceptionHolder::~_tao_AMI_FaultListenerExceptionHolder () { }



// TAO_IDL - Generated from
// be/be_visitor_valuetype/valuetype_obv_cs.cpp:58

OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::AMI_ObjectGroupManagerExceptionHolder (void)
{}

OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::~AMI_ObjectGroupManagerExceptionHolder (void)
{}

CORBA::Boolean
OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_marshal__FTRT_AMI_ObjectGroupManagerExceptionHolder (TAO_OutputCDR &strm)
{
  return _tao_marshal_state (strm);
}

CORBA::Boolean
OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_unmarshal__FTRT_AMI_ObjectGroupManagerExceptionHolder (TAO_InputCDR &strm)
{
  return _tao_unmarshal_state (strm);
}OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::_tao_AMI_ObjectGroupManagerExceptionHolder () { }

OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::~_tao_AMI_ObjectGroupManagerExceptionHolder () { }

void 
OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::raise_start(ACE_ENV_SINGLE_ARG_DECL)
{
  
  TAO_Messaging_Helper::exception_holder_raise (
    0,
    0,
    this->marshaled_exception ().get_buffer (),
    this->marshaled_exception ().length (),
    this->byte_order (),
    this->is_system_exception ()
    ACE_ENV_ARG_PARAMETER);
}

void 
OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::raise_create_group(ACE_ENV_SINGLE_ARG_DECL)
{
  
  static TAO::Exception_Data exceptions_data [] = 
  {
    {
      "IDL:FTRT/PredecessorUnreachable:1.0",
      FTRT::PredecessorUnreachable::_alloc,
      FTRT::_tc_PredecessorUnreachable
    }
  };

  CORBA::ULong exceptions_count = 1;

  TAO_Messaging_Helper::exception_holder_raise (
    exceptions_data,
    exceptions_count,
    this->marshaled_exception ().get_buffer (),
    this->marshaled_exception ().length (),
    this->byte_order (),
    this->is_system_exception ()
    ACE_ENV_ARG_PARAMETER);
}

void 
OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::raise_add_member(ACE_ENV_SINGLE_ARG_DECL)
{
  
  TAO_Messaging_Helper::exception_holder_raise (
    0,
    0,
    this->marshaled_exception ().get_buffer (),
    this->marshaled_exception ().length (),
    this->byte_order (),
    this->is_system_exception ()
    ACE_ENV_ARG_PARAMETER);
}

void 
OBV_FTRT::_tao_AMI_ObjectGroupManagerExceptionHolder::raise_set_state(ACE_ENV_SINGLE_ARG_DECL)
{
  
  static TAO::Exception_Data exceptions_data [] = 
  {
    {
      "IDL:FTRT/InvalidState:1.0",
      FTRT::InvalidState::_alloc,
      FTRT::_tc_InvalidState
    }
  };

  CORBA::ULong exceptions_count = 1;

  TAO_Messaging_Helper::exception_holder_raise (
    exceptions_data,
    exceptions_count,
    this->marshaled_exception ().get_buffer (),
    this->marshaled_exception ().length (),
    this->byte_order (),
    this->is_system_exception ()
    ACE_ENV_ARG_PARAMETER);
}



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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<FTRT::FaultListener>::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,
    FTRT::FaultListener_ptr _tao_elem
  )
{
  FTRT::FaultListener_ptr _tao_objptr =
    FTRT::FaultListener::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::FaultListener_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<FTRT::FaultListener>::insert (
      _tao_any,
      FTRT::FaultListener::_tao_any_destructor,
      FTRT::_tc_FaultListener,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::FaultListener_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::FaultListener>::extract (
        _tao_any,
        FTRT::FaultListener::_tao_any_destructor,
        FTRT::_tc_FaultListener,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/any_op_cs.cpp:57

template<>
CORBA::Boolean
TAO::Any_Impl_T<FTRT::AMI_FaultListenerExceptionHolder>::to_value (
    CORBA::ValueBase *&_tao_elem
  ) const
{
  CORBA::add_ref (this->value_);
  _tao_elem = this->value_;
  return 1;
}
// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::AMI_FaultListenerExceptionHolder *_tao_elem
  )
{
  CORBA::add_ref (_tao_elem);
  _tao_any <<= &_tao_elem;
}

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::AMI_FaultListenerExceptionHolder *&_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::AMI_FaultListenerExceptionHolder>::extract (
        _tao_any,
        FTRT::AMI_FaultListenerExceptionHolder::_tao_any_destructor,
        FTRT::_tc_AMI_FaultListenerExceptionHolder,
        _tao_elem
      );
}



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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<FTRT::AMI_FaultListenerHandler>::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,
    FTRT::AMI_FaultListenerHandler_ptr _tao_elem
  )
{
  FTRT::AMI_FaultListenerHandler_ptr _tao_objptr =
    FTRT::AMI_FaultListenerHandler::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::AMI_FaultListenerHandler_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<FTRT::AMI_FaultListenerHandler>::insert (
      _tao_any,
      FTRT::AMI_FaultListenerHandler::_tao_any_destructor,
      FTRT::_tc_AMI_FaultListenerHandler,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::AMI_FaultListenerHandler_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::AMI_FaultListenerHandler>::extract (
        _tao_any,
        FTRT::AMI_FaultListenerHandler::_tao_any_destructor,
        FTRT::_tc_AMI_FaultListenerHandler,
        _tao_elem
      );
}

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

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

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

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

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const FTRT::ManagerInfo *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<FTRT::ManagerInfo>::extract (
        _tao_any,
        FTRT::ManagerInfo::_tao_any_destructor,
        FTRT::_tc_ManagerInfo,
        _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<FTRT::PredecessorUnreachable>::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 FTRT::PredecessorUnreachable &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<FTRT::PredecessorUnreachable>::insert_copy (
      _tao_any,
      FTRT::PredecessorUnreachable::_tao_any_destructor,
      FTRT::_tc_PredecessorUnreachable,
      _tao_elem
    );
}

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

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

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

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

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

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

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

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const FTRT::ManagerInfoList *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<FTRT::ManagerInfoList>::extract (
        _tao_any,
        FTRT::ManagerInfoList::_tao_any_destructor,
        FTRT::_tc_ManagerInfoList,
        _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<FTRT::InvalidState>::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 FTRT::InvalidState &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<FTRT::InvalidState>::insert_copy (
      _tao_any,
      FTRT::InvalidState::_tao_any_destructor,
      FTRT::_tc_InvalidState,
      _tao_elem
    );
}

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

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

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

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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<FTRT::ObjectGroupManager>::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,
    FTRT::ObjectGroupManager_ptr _tao_elem
  )
{
  FTRT::ObjectGroupManager_ptr _tao_objptr =
    FTRT::ObjectGroupManager::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::ObjectGroupManager_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<FTRT::ObjectGroupManager>::insert (
      _tao_any,
      FTRT::ObjectGroupManager::_tao_any_destructor,
      FTRT::_tc_ObjectGroupManager,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::ObjectGroupManager_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::ObjectGroupManager>::extract (
        _tao_any,
        FTRT::ObjectGroupManager::_tao_any_destructor,
        FTRT::_tc_ObjectGroupManager,
        _tao_elem
      );
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/any_op_cs.cpp:57

template<>
CORBA::Boolean
TAO::Any_Impl_T<FTRT::AMI_ObjectGroupManagerExceptionHolder>::to_value (
    CORBA::ValueBase *&_tao_elem
  ) const
{
  CORBA::add_ref (this->value_);
  _tao_elem = this->value_;
  return 1;
}
// Copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::AMI_ObjectGroupManagerExceptionHolder *_tao_elem
  )
{
  CORBA::add_ref (_tao_elem);
  _tao_any <<= &_tao_elem;
}

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::AMI_ObjectGroupManagerExceptionHolder *&_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::AMI_ObjectGroupManagerExceptionHolder>::extract (
        _tao_any,
        FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_any_destructor,
        FTRT::_tc_AMI_ObjectGroupManagerExceptionHolder,
        _tao_elem
      );
}



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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Impl_T<FTRT::AMI_ObjectGroupManagerHandler>::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,
    FTRT::AMI_ObjectGroupManagerHandler_ptr _tao_elem
  )
{
  FTRT::AMI_ObjectGroupManagerHandler_ptr _tao_objptr =
    FTRT::AMI_ObjectGroupManagerHandler::_duplicate (_tao_elem);
  _tao_any <<= &_tao_objptr;
}

// Non-copying insertion.
void
operator<<= (
    CORBA::Any &_tao_any,
    FTRT::AMI_ObjectGroupManagerHandler_ptr *_tao_elem
  )
{
  TAO::Any_Impl_T<FTRT::AMI_ObjectGroupManagerHandler>::insert (
      _tao_any,
      FTRT::AMI_ObjectGroupManagerHandler::_tao_any_destructor,
      FTRT::_tc_AMI_ObjectGroupManagerHandler,
      *_tao_elem
    );
}

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    FTRT::AMI_ObjectGroupManagerHandler_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<FTRT::AMI_ObjectGroupManagerHandler>::extract (
        _tao_any,
        FTRT::AMI_ObjectGroupManagerHandler::_tao_any_destructor,
        FTRT::_tc_AMI_ObjectGroupManagerHandler,
        _tao_elem
      );
}

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

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

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

// TAO_IDL - Generated from
// be/be_valuetype.cpp:490

void
CORBA::add_ref (FTRT::AMI_FaultListenerExceptionHolder * vt)
{
  if (vt != 0)
    {
      vt->_add_ref ();
    }
}

void
CORBA::remove_ref (FTRT::AMI_FaultListenerExceptionHolder * vt)
{
  if (vt != 0)
    {
      vt->_remove_ref ();
    }
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/cdr_op_cs.cpp:73

CORBA::Boolean
operator<< (
    TAO_OutputCDR &strm,
    const FTRT::AMI_FaultListenerExceptionHolder *_tao_valuetype
  )
{
  return
    CORBA::ValueBase::_tao_marshal (
        strm,
        const_cast<
            FTRT::AMI_FaultListenerExceptionHolder *> (
            _tao_valuetype
          ),
        (ptrdiff_t) &FTRT::AMI_FaultListenerExceptionHolder::_downcast
      );
}

CORBA::Boolean
operator>> (
    TAO_InputCDR &strm,
    FTRT::AMI_FaultListenerExceptionHolder *&_tao_valuetype
  )
{
  return FTRT::AMI_FaultListenerExceptionHolder::_tao_unmarshal (strm, _tao_valuetype);
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/marshal_cs.cpp:44

CORBA::Boolean
OBV_FTRT::AMI_FaultListenerExceptionHolder::_tao_marshal_state (TAO_OutputCDR &strm)
{
  if (! this->_tao_marshal__Messaging_ExceptionHolder (strm))
    {
      return 0;
    }
  
  return (
      1
    );
}

CORBA::Boolean
OBV_FTRT::AMI_FaultListenerExceptionHolder::_tao_unmarshal_state (TAO_InputCDR &strm)
{
  if (! this->_tao_unmarshal__Messaging_ExceptionHolder (strm))
    {
      return 0;
    }
  
  return (
    1
  );
}

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

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

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

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

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const FTRT::ManagerInfo &_tao_aggregate
  )
{
  return
    (strm << _tao_aggregate.the_location) &&
    CORBA::Object::marshal (
        _tao_aggregate.ior.in (),
        strm
      );
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    FTRT::ManagerInfo &_tao_aggregate
  )
{
  return
    (strm >> _tao_aggregate.the_location) &&
    (strm >> _tao_aggregate.ior.out ());
}

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

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const FTRT::PredecessorUnreachable &_tao_aggregate
  )
{
  // First marshal the repository ID.
  if (strm << _tao_aggregate._rep_id ())
    {
      return 1;
    }
  else
    {
      return 0;
    }
}

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    FTRT::PredecessorUnreachable&
  )
{
  return 1;
}

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

#if !defined _TAO_CDR_OP_FTRT_ManagerInfoList_CPP_
#define _TAO_CDR_OP_FTRT_ManagerInfoList_CPP_

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

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

#endif /* _TAO_CDR_OP_FTRT_ManagerInfoList_CPP_ */

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

CORBA::Boolean operator<< (
    TAO_OutputCDR &strm,
    const FTRT::InvalidState &_tao_aggregate
  )
{
  // First marshal the repository ID.
  if (strm << _tao_aggregate._rep_id ())
    {
      return 1;
    }
  else
    {
      return 0;
    }
}

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    FTRT::InvalidState&
  )
{
  return 1;
}

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

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

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

// TAO_IDL - Generated from
// be/be_valuetype.cpp:490

void
CORBA::add_ref (FTRT::AMI_ObjectGroupManagerExceptionHolder * vt)
{
  if (vt != 0)
    {
      vt->_add_ref ();
    }
}

void
CORBA::remove_ref (FTRT::AMI_ObjectGroupManagerExceptionHolder * vt)
{
  if (vt != 0)
    {
      vt->_remove_ref ();
    }
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/cdr_op_cs.cpp:73

CORBA::Boolean
operator<< (
    TAO_OutputCDR &strm,
    const FTRT::AMI_ObjectGroupManagerExceptionHolder *_tao_valuetype
  )
{
  return
    CORBA::ValueBase::_tao_marshal (
        strm,
        const_cast<
            FTRT::AMI_ObjectGroupManagerExceptionHolder *> (
            _tao_valuetype
          ),
        (ptrdiff_t) &FTRT::AMI_ObjectGroupManagerExceptionHolder::_downcast
      );
}

CORBA::Boolean
operator>> (
    TAO_InputCDR &strm,
    FTRT::AMI_ObjectGroupManagerExceptionHolder *&_tao_valuetype
  )
{
  return FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_unmarshal (strm, _tao_valuetype);
}

// TAO_IDL - Generated from
// be/be_visitor_valuetype/marshal_cs.cpp:44

CORBA::Boolean
OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_marshal_state (TAO_OutputCDR &strm)
{
  if (! this->_tao_marshal__Messaging_ExceptionHolder (strm))
    {
      return 0;
    }
  
  return (
      1
    );
}

CORBA::Boolean
OBV_FTRT::AMI_ObjectGroupManagerExceptionHolder::_tao_unmarshal_state (TAO_InputCDR &strm)
{
  if (! this->_tao_unmarshal__Messaging_ExceptionHolder (strm))
    {
      return 0;
    }
  
  return (
    1
  );
}

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

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

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

