// -*- 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 "CosEventChannelAdminC.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/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 "CosEventChannelAdminC.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_PROXYPUSHCONSUMER__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_PROXYPUSHCONSUMER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::ProxyPushConsumer>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::ProxyPushConsumer_ptr,
            CosEventChannelAdmin::ProxyPushConsumer_var,
            CosEventChannelAdmin::ProxyPushConsumer_out,
            TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushConsumer>
          >
  {
  };

#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_PROXYPULLSUPPLIER__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_PROXYPULLSUPPLIER__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::ProxyPullSupplier>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::ProxyPullSupplier_ptr,
            CosEventChannelAdmin::ProxyPullSupplier_var,
            CosEventChannelAdmin::ProxyPullSupplier_out,
            TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullSupplier>
          >
  {
  };

#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 (_COSEVENTCHANNELADMIN_CONSUMERADMIN__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_CONSUMERADMIN__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::ConsumerAdmin>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::ConsumerAdmin_ptr,
            CosEventChannelAdmin::ConsumerAdmin_var,
            CosEventChannelAdmin::ConsumerAdmin_out,
            TAO::Objref_Traits<CosEventChannelAdmin::ConsumerAdmin>
          >
  {
  };

#endif /* end #if !defined */

#if !defined (_COSEVENTCHANNELADMIN_SUPPLIERADMIN__ARG_TRAITS_CS_)
#define _COSEVENTCHANNELADMIN_SUPPLIERADMIN__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosEventChannelAdmin::SupplierAdmin>
    : public
        Object_Arg_Traits_T<
            CosEventChannelAdmin::SupplierAdmin_ptr,
            CosEventChannelAdmin::SupplierAdmin_var,
            CosEventChannelAdmin::SupplierAdmin_out,
            TAO::Objref_Traits<CosEventChannelAdmin::SupplierAdmin>
          >
  {
  };

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


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

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

CosEventChannelAdmin::AlreadyConnected::~AlreadyConnected (void)
{
}

