// -*- 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 "CosNotifyCommC.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/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 "CosNotifyCommC.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 */
  
  // TAO_IDL - Generated from
  // be/be_visitor_arg_traits.cpp:379

#if !defined (_COSNOTIFICATION_PROPERTYSEQ__ARG_TRAITS_CS_)
#define _COSNOTIFICATION_PROPERTYSEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosNotification::PropertySeq>
    : public
        Var_Size_Arg_Traits_T<
            CosNotification::PropertySeq,
            CosNotification::PropertySeq_var,
            CosNotification::PropertySeq_out
          >
  {
  };

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

#if !defined (_COSNOTIFICATION_EVENTTYPESEQ__ARG_TRAITS_CS_)
#define _COSNOTIFICATION_EVENTTYPESEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosNotification::EventTypeSeq>
    : public
        Var_Size_Arg_Traits_T<
            CosNotification::EventTypeSeq,
            CosNotification::EventTypeSeq_var,
            CosNotification::EventTypeSeq_out
          >
  {
  };

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

#if !defined (_COSNOTIFICATION_NAMEDPROPERTYRANGESEQ__ARG_TRAITS_CS_)
#define _COSNOTIFICATION_NAMEDPROPERTYRANGESEQ__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosNotification::NamedPropertyRangeSeq>
    : public
        Var_Size_Arg_Traits_T<
            CosNotification::NamedPropertyRangeSeq,
            CosNotification::NamedPropertyRangeSeq_var,
            CosNotification::NamedPropertyRangeSeq_out
          >
  {
  };

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

#if !defined (_COSNOTIFICATION_STRUCTUREDEVENT__ARG_TRAITS_CS_)
#define _COSNOTIFICATION_STRUCTUREDEVENT__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosNotification::StructuredEvent>
    : public
        Var_Size_Arg_Traits_T<
            CosNotification::StructuredEvent,
            CosNotification::StructuredEvent_var,
            CosNotification::StructuredEvent_out
          >
  {
  };

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

#if !defined (_COSNOTIFICATION_EVENTBATCH__ARG_TRAITS_CS_)
#define _COSNOTIFICATION_EVENTBATCH__ARG_TRAITS_CS_
  
  ACE_TEMPLATE_SPECIALIZATION
  class TAO_Event_Export Arg_Traits<CosNotification::EventBatch>
    : public
        Var_Size_Arg_Traits_T<
            CosNotification::EventBatch,
            CosNotification::EventBatch_var,
            CosNotification::EventBatch_out
          >
  {
  };

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


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

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

CosNotifyComm::InvalidEventType::~InvalidEventType (void)
{
}

CosNotifyComm::InvalidEventType::InvalidEventType (const ::CosNotifyComm::InvalidEventType &_tao_excp)
  : CORBA::UserException (
        _tao_excp._rep_id (),
        _tao_excp._name ()
      )
{
  this->type = _tao_excp.type;
}

CosNotifyComm::InvalidEventType&
CosNotifyComm::InvalidEventType::operator= (const ::CosNotifyComm::InvalidEventType &_tao_excp)
{
  this->ACE_NESTED_CLASS (CORBA, UserException)::operator= (_tao_excp);
  this->type = _tao_excp.type;
  return *this;
}

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

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

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

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

void CosNotifyComm::InvalidEventType::_raise (void) const
{
  TAO_RAISE (*this);
}

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

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



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

CosNotifyComm::InvalidEventType::InvalidEventType (
    const CosNotification::EventType & _tao_type
  )
  : CORBA::UserException (
        "IDL:omg.org/CosNotifyComm/InvalidEventType:1.0",
        "InvalidEventType"
      )
{
  this->type = _tao_type;
}

// TAO extension - the virtual _type method.
CORBA::TypeCode_ptr CosNotifyComm::InvalidEventType::_type (void) const
{
  return ::CosNotifyComm::_tc_InvalidEventType;
}

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

static const CORBA::Long _oc_CosNotifyComm_InvalidEventType[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  47,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f496e), 
  ACE_NTOHL (0x76616c69), 
  ACE_NTOHL (0x64457665), 
  ACE_NTOHL (0x6e745479), 
  ACE_NTOHL (0x70653a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/InvalidEventType:1.0
    17,
  ACE_NTOHL (0x496e7661), 
  ACE_NTOHL (0x6c696445), 
  ACE_NTOHL (0x76656e74), 
  ACE_NTOHL (0x54797065), 
  ACE_NTOHL (0x0),  // name = InvalidEventType
  1, // member count
    5,
  ACE_NTOHL (0x74797065), 
  ACE_NTOHL (0x0),  // name = type
    CORBA::tk_struct, // typecode kind
  120, // encapsulation length
    TAO_ENCAP_BYTE_ORDER, // byte order
    42,
    ACE_NTOHL (0x49444c3a), 
    ACE_NTOHL (0x6f6d672e), 
    ACE_NTOHL (0x6f72672f), 
    ACE_NTOHL (0x436f734e), 
    ACE_NTOHL (0x6f746966), 
    ACE_NTOHL (0x69636174), 
    ACE_NTOHL (0x696f6e2f), 
    ACE_NTOHL (0x4576656e), 
    ACE_NTOHL (0x74547970), 
    ACE_NTOHL (0x653a312e), 
    ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosNotification/EventType:1.0
        10,
    ACE_NTOHL (0x4576656e), 
    ACE_NTOHL (0x74547970), 
    ACE_NTOHL (0x65000000),  // name = EventType
    2, // member count
        12,
    ACE_NTOHL (0x646f6d61), 
    ACE_NTOHL (0x696e5f6e), 
    ACE_NTOHL (0x616d6500),  // name = domain_name
        CORBA::tk_string, 
    0U, // string length
    10,
    ACE_NTOHL (0x74797065), 
    ACE_NTOHL (0x5f6e616d), 
    ACE_NTOHL (0x65000000),  // name = type_name
        CORBA::tk_string, 
    0U, // string length

};

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_InvalidEventType (
    CORBA::tk_except,
    sizeof (_oc_CosNotifyComm_InvalidEventType),
    (char *) &_oc_CosNotifyComm_InvalidEventType,
    0,
    sizeof (CosNotifyComm::InvalidEventType)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_InvalidEventType =
    &_tc_TAO_tc_CosNotifyComm_InvalidEventType;
}

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

