// -*- 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 "CosTypedEventChannelAdminC.h"
#include "tao/CDR.h"
#include "tao/Exception_Data.h"
#include "tao/Invocation_Adapter.h"
#include "tao/Object_T.h"
#include "tao/Typecode.h"
#include "tao/Any_Impl_T.h"
#include "tao/Any_Dual_Impl_T.h"
#include "tao/Basic_Arguments.h"
#include "tao/Object_Argument_T.h"
#include "tao/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 "CosTypedEventChannelAdminC.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:582

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

#endif /* end #if !defined */

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

#endif /* end #if !defined */

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

#endif /* end #if !defined */

#if !defined (_COSEVENTCOMM_PULLCONSUMER__ARG_TRAITS_CS_)
#define _COSEVENTCOMM_PULLCONSUMER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventComm::PullConsumer>
    : public
        Object_Arg_Traits_T<
            CosEventComm::PullConsumer_ptr,
            CosEventComm::PullConsumer_var,
            CosEventComm::PullConsumer_out,
            TAO::Objref_Traits<CosEventComm::PullConsumer>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSEVENTCOMM_PULLSUPPLIER__ARG_TRAITS_CS_)
#define _COSEVENTCOMM_PULLSUPPLIER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventComm::PullSupplier>
    : public
        Object_Arg_Traits_T<
            CosEventComm::PullSupplier_ptr,
            CosEventComm::PullSupplier_var,
            CosEventComm::PullSupplier_out,
            TAO::Objref_Traits<CosEventComm::PullSupplier>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHSUPPLIER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::ProxyPushSupplier>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::ProxyPushSupplier_ptr,
            CosEventChannelAdmin::ProxyPushSupplier_var,
            CosEventChannelAdmin::ProxyPushSupplier_out,
            TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushSupplier>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSEVENTCHANNELADMIN_PROXYPULLCONSUMER__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_PROXYPULLCONSUMER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::ProxyPullConsumer>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::ProxyPullConsumer_ptr,
            CosEventChannelAdmin::ProxyPullConsumer_var,
            CosEventChannelAdmin::ProxyPullConsumer_out,
            TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullConsumer>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSTYPEDEVENTCHANNELADMIN_TYPEDPROXYPUSHCONSUMER__ARG_TRAITS_CS_)
#define _COSTYPEDEVENTCHANNELADMIN_TYPEDPROXYPUSHCONSUMER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>
    : public
        Object_Arg_Traits_T<
            CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr,
            CosTypedEventChannelAdmin::TypedProxyPushConsumer_var,
            CosTypedEventChannelAdmin::TypedProxyPushConsumer_out,
            TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSTYPEDEVENTCHANNELADMIN_TYPEDPROXYPULLSUPPLIER__ARG_TRAITS_CS_)
#define _COSTYPEDEVENTCHANNELADMIN_TYPEDPROXYPULLSUPPLIER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>
    : public
        Object_Arg_Traits_T<
            CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr,
            CosTypedEventChannelAdmin::TypedProxyPullSupplier_var,
            CosTypedEventChannelAdmin::TypedProxyPullSupplier_out,
            TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSTYPEDEVENTCHANNELADMIN_TYPEDSUPPLIERADMIN__ARG_TRAITS_CS_)
#define _COSTYPEDEVENTCHANNELADMIN_TYPEDSUPPLIERADMIN__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>
    : public
        Object_Arg_Traits_T<
            CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr,
            CosTypedEventChannelAdmin::TypedSupplierAdmin_var,
            CosTypedEventChannelAdmin::TypedSupplierAdmin_out,
            TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSTYPEDEVENTCHANNELADMIN_TYPEDCONSUMERADMIN__ARG_TRAITS_CS_)