CosEventChannelAdmin::AlreadyConnected::AlreadyConnected (const ::CosEventChannelAdmin::AlreadyConnected &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

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

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

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

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

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

void CosEventChannelAdmin::AlreadyConnected::_raise (void) const
{
  TAO_RAISE (*this);
}

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

void CosEventChannelAdmin::AlreadyConnected::_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 CosEventChannelAdmin::AlreadyConnected::_type (void) const
{
  return ::CosEventChannelAdmin::_tc_AlreadyConnected;
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_AlreadyConnected[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  54,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f416c72), 
  ACE_NTOHL (0x65616479), 
  ACE_NTOHL (0x436f6e6e), 
  ACE_NTOHL (0x65637465), 
  ACE_NTOHL (0x643a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0
    17,
  ACE_NTOHL (0x416c7265), 
  ACE_NTOHL (0x61647943), 
  ACE_NTOHL (0x6f6e6e65), 
  ACE_NTOHL (0x63746564), 
  ACE_NTOHL (0x0),  // name = AlreadyConnected
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_AlreadyConnected (
    CORBA::tk_except,
    sizeof (_oc_CosEventChannelAdmin_AlreadyConnected),
    (char *) &_oc_CosEventChannelAdmin_AlreadyConnected,
    0,
    sizeof (CosEventChannelAdmin::AlreadyConnected)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_AlreadyConnected =
    &_tc_TAO_tc_CosEventChannelAdmin_AlreadyConnected;
}

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

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

CosEventChannelAdmin::TypeError::~TypeError (void)
{
}

CosEventChannelAdmin::TypeError::TypeError (const ::CosEventChannelAdmin::TypeError &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
}

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

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

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

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

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

void CosEventChannelAdmin::TypeError::_raise (void) const
{
  TAO_RAISE (*this);
}

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

void CosEventChannelAdmin::TypeError::_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 CosEventChannelAdmin::TypeError::_type (void) const
{
  return ::CosEventChannelAdmin::_tc_TypeError;
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_TypeError[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  47,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f547970), 
  ACE_NTOHL (0x65457272), 
  ACE_NTOHL (0x6f723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/TypeError:1.0
    10,
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x4572726f), 
  ACE_NTOHL (0x72000000),  // name = TypeError
  0, // member count
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_TypeError (
    CORBA::tk_except,
    sizeof (_oc_CosEventChannelAdmin_TypeError),
    (char *) &_oc_CosEventChannelAdmin_TypeError,
    0,
    sizeof (CosEventChannelAdmin::TypeError)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_TypeError =
    &_tc_TAO_tc_CosEventChannelAdmin_TypeError;
}

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

// Traits specializations for CosEventChannelAdmin::ProxyPushConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPushConsumer_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushConsumer>::tao_duplicate (
    CosEventChannelAdmin::ProxyPushConsumer_ptr p
  )
{
  return CosEventChannelAdmin::ProxyPushConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushConsumer>::tao_release (
    CosEventChannelAdmin::ProxyPushConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPushConsumer_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushConsumer>::tao_nil (void)
{
  return CosEventChannelAdmin::ProxyPushConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushConsumer>::tao_marshal (
    CosEventChannelAdmin::ProxyPushConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosEventChannelAdmin::ProxyPushConsumer::connect_push_supplier (
    ::CosEventComm::PushSupplier_ptr push_supplier
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventChannelAdmin::AlreadyConnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ProxyPushConsumer_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ProxyPushConsumer_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosEventComm::PushSupplier>::in_arg_val _tao_push_supplier (push_supplier);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_push_supplier
    };
  
  static TAO::Exception_Data
  _tao_CosEventChannelAdmin_ProxyPushConsumer_connect_push_supplier_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0",
        CosEventChannelAdmin::AlreadyConnected::_alloc,
        CosEventChannelAdmin::_tc_AlreadyConnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "connect_push_supplier",
      21,
      this->the_TAO_ProxyPushConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosEventChannelAdmin_ProxyPushConsumer_connect_push_supplier_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosEventChannelAdmin::ProxyPushConsumer::ProxyPushConsumer (void)
 : the_TAO_ProxyPushConsumer_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_ProxyPushConsumer_setup_collocation ();
}

void
CosEventChannelAdmin::ProxyPushConsumer::CosEventChannelAdmin_ProxyPushConsumer_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_ProxyPushConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ProxyPushConsumer_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_ProxyPushConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventComm_PushConsumer_setup_collocation ();
}

CosEventChannelAdmin::ProxyPushConsumer::~ProxyPushConsumer (void)
{}

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

CosEventChannelAdmin::ProxyPushConsumer_ptr
CosEventChannelAdmin::ProxyPushConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPushConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0",
        CosEventChannelAdmin__TAO_ProxyPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPushConsumer_ptr
CosEventChannelAdmin::ProxyPushConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPushConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0",
        CosEventChannelAdmin__TAO_ProxyPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPushConsumer_ptr
CosEventChannelAdmin::ProxyPushConsumer::_duplicate (ProxyPushConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosEventChannelAdmin::ProxyPushConsumer::_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/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* CosEventChannelAdmin::ProxyPushConsumer::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0";
}

CORBA::Boolean
CosEventChannelAdmin::ProxyPushConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_ProxyPushConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  55,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f50726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x7368436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/ProxyPushConsumer:1.0
    18,
  ACE_NTOHL (0x50726f78), 
  ACE_NTOHL (0x79507573), 
  ACE_NTOHL (0x68436f6e), 
  ACE_NTOHL (0x73756d65), 
  ACE_NTOHL (0x72000000),  // name = ProxyPushConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_ProxyPushConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_ProxyPushConsumer),
    (char *) &_oc_CosEventChannelAdmin_ProxyPushConsumer,
    0,
    sizeof (CosEventChannelAdmin::ProxyPushConsumer)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_ProxyPushConsumer =
    &_tc_TAO_tc_CosEventChannelAdmin_ProxyPushConsumer;
}

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

// Traits specializations for CosEventChannelAdmin::ProxyPushSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPushSupplier_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushSupplier>::tao_duplicate (
    CosEventChannelAdmin::ProxyPushSupplier_ptr p
  )
{
  return CosEventChannelAdmin::ProxyPushSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushSupplier>::tao_release (
    CosEventChannelAdmin::ProxyPushSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPushSupplier_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushSupplier>::tao_nil (void)
{
  return CosEventChannelAdmin::ProxyPushSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPushSupplier>::tao_marshal (
    CosEventChannelAdmin::ProxyPushSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosEventChannelAdmin::ProxyPushSupplier::connect_push_consumer (
    ::CosEventComm::PushConsumer_ptr push_consumer
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventChannelAdmin::AlreadyConnected,
    ::CosEventChannelAdmin::TypeError
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ProxyPushSupplier_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ProxyPushSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosEventComm::PushConsumer>::in_arg_val _tao_push_consumer (push_consumer);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_push_consumer
    };
  
  static TAO::Exception_Data
  _tao_CosEventChannelAdmin_ProxyPushSupplier_connect_push_consumer_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0",
        CosEventChannelAdmin::AlreadyConnected::_alloc,
        CosEventChannelAdmin::_tc_AlreadyConnected
      },
      
      {
        "IDL:omg.org/CosEventChannelAdmin/TypeError:1.0",
        CosEventChannelAdmin::TypeError::_alloc,
        CosEventChannelAdmin::_tc_TypeError
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "connect_push_consumer",
      21,
      this->the_TAO_ProxyPushSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosEventChannelAdmin_ProxyPushSupplier_connect_push_consumer_exceptiondata,
      2
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosEventChannelAdmin::ProxyPushSupplier::ProxyPushSupplier (void)
 : the_TAO_ProxyPushSupplier_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_ProxyPushSupplier_setup_collocation ();
}

void
CosEventChannelAdmin::ProxyPushSupplier::CosEventChannelAdmin_ProxyPushSupplier_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_ProxyPushSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ProxyPushSupplier_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_ProxyPushSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventComm_PushSupplier_setup_collocation ();
}

CosEventChannelAdmin::ProxyPushSupplier::~ProxyPushSupplier (void)
{}

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

CosEventChannelAdmin::ProxyPushSupplier_ptr
CosEventChannelAdmin::ProxyPushSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPushSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0",
        CosEventChannelAdmin__TAO_ProxyPushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPushSupplier_ptr
CosEventChannelAdmin::ProxyPushSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPushSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0",
        CosEventChannelAdmin__TAO_ProxyPushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPushSupplier_ptr
CosEventChannelAdmin::ProxyPushSupplier::_duplicate (ProxyPushSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosEventChannelAdmin::ProxyPushSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_ProxyPushSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  55,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f50726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x73685375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/ProxyPushSupplier:1.0
    18,
  ACE_NTOHL (0x50726f78), 
  ACE_NTOHL (0x79507573), 
  ACE_NTOHL (0x68537570), 
  ACE_NTOHL (0x706c6965), 
  ACE_NTOHL (0x72000000),  // name = ProxyPushSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_ProxyPushSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_ProxyPushSupplier),
    (char *) &_oc_CosEventChannelAdmin_ProxyPushSupplier,
    0,
    sizeof (CosEventChannelAdmin::ProxyPushSupplier)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_ProxyPushSupplier =
    &_tc_TAO_tc_CosEventChannelAdmin_ProxyPushSupplier;
}

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

// Traits specializations for CosEventChannelAdmin::ProxyPullSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPullSupplier_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullSupplier>::tao_duplicate (
    CosEventChannelAdmin::ProxyPullSupplier_ptr p
  )
{
  return CosEventChannelAdmin::ProxyPullSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullSupplier>::tao_release (
    CosEventChannelAdmin::ProxyPullSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPullSupplier_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullSupplier>::tao_nil (void)
{
  return CosEventChannelAdmin::ProxyPullSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullSupplier>::tao_marshal (
    CosEventChannelAdmin::ProxyPullSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosEventChannelAdmin::ProxyPullSupplier::connect_pull_consumer (
    ::CosEventComm::PullConsumer_ptr pull_consumer
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventChannelAdmin::AlreadyConnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ProxyPullSupplier_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ProxyPullSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosEventComm::PullConsumer>::in_arg_val _tao_pull_consumer (pull_consumer);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_pull_consumer
    };
  
  static TAO::Exception_Data
  _tao_CosEventChannelAdmin_ProxyPullSupplier_connect_pull_consumer_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0",
        CosEventChannelAdmin::AlreadyConnected::_alloc,
        CosEventChannelAdmin::_tc_AlreadyConnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "connect_pull_consumer",
      21,
      this->the_TAO_ProxyPullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosEventChannelAdmin_ProxyPullSupplier_connect_pull_consumer_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosEventChannelAdmin::ProxyPullSupplier::ProxyPullSupplier (void)
 : the_TAO_ProxyPullSupplier_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_ProxyPullSupplier_setup_collocation ();
}

void
CosEventChannelAdmin::ProxyPullSupplier::CosEventChannelAdmin_ProxyPullSupplier_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_ProxyPullSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ProxyPullSupplier_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_ProxyPullSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventComm_PullSupplier_setup_collocation ();
}

CosEventChannelAdmin::ProxyPullSupplier::~ProxyPullSupplier (void)
{}

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

CosEventChannelAdmin::ProxyPullSupplier_ptr
CosEventChannelAdmin::ProxyPullSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPullSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0",
        CosEventChannelAdmin__TAO_ProxyPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPullSupplier_ptr
CosEventChannelAdmin::ProxyPullSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPullSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0",
        CosEventChannelAdmin__TAO_ProxyPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPullSupplier_ptr
CosEventChannelAdmin::ProxyPullSupplier::_duplicate (ProxyPullSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosEventChannelAdmin::ProxyPullSupplier::_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/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* CosEventChannelAdmin::ProxyPullSupplier::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0";
}

CORBA::Boolean
CosEventChannelAdmin::ProxyPullSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_ProxyPullSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  55,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f50726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x6c6c5375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/ProxyPullSupplier:1.0
    18,
  ACE_NTOHL (0x50726f78), 
  ACE_NTOHL (0x7950756c), 
  ACE_NTOHL (0x6c537570), 
  ACE_NTOHL (0x706c6965), 
  ACE_NTOHL (0x72000000),  // name = ProxyPullSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_ProxyPullSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_ProxyPullSupplier),
    (char *) &_oc_CosEventChannelAdmin_ProxyPullSupplier,
    0,
    sizeof (CosEventChannelAdmin::ProxyPullSupplier)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_ProxyPullSupplier =
    &_tc_TAO_tc_CosEventChannelAdmin_ProxyPullSupplier;
}

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

// Traits specializations for CosEventChannelAdmin::ProxyPullConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPullConsumer_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullConsumer>::tao_duplicate (
    CosEventChannelAdmin::ProxyPullConsumer_ptr p
  )
{
  return CosEventChannelAdmin::ProxyPullConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullConsumer>::tao_release (
    CosEventChannelAdmin::ProxyPullConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ProxyPullConsumer_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullConsumer>::tao_nil (void)
{
  return CosEventChannelAdmin::ProxyPullConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::ProxyPullConsumer>::tao_marshal (
    CosEventChannelAdmin::ProxyPullConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosEventChannelAdmin::ProxyPullConsumer::connect_pull_supplier (
    ::CosEventComm::PullSupplier_ptr pull_supplier
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventChannelAdmin::AlreadyConnected,
    ::CosEventChannelAdmin::TypeError
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_ProxyPullConsumer_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ProxyPullConsumer_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosEventComm::PullSupplier>::in_arg_val _tao_pull_supplier (pull_supplier);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_pull_supplier
    };
  
  static TAO::Exception_Data
  _tao_CosEventChannelAdmin_ProxyPullConsumer_connect_pull_supplier_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventChannelAdmin/AlreadyConnected:1.0",
        CosEventChannelAdmin::AlreadyConnected::_alloc,
        CosEventChannelAdmin::_tc_AlreadyConnected
      },
      
      {
        "IDL:omg.org/CosEventChannelAdmin/TypeError:1.0",
        CosEventChannelAdmin::TypeError::_alloc,
        CosEventChannelAdmin::_tc_TypeError
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "connect_pull_supplier",
      21,
      this->the_TAO_ProxyPullConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosEventChannelAdmin_ProxyPullConsumer_connect_pull_supplier_exceptiondata,
      2
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosEventChannelAdmin::ProxyPullConsumer::ProxyPullConsumer (void)
 : the_TAO_ProxyPullConsumer_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_ProxyPullConsumer_setup_collocation ();
}

void
CosEventChannelAdmin::ProxyPullConsumer::CosEventChannelAdmin_ProxyPullConsumer_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_ProxyPullConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ProxyPullConsumer_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_ProxyPullConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosEventComm_PullConsumer_setup_collocation ();
}

CosEventChannelAdmin::ProxyPullConsumer::~ProxyPullConsumer (void)
{}

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

CosEventChannelAdmin::ProxyPullConsumer_ptr
CosEventChannelAdmin::ProxyPullConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPullConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0",
        CosEventChannelAdmin__TAO_ProxyPullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPullConsumer_ptr
CosEventChannelAdmin::ProxyPullConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ProxyPullConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0",
        CosEventChannelAdmin__TAO_ProxyPullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ProxyPullConsumer_ptr
CosEventChannelAdmin::ProxyPullConsumer::_duplicate (ProxyPullConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosEventChannelAdmin::ProxyPullConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_ProxyPullConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  55,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f50726f), 
  ACE_NTOHL (0x78795075), 
  ACE_NTOHL (0x6c6c436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/ProxyPullConsumer:1.0
    18,
  ACE_NTOHL (0x50726f78), 
  ACE_NTOHL (0x7950756c), 
  ACE_NTOHL (0x6c436f6e), 
  ACE_NTOHL (0x73756d65), 
  ACE_NTOHL (0x72000000),  // name = ProxyPullConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_ProxyPullConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_ProxyPullConsumer),
    (char *) &_oc_CosEventChannelAdmin_ProxyPullConsumer,
    0,
    sizeof (CosEventChannelAdmin::ProxyPullConsumer)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_ProxyPullConsumer =
    &_tc_TAO_tc_CosEventChannelAdmin_ProxyPullConsumer;
}

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

// Traits specializations for CosEventChannelAdmin::ConsumerAdmin.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ConsumerAdmin_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ConsumerAdmin>::tao_duplicate (
    CosEventChannelAdmin::ConsumerAdmin_ptr p
  )
{
  return CosEventChannelAdmin::ConsumerAdmin::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::ConsumerAdmin>::tao_release (
    CosEventChannelAdmin::ConsumerAdmin_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::ConsumerAdmin_ptr
TAO::Objref_Traits<CosEventChannelAdmin::ConsumerAdmin>::tao_nil (void)
{
  return CosEventChannelAdmin::ConsumerAdmin::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::ConsumerAdmin>::tao_marshal (
    CosEventChannelAdmin::ConsumerAdmin_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosEventChannelAdmin::ProxyPushSupplier_ptr CosEventChannelAdmin::ConsumerAdmin::obtain_push_supplier (
    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_ConsumerAdmin_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ConsumerAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPushSupplier>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "obtain_push_supplier",
      20,
      this->the_TAO_ConsumerAdmin_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

::CosEventChannelAdmin::ProxyPullSupplier_ptr CosEventChannelAdmin::ConsumerAdmin::obtain_pull_supplier (
    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_ConsumerAdmin_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_ConsumerAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPullSupplier>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "obtain_pull_supplier",
      20,
      this->the_TAO_ConsumerAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CosEventChannelAdmin::ConsumerAdmin::ConsumerAdmin (void)
 : the_TAO_ConsumerAdmin_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_ConsumerAdmin_setup_collocation ();
}

void
CosEventChannelAdmin::ConsumerAdmin::CosEventChannelAdmin_ConsumerAdmin_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_ConsumerAdmin_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_ConsumerAdmin_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_ConsumerAdmin_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosEventChannelAdmin::ConsumerAdmin::~ConsumerAdmin (void)
{}

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

CosEventChannelAdmin::ConsumerAdmin_ptr
CosEventChannelAdmin::ConsumerAdmin::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ConsumerAdmin>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0",
        CosEventChannelAdmin__TAO_ConsumerAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ConsumerAdmin_ptr
CosEventChannelAdmin::ConsumerAdmin::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<ConsumerAdmin>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0",
        CosEventChannelAdmin__TAO_ConsumerAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::ConsumerAdmin_ptr
CosEventChannelAdmin::ConsumerAdmin::_duplicate (ConsumerAdmin_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosEventChannelAdmin::ConsumerAdmin::_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/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* CosEventChannelAdmin::ConsumerAdmin::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0";
}

CORBA::Boolean
CosEventChannelAdmin::ConsumerAdmin::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_ConsumerAdmin[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f436f6e), 
  ACE_NTOHL (0x73756d65), 
  ACE_NTOHL (0x7241646d), 
  ACE_NTOHL (0x696e3a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/ConsumerAdmin:1.0
    14,
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e000000),  // name = ConsumerAdmin
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_ConsumerAdmin (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_ConsumerAdmin),
    (char *) &_oc_CosEventChannelAdmin_ConsumerAdmin,
    0,
    sizeof (CosEventChannelAdmin::ConsumerAdmin)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_ConsumerAdmin =
    &_tc_TAO_tc_CosEventChannelAdmin_ConsumerAdmin;
}

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

// Traits specializations for CosEventChannelAdmin::SupplierAdmin.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::SupplierAdmin_ptr
TAO::Objref_Traits<CosEventChannelAdmin::SupplierAdmin>::tao_duplicate (
    CosEventChannelAdmin::SupplierAdmin_ptr p
  )
{
  return CosEventChannelAdmin::SupplierAdmin::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::SupplierAdmin>::tao_release (
    CosEventChannelAdmin::SupplierAdmin_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::SupplierAdmin_ptr
TAO::Objref_Traits<CosEventChannelAdmin::SupplierAdmin>::tao_nil (void)
{
  return CosEventChannelAdmin::SupplierAdmin::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::SupplierAdmin>::tao_marshal (
    CosEventChannelAdmin::SupplierAdmin_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosEventChannelAdmin::ProxyPushConsumer_ptr CosEventChannelAdmin::SupplierAdmin::obtain_push_consumer (
    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_SupplierAdmin_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_SupplierAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPushConsumer>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "obtain_push_consumer",
      20,
      this->the_TAO_SupplierAdmin_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

::CosEventChannelAdmin::ProxyPullConsumer_ptr CosEventChannelAdmin::SupplierAdmin::obtain_pull_consumer (
    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_SupplierAdmin_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_SupplierAdmin_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ProxyPullConsumer>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "obtain_pull_consumer",
      20,
      this->the_TAO_SupplierAdmin_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK_RETURN (_tao_retval.excp ());
  
  return _tao_retval.retn ();
}

CosEventChannelAdmin::SupplierAdmin::SupplierAdmin (void)
 : the_TAO_SupplierAdmin_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_SupplierAdmin_setup_collocation ();
}

void
CosEventChannelAdmin::SupplierAdmin::CosEventChannelAdmin_SupplierAdmin_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_SupplierAdmin_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_SupplierAdmin_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_SupplierAdmin_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosEventChannelAdmin::SupplierAdmin::~SupplierAdmin (void)
{}

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

CosEventChannelAdmin::SupplierAdmin_ptr
CosEventChannelAdmin::SupplierAdmin::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SupplierAdmin>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0",
        CosEventChannelAdmin__TAO_SupplierAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::SupplierAdmin_ptr
CosEventChannelAdmin::SupplierAdmin::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SupplierAdmin>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0",
        CosEventChannelAdmin__TAO_SupplierAdmin_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::SupplierAdmin_ptr
CosEventChannelAdmin::SupplierAdmin::_duplicate (SupplierAdmin_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

CORBA::Boolean
CosEventChannelAdmin::SupplierAdmin::_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/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* CosEventChannelAdmin::SupplierAdmin::_interface_repository_id (void) const
{
  return "IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0";
}

CORBA::Boolean
CosEventChannelAdmin::SupplierAdmin::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_SupplierAdmin[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f537570), 
  ACE_NTOHL (0x706c6965), 
  ACE_NTOHL (0x7241646d), 
  ACE_NTOHL (0x696e3a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/SupplierAdmin:1.0
    14,
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x41646d69), 
  ACE_NTOHL (0x6e000000),  // name = SupplierAdmin
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_SupplierAdmin (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_SupplierAdmin),
    (char *) &_oc_CosEventChannelAdmin_SupplierAdmin,
    0,
    sizeof (CosEventChannelAdmin::SupplierAdmin)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_SupplierAdmin =
    &_tc_TAO_tc_CosEventChannelAdmin_SupplierAdmin;
}

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

// Traits specializations for CosEventChannelAdmin::EventChannel.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::EventChannel_ptr
TAO::Objref_Traits<CosEventChannelAdmin::EventChannel>::tao_duplicate (
    CosEventChannelAdmin::EventChannel_ptr p
  )
{
  return CosEventChannelAdmin::EventChannel::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosEventChannelAdmin::EventChannel>::tao_release (
    CosEventChannelAdmin::EventChannel_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosEventChannelAdmin::EventChannel_ptr
TAO::Objref_Traits<CosEventChannelAdmin::EventChannel>::tao_nil (void)
{
  return CosEventChannelAdmin::EventChannel::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosEventChannelAdmin::EventChannel>::tao_marshal (
    CosEventChannelAdmin::EventChannel_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosEventChannelAdmin::ConsumerAdmin_ptr CosEventChannelAdmin::EventChannel::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_EventChannel_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_EventChannel_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::ConsumerAdmin>::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_EventChannel_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

::CosEventChannelAdmin::SupplierAdmin_ptr CosEventChannelAdmin::EventChannel::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_EventChannel_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_EventChannel_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosEventChannelAdmin::SupplierAdmin>::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_EventChannel_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 CosEventChannelAdmin::EventChannel::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_EventChannel_Proxy_Broker_ == 0)
    {
      CosEventChannelAdmin_EventChannel_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_EventChannel_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosEventChannelAdmin::EventChannel::EventChannel (void)
 : the_TAO_EventChannel_Proxy_Broker_ (0)
{
  this->CosEventChannelAdmin_EventChannel_setup_collocation ();
}

void
CosEventChannelAdmin::EventChannel::CosEventChannelAdmin_EventChannel_setup_collocation ()
{
  if (::CosEventChannelAdmin__TAO_EventChannel_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_EventChannel_Proxy_Broker_ =
        ::CosEventChannelAdmin__TAO_EventChannel_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosEventChannelAdmin::EventChannel::~EventChannel (void)
{}

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

CosEventChannelAdmin::EventChannel_ptr
CosEventChannelAdmin::EventChannel::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventChannel>::narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0",
        CosEventChannelAdmin__TAO_EventChannel_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::EventChannel_ptr
CosEventChannelAdmin::EventChannel::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<EventChannel>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0",
        CosEventChannelAdmin__TAO_EventChannel_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosEventChannelAdmin::EventChannel_ptr
CosEventChannelAdmin::EventChannel::_duplicate (EventChannel_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosEventChannelAdmin::EventChannel::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosEventChannelAdmin_EventChannel[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  50,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f7345), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x4368616e), 
  ACE_NTOHL (0x6e656c41), 
  ACE_NTOHL (0x646d696e), 
  ACE_NTOHL (0x2f457665), 
  ACE_NTOHL (0x6e744368), 
  ACE_NTOHL (0x616e6e65), 
  ACE_NTOHL (0x6c3a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosEventChannelAdmin/EventChannel:1.0
    13,
  ACE_NTOHL (0x4576656e), 
  ACE_NTOHL (0x74436861), 
  ACE_NTOHL (0x6e6e656c), 
  ACE_NTOHL (0x0),  // name = EventChannel
  };

static CORBA::TypeCode _tc_TAO_tc_CosEventChannelAdmin_EventChannel (
    CORBA::tk_objref,
    sizeof (_oc_CosEventChannelAdmin_EventChannel),
    (char *) &_oc_CosEventChannelAdmin_EventChannel,
    0,
    sizeof (CosEventChannelAdmin::EventChannel)
  );

namespace CosEventChannelAdmin
{
  ::CORBA::TypeCode_ptr _tc_EventChannel =
    &_tc_TAO_tc_CosEventChannelAdmin_EventChannel;
}

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

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

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

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

// Extraction to const pointer.
CORBA::Boolean operator>>= (
    const CORBA::Any &_tao_any,
    const CosEventChannelAdmin::AlreadyConnected *&_tao_elem
  )
{
  return
    TAO::Any_Dual_Impl_T<CosEventChannelAdmin::AlreadyConnected>::extract (
        _tao_any,
        CosEventChannelAdmin::AlreadyConnected::_tao_any_destructor,
        CosEventChannelAdmin::_tc_AlreadyConnected,
        _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<CosEventChannelAdmin::TypeError>::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 CosEventChannelAdmin::TypeError &_tao_elem
  )
{
  TAO::Any_Dual_Impl_T<CosEventChannelAdmin::TypeError>::insert_copy (
      _tao_any,
      CosEventChannelAdmin::TypeError::_tao_any_destructor,
      CosEventChannelAdmin::_tc_TypeError,
      _tao_elem
    );
}

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

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

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

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::ProxyPushConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::ProxyPushConsumer>::extract (
        _tao_any,
        CosEventChannelAdmin::ProxyPushConsumer::_tao_any_destructor,
        CosEventChannelAdmin::_tc_ProxyPushConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::ProxyPushSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::ProxyPushSupplier>::extract (
        _tao_any,
        CosEventChannelAdmin::ProxyPushSupplier::_tao_any_destructor,
        CosEventChannelAdmin::_tc_ProxyPushSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::ProxyPullSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::ProxyPullSupplier>::extract (
        _tao_any,
        CosEventChannelAdmin::ProxyPullSupplier::_tao_any_destructor,
        CosEventChannelAdmin::_tc_ProxyPullSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::ProxyPullConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::ProxyPullConsumer>::extract (
        _tao_any,
        CosEventChannelAdmin::ProxyPullConsumer::_tao_any_destructor,
        CosEventChannelAdmin::_tc_ProxyPullConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::ConsumerAdmin_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::ConsumerAdmin>::extract (
        _tao_any,
        CosEventChannelAdmin::ConsumerAdmin::_tao_any_destructor,
        CosEventChannelAdmin::_tc_ConsumerAdmin,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::SupplierAdmin_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::SupplierAdmin>::extract (
        _tao_any,
        CosEventChannelAdmin::SupplierAdmin::_tao_any_destructor,
        CosEventChannelAdmin::_tc_SupplierAdmin,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosEventChannelAdmin::EventChannel_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosEventChannelAdmin::EventChannel>::extract (
        _tao_any,
        CosEventChannelAdmin::EventChannel::_tao_any_destructor,
        CosEventChannelAdmin::_tc_EventChannel,
        _tao_elem
      );
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CosEventChannelAdmin::AlreadyConnected&
  )
{
  return 1;
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &,
    CosEventChannelAdmin::TypeError&
  )
{
  return 1;
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::ProxyPushConsumer_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::ProxyPushConsumer RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_ProxyPushConsumer_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 CosEventChannelAdmin::ProxyPushSupplier_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::ProxyPushSupplier_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::ProxyPushSupplier RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_ProxyPushSupplier_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 CosEventChannelAdmin::ProxyPullSupplier_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::ProxyPullSupplier_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::ProxyPullSupplier RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_ProxyPullSupplier_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 CosEventChannelAdmin::ProxyPullConsumer_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::ProxyPullConsumer_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::ProxyPullConsumer RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_ProxyPullConsumer_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 CosEventChannelAdmin::ConsumerAdmin_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::ConsumerAdmin_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::ConsumerAdmin RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_ConsumerAdmin_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 CosEventChannelAdmin::SupplierAdmin_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosEventChannelAdmin::SupplierAdmin_ptr &_tao_objref
  )
{
  CORBA::Object_var obj;
  
  if ((strm >> obj.inout ()) == 0)
    {
      return 0;
    }
  
  typedef ::CosEventChannelAdmin::SupplierAdmin RHS_SCOPED_NAME;
  
  // Narrow to the right type.
  _tao_objref =
    TAO::Narrow_Utils<RHS_SCOPED_NAME>::unchecked_narrow (
        obj.in (),
        CosEventChannelAdmin__TAO_SupplierAdmin_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 CosEventChannelAdmin::EventChannel_ptr _tao_objref
  )
{
  CORBA::Object_ptr _tao_corba_obj = _tao_objref;
  return (strm << _tao_corba_obj);
}

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