// Traits specializations for CosNotifyComm::NotifyPublish.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::NotifyPublish_ptr
TAO::Objref_Traits<CosNotifyComm::NotifyPublish>::tao_duplicate (
    CosNotifyComm::NotifyPublish_ptr p
  )
{
  return CosNotifyComm::NotifyPublish::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::NotifyPublish>::tao_release (
    CosNotifyComm::NotifyPublish_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::NotifyPublish_ptr
TAO::Objref_Traits<CosNotifyComm::NotifyPublish>::tao_nil (void)
{
  return CosNotifyComm::NotifyPublish::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::NotifyPublish>::tao_marshal (
    CosNotifyComm::NotifyPublish_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::NotifyPublish::offer_change (
    const ::CosNotification::EventTypeSeq & added,
    const ::CosNotification::EventTypeSeq & removed
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosNotifyComm::InvalidEventType
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_NotifyPublish_Proxy_Broker_ == 0)
    {
      CosNotifyComm_NotifyPublish_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosNotification::EventTypeSeq>::in_arg_val _tao_added (added);
  TAO::Arg_Traits< ::CosNotification::EventTypeSeq>::in_arg_val _tao_removed (removed);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_added,
      &_tao_removed
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_NotifyPublish_offer_change_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosNotifyComm/InvalidEventType:1.0",
        CosNotifyComm::InvalidEventType::_alloc,
        CosNotifyComm::_tc_InvalidEventType
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "offer_change",
      12,
      this->the_TAO_NotifyPublish_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_NotifyPublish_offer_change_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosNotifyComm::NotifyPublish::NotifyPublish (void)
 : the_TAO_NotifyPublish_Proxy_Broker_ (0)
{
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
}

void
CosNotifyComm::NotifyPublish::CosNotifyComm_NotifyPublish_setup_collocation ()
{
  if (::CosNotifyComm__TAO_NotifyPublish_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_NotifyPublish_Proxy_Broker_ =
        ::CosNotifyComm__TAO_NotifyPublish_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosNotifyComm::NotifyPublish::~NotifyPublish (void)
{}

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

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<NotifyPublish>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/NotifyPublish:1.0",
        CosNotifyComm__TAO_NotifyPublish_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<NotifyPublish>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/NotifyPublish:1.0",
        CosNotifyComm__TAO_NotifyPublish_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_duplicate (NotifyPublish_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::NotifyPublish::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_NotifyPublish[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  44,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f4e6f), 
  ACE_NTOHL (0x74696679), 
  ACE_NTOHL (0x5075626c), 
  ACE_NTOHL (0x6973683a), 
  ACE_NTOHL (0x312e3000),  // repository ID = IDL:omg.org/CosNotifyComm/NotifyPublish:1.0
    14,
  ACE_NTOHL (0x4e6f7469), 
  ACE_NTOHL (0x66795075), 
  ACE_NTOHL (0x626c6973), 
  ACE_NTOHL (0x68000000),  // name = NotifyPublish
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_NotifyPublish (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_NotifyPublish),
    (char *) &_oc_CosNotifyComm_NotifyPublish,
    0,
    sizeof (CosNotifyComm::NotifyPublish)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_NotifyPublish =
    &_tc_TAO_tc_CosNotifyComm_NotifyPublish;
}

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

// Traits specializations for CosNotifyComm::NotifySubscribe.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::NotifySubscribe_ptr
TAO::Objref_Traits<CosNotifyComm::NotifySubscribe>::tao_duplicate (
    CosNotifyComm::NotifySubscribe_ptr p
  )
{
  return CosNotifyComm::NotifySubscribe::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::NotifySubscribe>::tao_release (
    CosNotifyComm::NotifySubscribe_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::NotifySubscribe_ptr
TAO::Objref_Traits<CosNotifyComm::NotifySubscribe>::tao_nil (void)
{
  return CosNotifyComm::NotifySubscribe::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::NotifySubscribe>::tao_marshal (
    CosNotifyComm::NotifySubscribe_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::NotifySubscribe::subscription_change (
    const ::CosNotification::EventTypeSeq & added,
    const ::CosNotification::EventTypeSeq & removed
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosNotifyComm::InvalidEventType
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_NotifySubscribe_Proxy_Broker_ == 0)
    {
      CosNotifyComm_NotifySubscribe_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosNotification::EventTypeSeq>::in_arg_val _tao_added (added);
  TAO::Arg_Traits< ::CosNotification::EventTypeSeq>::in_arg_val _tao_removed (removed);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_added,
      &_tao_removed
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_NotifySubscribe_subscription_change_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosNotifyComm/InvalidEventType:1.0",
        CosNotifyComm::InvalidEventType::_alloc,
        CosNotifyComm::_tc_InvalidEventType
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "subscription_change",
      19,
      this->the_TAO_NotifySubscribe_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_NotifySubscribe_subscription_change_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

CosNotifyComm::NotifySubscribe::NotifySubscribe (void)
 : the_TAO_NotifySubscribe_Proxy_Broker_ (0)
{
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
}

void
CosNotifyComm::NotifySubscribe::CosNotifyComm_NotifySubscribe_setup_collocation ()
{
  if (::CosNotifyComm__TAO_NotifySubscribe_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_NotifySubscribe_Proxy_Broker_ =
        ::CosNotifyComm__TAO_NotifySubscribe_Proxy_Broker_Factory_function_pointer (this);
    }
}

CosNotifyComm::NotifySubscribe::~NotifySubscribe (void)
{}

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

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<NotifySubscribe>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/NotifySubscribe:1.0",
        CosNotifyComm__TAO_NotifySubscribe_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<NotifySubscribe>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/NotifySubscribe:1.0",
        CosNotifyComm__TAO_NotifySubscribe_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_duplicate (NotifySubscribe_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::NotifySubscribe::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_NotifySubscribe[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  46,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f4e6f), 
  ACE_NTOHL (0x74696679), 
  ACE_NTOHL (0x53756273), 
  ACE_NTOHL (0x63726962), 
  ACE_NTOHL (0x653a312e), 
  ACE_NTOHL (0x30000000),  // repository ID = IDL:omg.org/CosNotifyComm/NotifySubscribe:1.0
    16,
  ACE_NTOHL (0x4e6f7469), 
  ACE_NTOHL (0x66795375), 
  ACE_NTOHL (0x62736372), 
  ACE_NTOHL (0x69626500),  // name = NotifySubscribe
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_NotifySubscribe (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_NotifySubscribe),
    (char *) &_oc_CosNotifyComm_NotifySubscribe,
    0,
    sizeof (CosNotifyComm::NotifySubscribe)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_NotifySubscribe =
    &_tc_TAO_tc_CosNotifyComm_NotifySubscribe;
}

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

// Traits specializations for CosNotifyComm::PushConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::PushConsumer>::tao_duplicate (
    CosNotifyComm::PushConsumer_ptr p
  )
{
  return CosNotifyComm::PushConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::PushConsumer>::tao_release (
    CosNotifyComm::PushConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::PushConsumer>::tao_nil (void)
{
  return CosNotifyComm::PushConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::PushConsumer>::tao_marshal (
    CosNotifyComm::PushConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosNotifyComm::PushConsumer::PushConsumer (void)
 : the_TAO_PushConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_PushConsumer_setup_collocation ();
}

void
CosNotifyComm::PushConsumer::CosNotifyComm_PushConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_PushConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_PushConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_PushConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
  this->CosEventComm_PushConsumer_setup_collocation ();
}

CosNotifyComm::PushConsumer::~PushConsumer (void)
{}

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

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PushConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PushConsumer:1.0",
        CosNotifyComm__TAO_PushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PushConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PushConsumer:1.0",
        CosNotifyComm__TAO_PushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_duplicate (PushConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::PushConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_PushConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  43,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5075), 
  ACE_NTOHL (0x7368436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/PushConsumer:1.0
    13,
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x0),  // name = PushConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_PushConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_PushConsumer),
    (char *) &_oc_CosNotifyComm_PushConsumer,
    0,
    sizeof (CosNotifyComm::PushConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_PushConsumer =
    &_tc_TAO_tc_CosNotifyComm_PushConsumer;
}

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

// Traits specializations for CosNotifyComm::PullConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::PullConsumer>::tao_duplicate (
    CosNotifyComm::PullConsumer_ptr p
  )
{
  return CosNotifyComm::PullConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::PullConsumer>::tao_release (
    CosNotifyComm::PullConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::PullConsumer>::tao_nil (void)
{
  return CosNotifyComm::PullConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::PullConsumer>::tao_marshal (
    CosNotifyComm::PullConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosNotifyComm::PullConsumer::PullConsumer (void)
 : the_TAO_PullConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_PullConsumer_setup_collocation ();
}

void
CosNotifyComm::PullConsumer::CosNotifyComm_PullConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_PullConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_PullConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_PullConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
  this->CosEventComm_PullConsumer_setup_collocation ();
}

CosNotifyComm::PullConsumer::~PullConsumer (void)
{}

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

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PullConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PullConsumer:1.0",
        CosNotifyComm__TAO_PullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PullConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PullConsumer:1.0",
        CosNotifyComm__TAO_PullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_duplicate (PullConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::PullConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_PullConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  43,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5075), 
  ACE_NTOHL (0x6c6c436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/PullConsumer:1.0
    13,
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x0),  // name = PullConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_PullConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_PullConsumer),
    (char *) &_oc_CosNotifyComm_PullConsumer,
    0,
    sizeof (CosNotifyComm::PullConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_PullConsumer =
    &_tc_TAO_tc_CosNotifyComm_PullConsumer;
}

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

// Traits specializations for CosNotifyComm::PullSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::PullSupplier>::tao_duplicate (
    CosNotifyComm::PullSupplier_ptr p
  )
{
  return CosNotifyComm::PullSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::PullSupplier>::tao_release (
    CosNotifyComm::PullSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::PullSupplier>::tao_nil (void)
{
  return CosNotifyComm::PullSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::PullSupplier>::tao_marshal (
    CosNotifyComm::PullSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosNotifyComm::PullSupplier::PullSupplier (void)
 : the_TAO_PullSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_PullSupplier_setup_collocation ();
}

void
CosNotifyComm::PullSupplier::CosNotifyComm_PullSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_PullSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_PullSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_PullSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
  this->CosEventComm_PullSupplier_setup_collocation ();
}

CosNotifyComm::PullSupplier::~PullSupplier (void)
{}

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

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PullSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PullSupplier:1.0",
        CosNotifyComm__TAO_PullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PullSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PullSupplier:1.0",
        CosNotifyComm__TAO_PullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_duplicate (PullSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::PullSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_PullSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  43,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5075), 
  ACE_NTOHL (0x6c6c5375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/PullSupplier:1.0
    13,
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x0),  // name = PullSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_PullSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_PullSupplier),
    (char *) &_oc_CosNotifyComm_PullSupplier,
    0,
    sizeof (CosNotifyComm::PullSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_PullSupplier =
    &_tc_TAO_tc_CosNotifyComm_PullSupplier;
}

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

// Traits specializations for CosNotifyComm::PushSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::PushSupplier>::tao_duplicate (
    CosNotifyComm::PushSupplier_ptr p
  )
{
  return CosNotifyComm::PushSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::PushSupplier>::tao_release (
    CosNotifyComm::PushSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::PushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::PushSupplier>::tao_nil (void)
{
  return CosNotifyComm::PushSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::PushSupplier>::tao_marshal (
    CosNotifyComm::PushSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

CosNotifyComm::PushSupplier::PushSupplier (void)
 : the_TAO_PushSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_PushSupplier_setup_collocation ();
}

void
CosNotifyComm::PushSupplier::CosNotifyComm_PushSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_PushSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_PushSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_PushSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
  this->CosEventComm_PushSupplier_setup_collocation ();
}

CosNotifyComm::PushSupplier::~PushSupplier (void)
{}

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

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PushSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PushSupplier:1.0",
        CosNotifyComm__TAO_PushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<PushSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/PushSupplier:1.0",
        CosNotifyComm__TAO_PushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_duplicate (PushSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::PushSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_PushSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  43,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5075), 
  ACE_NTOHL (0x73685375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/PushSupplier:1.0
    13,
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x0),  // name = PushSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_PushSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_PushSupplier),
    (char *) &_oc_CosNotifyComm_PushSupplier,
    0,
    sizeof (CosNotifyComm::PushSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_PushSupplier =
    &_tc_TAO_tc_CosNotifyComm_PushSupplier;
}

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

// Traits specializations for CosNotifyComm::StructuredPushConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPushConsumer>::tao_duplicate (
    CosNotifyComm::StructuredPushConsumer_ptr p
  )
{
  return CosNotifyComm::StructuredPushConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::StructuredPushConsumer>::tao_release (
    CosNotifyComm::StructuredPushConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPushConsumer>::tao_nil (void)
{
  return CosNotifyComm::StructuredPushConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::StructuredPushConsumer>::tao_marshal (
    CosNotifyComm::StructuredPushConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::StructuredPushConsumer::push_structured_event (
    const ::CosNotification::StructuredEvent & notification
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_StructuredPushConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPushConsumer_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosNotification::StructuredEvent>::in_arg_val _tao_notification (notification);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_notification
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_StructuredPushConsumer_push_structured_event_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "push_structured_event",
      21,
      this->the_TAO_StructuredPushConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_StructuredPushConsumer_push_structured_event_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

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

void CosNotifyComm::StructuredPushConsumer::disconnect_structured_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_StructuredPushConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPushConsumer_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,
      "disconnect_structured_push_consumer",
      35,
      this->the_TAO_StructuredPushConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::StructuredPushConsumer::StructuredPushConsumer (void)
 : the_TAO_StructuredPushConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_StructuredPushConsumer_setup_collocation ();
}

void
CosNotifyComm::StructuredPushConsumer::CosNotifyComm_StructuredPushConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_StructuredPushConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_StructuredPushConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_StructuredPushConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
}

CosNotifyComm::StructuredPushConsumer::~StructuredPushConsumer (void)
{}

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

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPushConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPushConsumer:1.0",
        CosNotifyComm__TAO_StructuredPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPushConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPushConsumer:1.0",
        CosNotifyComm__TAO_StructuredPushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_duplicate (StructuredPushConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::StructuredPushConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_StructuredPushConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  53,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5374), 
  ACE_NTOHL (0x72756374), 
  ACE_NTOHL (0x75726564), 
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosNotifyComm/StructuredPushConsumer:1.0
    23,
  ACE_NTOHL (0x53747275), 
  ACE_NTOHL (0x63747572), 
  ACE_NTOHL (0x65645075), 
  ACE_NTOHL (0x7368436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65720000),  // name = StructuredPushConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_StructuredPushConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_StructuredPushConsumer),
    (char *) &_oc_CosNotifyComm_StructuredPushConsumer,
    0,
    sizeof (CosNotifyComm::StructuredPushConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_StructuredPushConsumer =
    &_tc_TAO_tc_CosNotifyComm_StructuredPushConsumer;
}

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

// Traits specializations for CosNotifyComm::StructuredPullConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPullConsumer>::tao_duplicate (
    CosNotifyComm::StructuredPullConsumer_ptr p
  )
{
  return CosNotifyComm::StructuredPullConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::StructuredPullConsumer>::tao_release (
    CosNotifyComm::StructuredPullConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPullConsumer>::tao_nil (void)
{
  return CosNotifyComm::StructuredPullConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::StructuredPullConsumer>::tao_marshal (
    CosNotifyComm::StructuredPullConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::StructuredPullConsumer::disconnect_structured_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_StructuredPullConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPullConsumer_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,
      "disconnect_structured_pull_consumer",
      35,
      this->the_TAO_StructuredPullConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::StructuredPullConsumer::StructuredPullConsumer (void)
 : the_TAO_StructuredPullConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_StructuredPullConsumer_setup_collocation ();
}

void
CosNotifyComm::StructuredPullConsumer::CosNotifyComm_StructuredPullConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_StructuredPullConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_StructuredPullConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_StructuredPullConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
}

CosNotifyComm::StructuredPullConsumer::~StructuredPullConsumer (void)
{}

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

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPullConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPullConsumer:1.0",
        CosNotifyComm__TAO_StructuredPullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPullConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPullConsumer:1.0",
        CosNotifyComm__TAO_StructuredPullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_duplicate (StructuredPullConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::StructuredPullConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_StructuredPullConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  53,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5374), 
  ACE_NTOHL (0x72756374), 
  ACE_NTOHL (0x75726564), 
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosNotifyComm/StructuredPullConsumer:1.0
    23,
  ACE_NTOHL (0x53747275), 
  ACE_NTOHL (0x63747572), 
  ACE_NTOHL (0x65645075), 
  ACE_NTOHL (0x6c6c436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65720000),  // name = StructuredPullConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_StructuredPullConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_StructuredPullConsumer),
    (char *) &_oc_CosNotifyComm_StructuredPullConsumer,
    0,
    sizeof (CosNotifyComm::StructuredPullConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_StructuredPullConsumer =
    &_tc_TAO_tc_CosNotifyComm_StructuredPullConsumer;
}

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

// Traits specializations for CosNotifyComm::StructuredPullSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPullSupplier>::tao_duplicate (
    CosNotifyComm::StructuredPullSupplier_ptr p
  )
{
  return CosNotifyComm::StructuredPullSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::StructuredPullSupplier>::tao_release (
    CosNotifyComm::StructuredPullSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPullSupplier>::tao_nil (void)
{
  return CosNotifyComm::StructuredPullSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::StructuredPullSupplier>::tao_marshal (
    CosNotifyComm::StructuredPullSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosNotification::StructuredEvent * CosNotifyComm::StructuredPullSupplier::pull_structured_event (
    ACE_ENV_SINGLE_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_StructuredPullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPullSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosNotification::StructuredEvent>::ret_val _tao_retval;
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_StructuredPullSupplier_pull_structured_event_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      1,
      "pull_structured_event",
      21,
      this->the_TAO_StructuredPullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_StructuredPullSupplier_pull_structured_event_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

::CosNotification::StructuredEvent * CosNotifyComm::StructuredPullSupplier::try_pull_structured_event (
    ::CORBA::Boolean_out has_event
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_StructuredPullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPullSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosNotification::StructuredEvent>::ret_val _tao_retval;
  TAO::Arg_Traits< ACE_InputCDR::to_boolean>::out_arg_val _tao_has_event (has_event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_has_event
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_StructuredPullSupplier_try_pull_structured_event_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "try_pull_structured_event",
      25,
      this->the_TAO_StructuredPullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_StructuredPullSupplier_try_pull_structured_event_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

void CosNotifyComm::StructuredPullSupplier::disconnect_structured_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_StructuredPullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPullSupplier_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,
      "disconnect_structured_pull_supplier",
      35,
      this->the_TAO_StructuredPullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::StructuredPullSupplier::StructuredPullSupplier (void)
 : the_TAO_StructuredPullSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_StructuredPullSupplier_setup_collocation ();
}

void
CosNotifyComm::StructuredPullSupplier::CosNotifyComm_StructuredPullSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_StructuredPullSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_StructuredPullSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_StructuredPullSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
}

CosNotifyComm::StructuredPullSupplier::~StructuredPullSupplier (void)
{}

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

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPullSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPullSupplier:1.0",
        CosNotifyComm__TAO_StructuredPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPullSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPullSupplier:1.0",
        CosNotifyComm__TAO_StructuredPullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_duplicate (StructuredPullSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::StructuredPullSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_StructuredPullSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  53,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5374), 
  ACE_NTOHL (0x72756374), 
  ACE_NTOHL (0x75726564), 
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosNotifyComm/StructuredPullSupplier:1.0
    23,
  ACE_NTOHL (0x53747275), 
  ACE_NTOHL (0x63747572), 
  ACE_NTOHL (0x65645075), 
  ACE_NTOHL (0x6c6c5375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65720000),  // name = StructuredPullSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_StructuredPullSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_StructuredPullSupplier),
    (char *) &_oc_CosNotifyComm_StructuredPullSupplier,
    0,
    sizeof (CosNotifyComm::StructuredPullSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_StructuredPullSupplier =
    &_tc_TAO_tc_CosNotifyComm_StructuredPullSupplier;
}

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

// Traits specializations for CosNotifyComm::StructuredPushSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPushSupplier>::tao_duplicate (
    CosNotifyComm::StructuredPushSupplier_ptr p
  )
{
  return CosNotifyComm::StructuredPushSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::StructuredPushSupplier>::tao_release (
    CosNotifyComm::StructuredPushSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::StructuredPushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::StructuredPushSupplier>::tao_nil (void)
{
  return CosNotifyComm::StructuredPushSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::StructuredPushSupplier>::tao_marshal (
    CosNotifyComm::StructuredPushSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::StructuredPushSupplier::disconnect_structured_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_StructuredPushSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_StructuredPushSupplier_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,
      "disconnect_structured_push_supplier",
      35,
      this->the_TAO_StructuredPushSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::StructuredPushSupplier::StructuredPushSupplier (void)
 : the_TAO_StructuredPushSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_StructuredPushSupplier_setup_collocation ();
}

void
CosNotifyComm::StructuredPushSupplier::CosNotifyComm_StructuredPushSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_StructuredPushSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_StructuredPushSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_StructuredPushSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
}

CosNotifyComm::StructuredPushSupplier::~StructuredPushSupplier (void)
{}

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

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPushSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPushSupplier:1.0",
        CosNotifyComm__TAO_StructuredPushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<StructuredPushSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/StructuredPushSupplier:1.0",
        CosNotifyComm__TAO_StructuredPushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_duplicate (StructuredPushSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::StructuredPushSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_StructuredPushSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  53,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5374), 
  ACE_NTOHL (0x72756374), 
  ACE_NTOHL (0x75726564), 
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x3a312e30), 
  ACE_NTOHL (0x0),  // repository ID = IDL:omg.org/CosNotifyComm/StructuredPushSupplier:1.0
    23,
  ACE_NTOHL (0x53747275), 
  ACE_NTOHL (0x63747572), 
  ACE_NTOHL (0x65645075), 
  ACE_NTOHL (0x73685375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65720000),  // name = StructuredPushSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_StructuredPushSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_StructuredPushSupplier),
    (char *) &_oc_CosNotifyComm_StructuredPushSupplier,
    0,
    sizeof (CosNotifyComm::StructuredPushSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_StructuredPushSupplier =
    &_tc_TAO_tc_CosNotifyComm_StructuredPushSupplier;
}

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

// Traits specializations for CosNotifyComm::SequencePushConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePushConsumer>::tao_duplicate (
    CosNotifyComm::SequencePushConsumer_ptr p
  )
{
  return CosNotifyComm::SequencePushConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::SequencePushConsumer>::tao_release (
    CosNotifyComm::SequencePushConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePushConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePushConsumer>::tao_nil (void)
{
  return CosNotifyComm::SequencePushConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::SequencePushConsumer>::tao_marshal (
    CosNotifyComm::SequencePushConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::SequencePushConsumer::push_structured_events (
    const ::CosNotification::EventBatch & notifications
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_SequencePushConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePushConsumer_setup_collocation ();
    }
  
  TAO::Arg_Traits< void>::ret_val _tao_retval;
  TAO::Arg_Traits< ::CosNotification::EventBatch>::in_arg_val _tao_notifications (notifications);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_notifications
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_SequencePushConsumer_push_structured_events_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "push_structured_events",
      22,
      this->the_TAO_SequencePushConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_SequencePushConsumer_push_structured_events_exceptiondata,
      1
      ACE_ENV_ARG_PARAMETER
    );
  ACE_CHECK;
}

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

void CosNotifyComm::SequencePushConsumer::disconnect_sequence_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_SequencePushConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePushConsumer_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,
      "disconnect_sequence_push_consumer",
      33,
      this->the_TAO_SequencePushConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::SequencePushConsumer::SequencePushConsumer (void)
 : the_TAO_SequencePushConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_SequencePushConsumer_setup_collocation ();
}

void
CosNotifyComm::SequencePushConsumer::CosNotifyComm_SequencePushConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_SequencePushConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_SequencePushConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_SequencePushConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
}

CosNotifyComm::SequencePushConsumer::~SequencePushConsumer (void)
{}

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

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePushConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0",
        CosNotifyComm__TAO_SequencePushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePushConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0",
        CosNotifyComm__TAO_SequencePushConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_duplicate (SequencePushConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::SequencePushConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_SequencePushConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5365), 
  ACE_NTOHL (0x7175656e), 
  ACE_NTOHL (0x63655075), 
  ACE_NTOHL (0x7368436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0
    21,
  ACE_NTOHL (0x53657175), 
  ACE_NTOHL (0x656e6365), 
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x0),  // name = SequencePushConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_SequencePushConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_SequencePushConsumer),
    (char *) &_oc_CosNotifyComm_SequencePushConsumer,
    0,
    sizeof (CosNotifyComm::SequencePushConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_SequencePushConsumer =
    &_tc_TAO_tc_CosNotifyComm_SequencePushConsumer;
}

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

// Traits specializations for CosNotifyComm::SequencePullConsumer.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePullConsumer>::tao_duplicate (
    CosNotifyComm::SequencePullConsumer_ptr p
  )
{
  return CosNotifyComm::SequencePullConsumer::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::SequencePullConsumer>::tao_release (
    CosNotifyComm::SequencePullConsumer_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePullConsumer_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePullConsumer>::tao_nil (void)
{
  return CosNotifyComm::SequencePullConsumer::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::SequencePullConsumer>::tao_marshal (
    CosNotifyComm::SequencePullConsumer_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::SequencePullConsumer::disconnect_sequence_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_SequencePullConsumer_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePullConsumer_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,
      "disconnect_sequence_pull_consumer",
      33,
      this->the_TAO_SequencePullConsumer_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::SequencePullConsumer::SequencePullConsumer (void)
 : the_TAO_SequencePullConsumer_Proxy_Broker_ (0)
{
  this->CosNotifyComm_SequencePullConsumer_setup_collocation ();
}

void
CosNotifyComm::SequencePullConsumer::CosNotifyComm_SequencePullConsumer_setup_collocation ()
{
  if (::CosNotifyComm__TAO_SequencePullConsumer_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_SequencePullConsumer_Proxy_Broker_ =
        ::CosNotifyComm__TAO_SequencePullConsumer_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifyPublish_setup_collocation ();
}

CosNotifyComm::SequencePullConsumer::~SequencePullConsumer (void)
{}

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

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePullConsumer>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePullConsumer:1.0",
        CosNotifyComm__TAO_SequencePullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePullConsumer>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePullConsumer:1.0",
        CosNotifyComm__TAO_SequencePullConsumer_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_duplicate (SequencePullConsumer_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::SequencePullConsumer::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_SequencePullConsumer[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5365), 
  ACE_NTOHL (0x7175656e), 
  ACE_NTOHL (0x63655075), 
  ACE_NTOHL (0x6c6c436f), 
  ACE_NTOHL (0x6e73756d), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/SequencePullConsumer:1.0
    21,
  ACE_NTOHL (0x53657175), 
  ACE_NTOHL (0x656e6365), 
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x436f6e73), 
  ACE_NTOHL (0x756d6572), 
  ACE_NTOHL (0x0),  // name = SequencePullConsumer
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_SequencePullConsumer (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_SequencePullConsumer),
    (char *) &_oc_CosNotifyComm_SequencePullConsumer,
    0,
    sizeof (CosNotifyComm::SequencePullConsumer)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_SequencePullConsumer =
    &_tc_TAO_tc_CosNotifyComm_SequencePullConsumer;
}

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

// Traits specializations for CosNotifyComm::SequencePullSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePullSupplier>::tao_duplicate (
    CosNotifyComm::SequencePullSupplier_ptr p
  )
{
  return CosNotifyComm::SequencePullSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::SequencePullSupplier>::tao_release (
    CosNotifyComm::SequencePullSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePullSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePullSupplier>::tao_nil (void)
{
  return CosNotifyComm::SequencePullSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::SequencePullSupplier>::tao_marshal (
    CosNotifyComm::SequencePullSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

::CosNotification::EventBatch * CosNotifyComm::SequencePullSupplier::pull_structured_events (
    ::CORBA::Long max_number
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_SequencePullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePullSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosNotification::EventBatch>::ret_val _tao_retval;
  TAO::Arg_Traits< CORBA::Long>::in_arg_val _tao_max_number (max_number);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_max_number
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_SequencePullSupplier_pull_structured_events_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      2,
      "pull_structured_events",
      22,
      this->the_TAO_SequencePullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_SequencePullSupplier_pull_structured_events_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

::CosNotification::EventBatch * CosNotifyComm::SequencePullSupplier::try_pull_structured_events (
    ::CORBA::Long max_number,
    ::CORBA::Boolean_out has_event
    ACE_ENV_ARG_DECL
  )
  ACE_THROW_SPEC ((
    CORBA::SystemException,
    ::CosEventComm::Disconnected
  ))
{
  if (!this->is_evaluated ())
    {
      ACE_NESTED_CLASS (CORBA, Object)::tao_object_initialize (this);
    }
  
  if (this->the_TAO_SequencePullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePullSupplier_setup_collocation ();
    }
  
  TAO::Arg_Traits< ::CosNotification::EventBatch>::ret_val _tao_retval;
  TAO::Arg_Traits< CORBA::Long>::in_arg_val _tao_max_number (max_number);
  TAO::Arg_Traits< ACE_InputCDR::to_boolean>::out_arg_val _tao_has_event (has_event);
  
  TAO::Argument *_the_tao_operation_signature [] =
    {
      &_tao_retval,
      &_tao_max_number,
      &_tao_has_event
    };
  
  static TAO::Exception_Data
  _tao_CosNotifyComm_SequencePullSupplier_try_pull_structured_events_exceptiondata [] = 
    {
      {
        "IDL:omg.org/CosEventComm/Disconnected:1.0",
        CosEventComm::Disconnected::_alloc,
        CosEventComm::_tc_Disconnected
      }
    };
  
  TAO::Invocation_Adapter _tao_call (
      this,
      _the_tao_operation_signature,
      3,
      "try_pull_structured_events",
      26,
      this->the_TAO_SequencePullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (
      _tao_CosNotifyComm_SequencePullSupplier_try_pull_structured_events_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

void CosNotifyComm::SequencePullSupplier::disconnect_sequence_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_SequencePullSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePullSupplier_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,
      "disconnect_sequence_pull_supplier",
      33,
      this->the_TAO_SequencePullSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::SequencePullSupplier::SequencePullSupplier (void)
 : the_TAO_SequencePullSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_SequencePullSupplier_setup_collocation ();
}

void
CosNotifyComm::SequencePullSupplier::CosNotifyComm_SequencePullSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_SequencePullSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_SequencePullSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_SequencePullSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
}

CosNotifyComm::SequencePullSupplier::~SequencePullSupplier (void)
{}

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

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePullSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePullSupplier:1.0",
        CosNotifyComm__TAO_SequencePullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePullSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePullSupplier:1.0",
        CosNotifyComm__TAO_SequencePullSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_duplicate (SequencePullSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::SequencePullSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_SequencePullSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5365), 
  ACE_NTOHL (0x7175656e), 
  ACE_NTOHL (0x63655075), 
  ACE_NTOHL (0x6c6c5375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/SequencePullSupplier:1.0
    21,
  ACE_NTOHL (0x53657175), 
  ACE_NTOHL (0x656e6365), 
  ACE_NTOHL (0x50756c6c), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x0),  // name = SequencePullSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_SequencePullSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_SequencePullSupplier),
    (char *) &_oc_CosNotifyComm_SequencePullSupplier,
    0,
    sizeof (CosNotifyComm::SequencePullSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_SequencePullSupplier =
    &_tc_TAO_tc_CosNotifyComm_SequencePullSupplier;
}

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

// Traits specializations for CosNotifyComm::SequencePushSupplier.

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePushSupplier>::tao_duplicate (
    CosNotifyComm::SequencePushSupplier_ptr p
  )
{
  return CosNotifyComm::SequencePushSupplier::_duplicate (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
void
TAO::Objref_Traits<CosNotifyComm::SequencePushSupplier>::tao_release (
    CosNotifyComm::SequencePushSupplier_ptr p
  )
{
  CORBA::release (p);
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CosNotifyComm::SequencePushSupplier_ptr
TAO::Objref_Traits<CosNotifyComm::SequencePushSupplier>::tao_nil (void)
{
  return CosNotifyComm::SequencePushSupplier::_nil ();
}

ACE_TEMPLATE_CLASS_MEMBER_SPECIALIZATION
CORBA::Boolean
TAO::Objref_Traits<CosNotifyComm::SequencePushSupplier>::tao_marshal (
    CosNotifyComm::SequencePushSupplier_ptr p,
    TAO_OutputCDR & cdr
  )
{
  return CORBA::Object::marshal (p, cdr);
}

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

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

void CosNotifyComm::SequencePushSupplier::disconnect_sequence_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_SequencePushSupplier_Proxy_Broker_ == 0)
    {
      CosNotifyComm_SequencePushSupplier_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,
      "disconnect_sequence_push_supplier",
      33,
      this->the_TAO_SequencePushSupplier_Proxy_Broker_
    );
  
  _tao_call.invoke (0, 0 ACE_ENV_ARG_PARAMETER);
  ACE_CHECK;
}

CosNotifyComm::SequencePushSupplier::SequencePushSupplier (void)
 : the_TAO_SequencePushSupplier_Proxy_Broker_ (0)
{
  this->CosNotifyComm_SequencePushSupplier_setup_collocation ();
}

void
CosNotifyComm::SequencePushSupplier::CosNotifyComm_SequencePushSupplier_setup_collocation ()
{
  if (::CosNotifyComm__TAO_SequencePushSupplier_Proxy_Broker_Factory_function_pointer)
    {
      this->the_TAO_SequencePushSupplier_Proxy_Broker_ =
        ::CosNotifyComm__TAO_SequencePushSupplier_Proxy_Broker_Factory_function_pointer (this);
    }
  
  this->CosNotifyComm_NotifySubscribe_setup_collocation ();
}

CosNotifyComm::SequencePushSupplier::~SequencePushSupplier (void)
{}

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

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePushSupplier>::narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePushSupplier:1.0",
        CosNotifyComm__TAO_SequencePushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_unchecked_narrow (
    CORBA::Object_ptr _tao_objref
    ACE_ENV_ARG_DECL
  )
{
  return
    TAO::Narrow_Utils<SequencePushSupplier>::unchecked_narrow (
        _tao_objref,
        "IDL:omg.org/CosNotifyComm/SequencePushSupplier:1.0",
        CosNotifyComm__TAO_SequencePushSupplier_Proxy_Broker_Factory_function_pointer
        ACE_ENV_ARG_PARAMETER
      );
}

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_duplicate (SequencePushSupplier_ptr obj)
{
  if (! CORBA::is_nil (obj))
    {
      obj->_add_ref ();
    }
  
  return obj;
}

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

CORBA::Boolean
CosNotifyComm::SequencePushSupplier::marshal (TAO_OutputCDR &cdr)
{
  return (cdr << this);
}

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

static const CORBA::Long _oc_CosNotifyComm_SequencePushSupplier[] =
{
    TAO_ENCAP_BYTE_ORDER, // byte order
  51,
  ACE_NTOHL (0x49444c3a), 
  ACE_NTOHL (0x6f6d672e), 
  ACE_NTOHL (0x6f72672f), 
  ACE_NTOHL (0x436f734e), 
  ACE_NTOHL (0x6f746966), 
  ACE_NTOHL (0x79436f6d), 
  ACE_NTOHL (0x6d2f5365), 
  ACE_NTOHL (0x7175656e), 
  ACE_NTOHL (0x63655075), 
  ACE_NTOHL (0x73685375), 
  ACE_NTOHL (0x70706c69), 
  ACE_NTOHL (0x65723a31), 
  ACE_NTOHL (0x2e300000),  // repository ID = IDL:omg.org/CosNotifyComm/SequencePushSupplier:1.0
    21,
  ACE_NTOHL (0x53657175), 
  ACE_NTOHL (0x656e6365), 
  ACE_NTOHL (0x50757368), 
  ACE_NTOHL (0x53757070), 
  ACE_NTOHL (0x6c696572), 
  ACE_NTOHL (0x0),  // name = SequencePushSupplier
  };

static CORBA::TypeCode _tc_TAO_tc_CosNotifyComm_SequencePushSupplier (
    CORBA::tk_objref,
    sizeof (_oc_CosNotifyComm_SequencePushSupplier),
    (char *) &_oc_CosNotifyComm_SequencePushSupplier,
    0,
    sizeof (CosNotifyComm::SequencePushSupplier)
  );

namespace CosNotifyComm
{
  ::CORBA::TypeCode_ptr _tc_SequencePushSupplier =
    &_tc_TAO_tc_CosNotifyComm_SequencePushSupplier;
}

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

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

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

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

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

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::NotifyPublish_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::NotifyPublish>::extract (
        _tao_any,
        CosNotifyComm::NotifyPublish::_tao_any_destructor,
        CosNotifyComm::_tc_NotifyPublish,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::NotifySubscribe_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::NotifySubscribe>::extract (
        _tao_any,
        CosNotifyComm::NotifySubscribe::_tao_any_destructor,
        CosNotifyComm::_tc_NotifySubscribe,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::PushConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::PushConsumer>::extract (
        _tao_any,
        CosNotifyComm::PushConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_PushConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::PullConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::PullConsumer>::extract (
        _tao_any,
        CosNotifyComm::PullConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_PullConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::PullSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::PullSupplier>::extract (
        _tao_any,
        CosNotifyComm::PullSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_PullSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::PushSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::PushSupplier>::extract (
        _tao_any,
        CosNotifyComm::PushSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_PushSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::StructuredPushConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::StructuredPushConsumer>::extract (
        _tao_any,
        CosNotifyComm::StructuredPushConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_StructuredPushConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::StructuredPullConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::StructuredPullConsumer>::extract (
        _tao_any,
        CosNotifyComm::StructuredPullConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_StructuredPullConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::StructuredPullSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::StructuredPullSupplier>::extract (
        _tao_any,
        CosNotifyComm::StructuredPullSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_StructuredPullSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::StructuredPushSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::StructuredPushSupplier>::extract (
        _tao_any,
        CosNotifyComm::StructuredPushSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_StructuredPushSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::SequencePushConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::SequencePushConsumer>::extract (
        _tao_any,
        CosNotifyComm::SequencePushConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_SequencePushConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::SequencePullConsumer_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::SequencePullConsumer>::extract (
        _tao_any,
        CosNotifyComm::SequencePullConsumer::_tao_any_destructor,
        CosNotifyComm::_tc_SequencePullConsumer,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::SequencePullSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::SequencePullSupplier>::extract (
        _tao_any,
        CosNotifyComm::SequencePullSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_SequencePullSupplier,
        _tao_elem
      );
}

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

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

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

CORBA::Boolean
operator>>= (
    const CORBA::Any &_tao_any,
    CosNotifyComm::SequencePushSupplier_ptr &_tao_elem
  )
{
  return
    TAO::Any_Impl_T<CosNotifyComm::SequencePushSupplier>::extract (
        _tao_any,
        CosNotifyComm::SequencePushSupplier::_tao_any_destructor,
        CosNotifyComm::_tc_SequencePushSupplier,
        _tao_elem
      );
}

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

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

CORBA::Boolean operator>> (
    TAO_InputCDR &strm,
    CosNotifyComm::InvalidEventType &_tao_aggregate
  )
{
  // Demarshal the members.
  if (
    (strm >> _tao_aggregate.type)
  )
    {
      return 1;
    }
  else
    {
      return 0;
    }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