#define _COSTYPEDEVENTCHANNELADMIN_TYPEDCONSUMERADMIN__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>
    : public
        Object_Arg_Traits_T<
            CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr,
            CosTypedEventChannelAdmin::TypedConsumerAdmin_var,
            CosTypedEventChannelAdmin::TypedConsumerAdmin_out,
            TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>
          >
  {
  };

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


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

CosTypedEventChannelAdmin::InterfaceNotSupported::InterfaceNotSupported (void)
  : CORBA::UserException (
        "IDL:omg.org/CosTypedEventChannelAdmin/InterfaceNotSupported:1.0",
        "InterfaceNotSupported"
      )
{
}

CosTypedEventChannelAdmin::InterfaceNotSupported::~InterfaceNotSupported (void)
{
}

CosTypedEventChannelAdmin::InterfaceNotSupported::InterfaceNotSupported (const ::CosTypedEventChannelAdmin::InterfaceNotSupported &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

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

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

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

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

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

void CosTypedEventChannelAdmin::InterfaceNotSupported::_raise (void) const
{
  TAO_RAISE (*this);
}

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

void CosTypedEventChannelAdmin::InterfaceNotSupported::_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 CosTypedEventChannelAdmin::InterfaceNotSupported::_type (void) const
{
  return ::CosTypedEventChannelAdmin::_tc_InterfaceNotSupported;
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_InterfaceNotSupported[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  64,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f496e), 
  ACE_NTOHL (0x74657266), 
  ACE_NTOHL (0x6163654e), 
  ACE_NTOHL (0x6f745375), 
  ACE_NTOHL (0x70706f72), 
  ACE_NTOHL (0x7465643a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/InterfaceNotSupported:1.0
    22,
  ACE_NTOHL (0x496e7465), 
  ACE_NTOHL (0x72666163), 
  ACE_NTOHL (0x654e6f74), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6f727465), 
  ACE_NTOHL (0x64000000),  // name = InterfaceNotSupported
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_InterfaceNotSupported (
    CORBA::tk_except,
    sizeof (_oc_CosTypedEventChannelAdmin_InterfaceNotSupported),
    (char *) &_oc_CosTypedEventChannelAdmin_InterfaceNotSupported,
    0,
    sizeof (CosTypedEventChannelAdmin::InterfaceNotSupported)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_InterfaceNotSupported =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_InterfaceNotSupported;
}

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

CosTypedEventChannelAdmin::NoSuchImplementation::NoSuchImplementation (void)
  : CORBA::UserException (
        "IDL:omg.org/CosTypedEventChannelAdmin/NoSuchImplementation:1.0",
        "NoSuchImplementation"
      )
{
}

CosTypedEventChannelAdmin::NoSuchImplementation::~NoSuchImplementation (void)
{
}

CosTypedEventChannelAdmin::NoSuchImplementation::NoSuchImplementation (const ::CosTypedEventChannelAdmin::NoSuchImplementation &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

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

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

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

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

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

void CosTypedEventChannelAdmin::NoSuchImplementation::_raise (void) const
{
  TAO_RAISE (*this);
}

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

void CosTypedEventChannelAdmin::NoSuchImplementation::_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 CosTypedEventChannelAdmin::NoSuchImplementation::_type (void) const
{
  return ::CosTypedEventChannelAdmin::_tc_NoSuchImplementation;
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_NoSuchImplementation[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  63,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f4e6f), 
  ACE_NTOHL (0x53756368), 
  ACE_NTOHL (0x496d706c), 
  ACE_NTOHL (0x656d656e), 
  ACE_NTOHL (0x74617469), 
  ACE_NTOHL (0x6f6e3a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/NoSuchImplementation:1.0
    21,
  ACE_NTOHL (0x4e6f5375), 
  ACE_NTOHL (0x6368496d), 
  ACE_NTOHL (0x706c656d), 
  ACE_NTOHL (0x656e7461), 
  ACE_NTOHL (0x74696f6e), 
  ACE_NTOHL (0x0),  // name = NoSuchImplementation
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_NoSuchImplementation (
    CORBA::tk_except,
    sizeof (_oc_CosTypedEventChannelAdmin_NoSuchImplementation),
    (char *) &_oc_CosTypedEventChannelAdmin_NoSuchImplementation,
    0,
    sizeof (CosTypedEventChannelAdmin::NoSuchImplementation)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_NoSuchImplementation =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_NoSuchImplementation;
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_Key[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  46,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f4b65), 
  ACE_NTOHL (0x793a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/Key:1.0
    4,
  ACE_NTOHL (0x4b657900),  // name = Key
    CORBA::tk_string, 
  0U, // string length
};

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_Key (
    CORBA::tk_alias,
    sizeof (_oc_CosTypedEventChannelAdmin_Key),
    (char *) &_oc_CosTypedEventChannelAdmin_Key,
    0,
    sizeof (CosTypedEventChannelAdmin::Key)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_Key =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_Key;
}

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

// Traits specializations for CosTypedEventChannelAdmin::TypedProxyPushConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>::tao_duplicate (
    CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr p
  )
{
  return CosTypedEventChannelAdmin::TypedProxyPushConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>::tao_release (
    CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>::tao_nil (void)
{
  return CosTypedEventChannelAdmin::TypedProxyPushConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPushConsumer>::tao_marshal (
    CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosTypedEventChannelAdmin::TypedProxyPushConsumer::TypedProxyPushConsumer (void)
 : the_TAO_TypedProxyPushConsumer_Proxy_Broker_ (0)
{
  this->CosTypedEventChannelAdmin_TypedProxyPushConsumer_setup_collocation ();
}

void
CosTypedEventChannelAdmin::TypedProxyPushConsumer::CosTypedEventChannelAdmin_TypedProxyPushConsumer_setup_collocation ()
{
  if (::CosTypedEventChannelAdmin__TAO_TypedProxyPushConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_TypedProxyPushConsumer_Proxy_Broker_ =
        ::CosTypedEventChannelAdmin__TAO_TypedProxyPushConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventChannelAdmin_ProxyPushConsumer_setup_collocation ();
  this->CosTypedEventComm_TypedPushConsumer_setup_collocation ();
}

CosTypedEventChannelAdmin::TypedProxyPushConsumer::~TypedProxyPushConsumer (void)
{}

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

CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr
CosTypedEventChannelAdmin::TypedProxyPushConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedProxyPushConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPushConsumer:1.0",
        CosTypedEventChannelAdmin__TAO_TypedProxyPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr
CosTypedEventChannelAdmin::TypedProxyPushConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedProxyPushConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPushConsumer:1.0",
        CosTypedEventChannelAdmin__TAO_TypedProxyPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr
CosTypedEventChannelAdmin::TypedProxyPushConsumer::_duplicate (TypedProxyPushConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosTypedEventChannelAdmin::TypedProxyPushConsumer::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosEventComm/PushConsumer:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosTypedEventComm/TypedPushConsumer:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPushConsumer: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* CosTypedEventChannelAdmin::TypedProxyPushConsumer::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPushConsumer:1.0";
}

CORBA::Boolean
CosTypedEventChannelAdmin::TypedProxyPushConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_TypedProxyPushConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  65,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f5479), 
  ACE_NTOHL (0x70656450), 
  ACE_NTOHL (0x726f7879), 
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPushConsumer:1.0
    23,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x6450726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x7368436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65720000),  // name = TypedProxyPushConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_TypedProxyPushConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosTypedEventChannelAdmin_TypedProxyPushConsumer),
    (char *) &_oc_CosTypedEventChannelAdmin_TypedProxyPushConsumer,
    0,
    sizeof (CosTypedEventChannelAdmin::TypedProxyPushConsumer)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypedProxyPushConsumer =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_TypedProxyPushConsumer;
}

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

// Traits specializations for CosTypedEventChannelAdmin::TypedProxyPullSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>::tao_duplicate (
    CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr p
  )
{
  return CosTypedEventChannelAdmin::TypedProxyPullSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>::tao_release (
    CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>::tao_nil (void)
{
  return CosTypedEventChannelAdmin::TypedProxyPullSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedProxyPullSupplier>::tao_marshal (
    CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosTypedEventChannelAdmin::TypedProxyPullSupplier::TypedProxyPullSupplier (void)
 : the_TAO_TypedProxyPullSupplier_Proxy_Broker_ (0)
{
  this->CosTypedEventChannelAdmin_TypedProxyPullSupplier_setup_collocation ();
}

void
CosTypedEventChannelAdmin::TypedProxyPullSupplier::CosTypedEventChannelAdmin_TypedProxyPullSupplier_setup_collocation ()
{
  if (::CosTypedEventChannelAdmin__TAO_TypedProxyPullSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_TypedProxyPullSupplier_Proxy_Broker_ =
        ::CosTypedEventChannelAdmin__TAO_TypedProxyPullSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventChannelAdmin_ProxyPullSupplier_setup_collocation ();
  this->CosTypedEventComm_TypedPullSupplier_setup_collocation ();
}

CosTypedEventChannelAdmin::TypedProxyPullSupplier::~TypedProxyPullSupplier (void)
{}

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

CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr
CosTypedEventChannelAdmin::TypedProxyPullSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedProxyPullSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPullSupplier:1.0",
        CosTypedEventChannelAdmin__TAO_TypedProxyPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr
CosTypedEventChannelAdmin::TypedProxyPullSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedProxyPullSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPullSupplier:1.0",
        CosTypedEventChannelAdmin__TAO_TypedProxyPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr
CosTypedEventChannelAdmin::TypedProxyPullSupplier::_duplicate (TypedProxyPullSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosTypedEventChannelAdmin::TypedProxyPullSupplier::_is_a (
    const char *value
    ACE_ENV_ARG_DECL
  )
{
  if (
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosEventComm/PullSupplier:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosTypedEventComm/TypedPullSupplier:1.0"
        ) ||
      !ACE_OS::strcmp (
          (char *)value,
          "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPullSupplier: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* CosTypedEventChannelAdmin::TypedProxyPullSupplier::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPullSupplier:1.0";
}

CORBA::Boolean
CosTypedEventChannelAdmin::TypedProxyPullSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_TypedProxyPullSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  65,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f5479), 
  ACE_NTOHL (0x70656450), 
  ACE_NTOHL (0x726f7879), 
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/TypedProxyPullSupplier:1.0
    23,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x6450726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x6c6c5375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65720000),  // name = TypedProxyPullSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_TypedProxyPullSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosTypedEventChannelAdmin_TypedProxyPullSupplier),
    (char *) &_oc_CosTypedEventChannelAdmin_TypedProxyPullSupplier,
    0,
    sizeof (CosTypedEventChannelAdmin::TypedProxyPullSupplier)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypedProxyPullSupplier =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_TypedProxyPullSupplier;
}

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

// Traits specializations for CosTypedEventChannelAdmin::TypedSupplierAdmin.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>::tao_duplicate (
    CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr p
  )
{
  return CosTypedEventChannelAdmin::TypedSupplierAdmin::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>::tao_release (
    CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>::tao_nil (void)
{
  return CosTypedEventChannelAdmin::TypedSupplierAdmin::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedSupplierAdmin>::tao_marshal (
    CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr CosTypedEventChannelAdmin::TypedSupplierAdmin::obtain_typed_push_consumer (
    const char * supported_interface
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosTypedEventChannelAdmin::InterfaceNotSupported
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_TypedSupplierAdmin_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedSupplierAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::TypedProxyPushConsumer>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::Key>::in_arg_val _tao_supported_interface (supported_interface);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_supported_interface
    };
  
  static TAO::Exception_Data
  _tao_CosTypedEventChannelAdmin_TypedSupplierAdmin_obtain_typed_push_consumer_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosTypedEventChannelAdmin/InterfaceNotSupported:1.0",
        CosTypedEventChannelAdmin::InterfaceNotSupported::_alloc,
        CosTypedEventChannelAdmin::_tc_InterfaceNotSupported
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "obtain_typed_push_consumer",
      26,
      this->the_TAO_TypedSupplierAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosTypedEventChannelAdmin_TypedSupplierAdmin_obtain_typed_push_consumer_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CosEventChannelAdmin::ProxyPullConsumer_ptr CosTypedEventChannelAdmin::TypedSupplierAdmin::obtain_typed_pull_consumer (
    const char * uses_interface
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosTypedEventChannelAdmin::NoSuchImplementation
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_TypedSupplierAdmin_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedSupplierAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPullConsumer>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::Key>::in_arg_val _tao_uses_interface (uses_interface);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_uses_interface
    };
  
  static TAO::Exception_Data
  _tao_CosTypedEventChannelAdmin_TypedSupplierAdmin_obtain_typed_pull_consumer_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosTypedEventChannelAdmin/NoSuchImplementation:1.0",
        CosTypedEventChannelAdmin::NoSuchImplementation::_alloc,
        CosTypedEventChannelAdmin::_tc_NoSuchImplementation
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "obtain_typed_pull_consumer",
      26,
      this->the_TAO_TypedSupplierAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosTypedEventChannelAdmin_TypedSupplierAdmin_obtain_typed_pull_consumer_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CosTypedEventChannelAdmin::TypedSupplierAdmin::TypedSupplierAdmin (void)
 : the_TAO_TypedSupplierAdmin_Proxy_Broker_ (0)
{
  this->CosTypedEventChannelAdmin_TypedSupplierAdmin_setup_collocation ();
}

void
CosTypedEventChannelAdmin::TypedSupplierAdmin::CosTypedEventChannelAdmin_TypedSupplierAdmin_setup_collocation ()
{
  if (::CosTypedEventChannelAdmin__TAO_TypedSupplierAdmin_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_TypedSupplierAdmin_Proxy_Broker_ =
        ::CosTypedEventChannelAdmin__TAO_TypedSupplierAdmin_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventChannelAdmin_SupplierAdmin_setup_collocation ();
}

CosTypedEventChannelAdmin::TypedSupplierAdmin::~TypedSupplierAdmin (void)
{}

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

CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr
CosTypedEventChannelAdmin::TypedSupplierAdmin::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedSupplierAdmin>::narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedSupplierAdmin:1.0",
        CosTypedEventChannelAdmin__TAO_TypedSupplierAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr
CosTypedEventChannelAdmin::TypedSupplierAdmin::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedSupplierAdmin>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedSupplierAdmin:1.0",
        CosTypedEventChannelAdmin__TAO_TypedSupplierAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr
CosTypedEventChannelAdmin::TypedSupplierAdmin::_duplicate (TypedSupplierAdmin_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosTypedEventChannelAdmin::TypedSupplierAdmin::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_TypedSupplierAdmin[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  61,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f5479), 
  ACE_NTOHL (0x70656453), 
  ACE_NTOHL (0x7570706c), 
  ACE_NTOHL (0x69657241), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/TypedSupplierAdmin:1.0
    19,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x64537570), 
  ACE_NTOHL (0x706c6965), 
  ACE_NTOHL (0x7241646d), 
  ACE_NTOHL (0x696e0000),  // name = TypedSupplierAdmin
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_TypedSupplierAdmin (
    CORBA::tk_objref,
    sizeof (_oc_CosTypedEventChannelAdmin_TypedSupplierAdmin),
    (char *) &_oc_CosTypedEventChannelAdmin_TypedSupplierAdmin,
    0,
    sizeof (CosTypedEventChannelAdmin::TypedSupplierAdmin)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypedSupplierAdmin =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_TypedSupplierAdmin;
}

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

// Traits specializations for CosTypedEventChannelAdmin::TypedConsumerAdmin.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>::tao_duplicate (
    CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr p
  )
{
  return CosTypedEventChannelAdmin::TypedConsumerAdmin::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>::tao_release (
    CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>::tao_nil (void)
{
  return CosTypedEventChannelAdmin::TypedConsumerAdmin::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedConsumerAdmin>::tao_marshal (
    CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr CosTypedEventChannelAdmin::TypedConsumerAdmin::obtain_typed_pull_supplier (
    const char * supported_interface
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosTypedEventChannelAdmin::InterfaceNotSupported
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_TypedConsumerAdmin_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedConsumerAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::TypedProxyPullSupplier>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::Key>::in_arg_val _tao_supported_interface (supported_interface);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_supported_interface
    };
  
  static TAO::Exception_Data
  _tao_CosTypedEventChannelAdmin_TypedConsumerAdmin_obtain_typed_pull_supplier_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosTypedEventChannelAdmin/InterfaceNotSupported:1.0",
        CosTypedEventChannelAdmin::InterfaceNotSupported::_alloc,
        CosTypedEventChannelAdmin::_tc_InterfaceNotSupported
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "obtain_typed_pull_supplier",
      26,
      this->the_TAO_TypedConsumerAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosTypedEventChannelAdmin_TypedConsumerAdmin_obtain_typed_pull_supplier_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CosEventChannelAdmin::ProxyPushSupplier_ptr CosTypedEventChannelAdmin::TypedConsumerAdmin::obtain_typed_push_supplier (
    const char * uses_interface
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosTypedEventChannelAdmin::NoSuchImplementation
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_TypedConsumerAdmin_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedConsumerAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPushSupplier>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::Key>::in_arg_val _tao_uses_interface (uses_interface);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_uses_interface
    };
  
  static TAO::Exception_Data
  _tao_CosTypedEventChannelAdmin_TypedConsumerAdmin_obtain_typed_push_supplier_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosTypedEventChannelAdmin/NoSuchImplementation:1.0",
        CosTypedEventChannelAdmin::NoSuchImplementation::_alloc,
        CosTypedEventChannelAdmin::_tc_NoSuchImplementation
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "obtain_typed_push_supplier",
      26,
      this->the_TAO_TypedConsumerAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosTypedEventChannelAdmin_TypedConsumerAdmin_obtain_typed_push_supplier_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CosTypedEventChannelAdmin::TypedConsumerAdmin::TypedConsumerAdmin (void)
 : the_TAO_TypedConsumerAdmin_Proxy_Broker_ (0)
{
  this->CosTypedEventChannelAdmin_TypedConsumerAdmin_setup_collocation ();
}

void
CosTypedEventChannelAdmin::TypedConsumerAdmin::CosTypedEventChannelAdmin_TypedConsumerAdmin_setup_collocation ()
{
  if (::CosTypedEventChannelAdmin__TAO_TypedConsumerAdmin_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_TypedConsumerAdmin_Proxy_Broker_ =
        ::CosTypedEventChannelAdmin__TAO_TypedConsumerAdmin_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventChannelAdmin_ConsumerAdmin_setup_collocation ();
}

CosTypedEventChannelAdmin::TypedConsumerAdmin::~TypedConsumerAdmin (void)
{}

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

CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr
CosTypedEventChannelAdmin::TypedConsumerAdmin::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedConsumerAdmin>::narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedConsumerAdmin:1.0",
        CosTypedEventChannelAdmin__TAO_TypedConsumerAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr
CosTypedEventChannelAdmin::TypedConsumerAdmin::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedConsumerAdmin>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedConsumerAdmin:1.0",
        CosTypedEventChannelAdmin__TAO_TypedConsumerAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr
CosTypedEventChannelAdmin::TypedConsumerAdmin::_duplicate (TypedConsumerAdmin_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosTypedEventChannelAdmin::TypedConsumerAdmin::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_TypedConsumerAdmin[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  61,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f5479), 
  ACE_NTOHL (0x70656443), 
  ACE_NTOHL (0x6f6e7375), 
  ACE_NTOHL (0x6d657241), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/TypedConsumerAdmin:1.0
    19,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x64436f6e), 
  ACE_NTOHL (0x73756d65), 
  ACE_NTOHL (0x7241646d), 
  ACE_NTOHL (0x696e0000),  // name = TypedConsumerAdmin
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_TypedConsumerAdmin (
    CORBA::tk_objref,
    sizeof (_oc_CosTypedEventChannelAdmin_TypedConsumerAdmin),
    (char *) &_oc_CosTypedEventChannelAdmin_TypedConsumerAdmin,
    0,
    sizeof (CosTypedEventChannelAdmin::TypedConsumerAdmin)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypedConsumerAdmin =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_TypedConsumerAdmin;
}

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

// Traits specializations for CosTypedEventChannelAdmin::TypedEventChannel.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedEventChannel_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedEventChannel>::tao_duplicate (
    CosTypedEventChannelAdmin::TypedEventChannel_ptr p
  )
{
  return CosTypedEventChannelAdmin::TypedEventChannel::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedEventChannel>::tao_release (
    CosTypedEventChannelAdmin::TypedEventChannel_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosTypedEventChannelAdmin::TypedEventChannel_ptr
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedEventChannel>::tao_nil (void)
{
  return CosTypedEventChannelAdmin::TypedEventChannel::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosTypedEventChannelAdmin::TypedEventChannel>::tao_marshal (
    CosTypedEventChannelAdmin::TypedEventChannel_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr CosTypedEventChannelAdmin::TypedEventChannel::for_consumers (
    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_TypedEventChannel_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedEventChannel_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::TypedConsumerAdmin>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "for_consumers",
      13,
      this->the_TAO_TypedEventChannel_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

::CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr CosTypedEventChannelAdmin::TypedEventChannel::for_suppliers (
    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_TypedEventChannel_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedEventChannel_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosTypedEventChannelAdmin::TypedSupplierAdmin>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "for_suppliers",
      13,
      this->the_TAO_TypedEventChannel_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

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

void CosTypedEventChannelAdmin::TypedEventChannel::destroy (
    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_TypedEventChannel_Proxy_Broker_ == 0)
    {
      CosTypedEventChannelAdmin_TypedEventChannel_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,
      "destroy",
      7,
      this->the_TAO_TypedEventChannel_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosTypedEventChannelAdmin::TypedEventChannel::TypedEventChannel (void)
 : the_TAO_TypedEventChannel_Proxy_Broker_ (0)
{
  this->CosTypedEventChannelAdmin_TypedEventChannel_setup_collocation ();
}

void
CosTypedEventChannelAdmin::TypedEventChannel::CosTypedEventChannelAdmin_TypedEventChannel_setup_collocation ()
{
  if (::CosTypedEventChannelAdmin__TAO_TypedEventChannel_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_TypedEventChannel_Proxy_Broker_ =
        ::CosTypedEventChannelAdmin__TAO_TypedEventChannel_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosTypedEventChannelAdmin::TypedEventChannel::~TypedEventChannel (void)
{}

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

CosTypedEventChannelAdmin::TypedEventChannel_ptr
CosTypedEventChannelAdmin::TypedEventChannel::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedEventChannel>::narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedEventChannel:1.0",
        CosTypedEventChannelAdmin__TAO_TypedEventChannel_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedEventChannel_ptr
CosTypedEventChannelAdmin::TypedEventChannel::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<TypedEventChannel>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosTypedEventChannelAdmin/TypedEventChannel:1.0",
        CosTypedEventChannelAdmin__TAO_TypedEventChannel_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosTypedEventChannelAdmin::TypedEventChannel_ptr
CosTypedEventChannelAdmin::TypedEventChannel::_duplicate (TypedEventChannel_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosTypedEventChannelAdmin::TypedEventChannel::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosTypedEventChannelAdmin_TypedEventChannel[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  60,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7354), 
  ACE_NTOHL (0x79706564), 
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e2f5479), 
  ACE_NTOHL (0x70656445), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c3a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosTypedEventChannelAdmin/TypedEventChannel:1.0
    18,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x64457665), 
  ACE_NTOHL (0x6e744368), 
  ACE_NTOHL (0x616e6e65), 
  ACE_NTOHL (0x6c000000),  // name = TypedEventChannel
  };

static CORBA::TypeCode _tc_TAO_tc_CosTypedEventChannelAdmin_TypedEventChannel (
    CORBA::tk_objref,
    sizeof (_oc_CosTypedEventChannelAdmin_TypedEventChannel),
    (char *) &_oc_CosTypedEventChannelAdmin_TypedEventChannel,
    0,
    sizeof (CosTypedEventChannelAdmin::TypedEventChannel)
  );

namespace CosTypedEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypedEventChannel =
    &_tc_TAO_tc_CosTypedEventChannelAdmin_TypedEventChannel;
}

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

ACE_TEMPLATE_SPECIALIZATION
CORBA::Boolean
TAO::Any_Dual_Impl_T<CosTypedEventChannelAdmin::InterfaceNotSupported>::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 CosTypedEventChannelAdmin::InterfaceNotSupported &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CosTypedEventChannelAdmin::InterfaceNotSupported>::insert_copy (
      _tao_any,
      CosTypedEventChannelAdmin::InterfaceNotSupported::_tao_any_destructor,
      CosTypedEventChannelAdmin::_tc_InterfaceNotSupported,
      _tao_elem
    );
}

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

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

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CosTypedEventChannelAdmin::InterfaceNotSupported *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CosTypedEventChannelAdmin::InterfaceNotSupported>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::InterfaceNotSupported::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_InterfaceNotSupported,
        _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<CosTypedEventChannelAdmin::NoSuchImplementation>::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 CosTypedEventChannelAdmin::NoSuchImplementation &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CosTypedEventChannelAdmin::NoSuchImplementation>::insert_copy (
      _tao_any,
      CosTypedEventChannelAdmin::NoSuchImplementation::_tao_any_destructor,
      CosTypedEventChannelAdmin::_tc_NoSuchImplementation,
      _tao_elem
    );
}

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

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

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

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosTypedEventChannelAdmin::TypedProxyPushConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosTypedEventChannelAdmin::TypedProxyPushConsumer>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::TypedProxyPushConsumer::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_TypedProxyPushConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosTypedEventChannelAdmin::TypedProxyPullSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosTypedEventChannelAdmin::TypedProxyPullSupplier>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::TypedProxyPullSupplier::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_TypedProxyPullSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosTypedEventChannelAdmin::TypedSupplierAdmin_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosTypedEventChannelAdmin::TypedSupplierAdmin>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::TypedSupplierAdmin::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_TypedSupplierAdmin,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosTypedEventChannelAdmin::TypedConsumerAdmin_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosTypedEventChannelAdmin::TypedConsumerAdmin>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::TypedConsumerAdmin::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_TypedConsumerAdmin,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosTypedEventChannelAdmin::TypedEventChannel_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosTypedEventChannelAdmin::TypedEventChannel>::extract (
        _tao_any,
        CosTypedEventChannelAdmin::TypedEventChannel::_tao_any_destructor,
        CosTypedEventChannelAdmin::_tc_TypedEventChannel,
        _tao_elem
      );
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CosTypedEventChannelAdmin::InterfaceNotSupported&
  )
{
  return 1;
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CosTypedEventChannelAdmin::NoSuchImplementation&
  )
{
  return 1;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

