// This file is generated by omniidl (C++ backend) - omniORB_4_3. Do not edit.

#include "CosNotifyComm.hh"
#include <omniORB4/IOP_S.h>
#include <omniORB4/IOP_C.h>
#include <omniORB4/callDescriptor.h>
#include <omniORB4/callHandle.h>
#include <omniORB4/objTracker.h>


OMNI_USING_NAMESPACE(omni)

OMNI_MAYBE_UNUSED static const char* _0RL_library_version = omniORB_4_3;



::CORBA::Exception::insertExceptionToAny CosNotifyComm::InvalidEventType::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyComm::InvalidEventType::insertToAnyFnNCP = 0;

CosNotifyComm::InvalidEventType::InvalidEventType(const CosNotifyComm::InvalidEventType& _s) : ::CORBA::UserException(_s)
{
  type = _s.type;

}

CosNotifyComm::InvalidEventType::InvalidEventType(const CosNotification::EventType& _type)
{
  pd_insertToAnyFn    = CosNotifyComm::InvalidEventType::insertToAnyFn;
  pd_insertToAnyFnNCP = CosNotifyComm::InvalidEventType::insertToAnyFnNCP;
  type = _type;

}



CosNotifyComm::InvalidEventType& CosNotifyComm::InvalidEventType::operator=(const CosNotifyComm::InvalidEventType& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    type = _s.type;

  }
  return *this;
}

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

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

const char* CosNotifyComm::InvalidEventType::_PD_repoId = "IDL:omg.org/CosNotifyComm/InvalidEventType:1.0";
const char* CosNotifyComm::InvalidEventType::_PD_typeId = "Exception/UserException/CosNotifyComm::InvalidEventType";

CosNotifyComm::InvalidEventType* CosNotifyComm::InvalidEventType::_downcast(::CORBA::Exception* _e) {
  return (InvalidEventType*) _NP_is_a(_e, _PD_typeId);
}

const CosNotifyComm::InvalidEventType* CosNotifyComm::InvalidEventType::_downcast(const ::CORBA::Exception* _e) {
  return (const InvalidEventType*) _NP_is_a(_e, _PD_typeId);
}

::CORBA::Exception* CosNotifyComm::InvalidEventType::_NP_duplicate() const {
  return new InvalidEventType(*this);
}

const char* CosNotifyComm::InvalidEventType::_NP_typeId() const {
  return _PD_typeId;
}

const char* CosNotifyComm::InvalidEventType::_NP_repoId(int* _size) const {
  *_size = sizeof("IDL:omg.org/CosNotifyComm/InvalidEventType:1.0");
  return _PD_repoId;
}
 
void CosNotifyComm::InvalidEventType::_NP_marshal(cdrStream& _s) const {
  *this >>= _s;
}

void
CosNotifyComm::InvalidEventType::operator>>= (cdrStream& _n) const
{
  (const CosNotification::EventType&) type >>= _n;

}

void
CosNotifyComm::InvalidEventType::operator<<= (cdrStream& _n)
{
  (CosNotification::EventType&)type <<= _n;

}

CosNotifyComm::NotifyPublish_ptr CosNotifyComm::NotifyPublish_Helper::_nil() {
  return ::CosNotifyComm::NotifyPublish::_nil();
}

::CORBA::Boolean CosNotifyComm::NotifyPublish_Helper::is_nil(::CosNotifyComm::NotifyPublish_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::NotifyPublish_Helper::release(::CosNotifyComm::NotifyPublish_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::NotifyPublish_Helper::marshalObjRef(::CosNotifyComm::NotifyPublish_ptr obj, cdrStream& s) {
  ::CosNotifyComm::NotifyPublish::_marshalObjRef(obj, s);
}

CosNotifyComm::NotifyPublish_ptr CosNotifyComm::NotifyPublish_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::NotifyPublish::_unmarshalObjRef(s);
}

void CosNotifyComm::NotifyPublish_Helper::duplicate(::CosNotifyComm::NotifyPublish_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_duplicate(::CosNotifyComm::NotifyPublish_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::NotifyPublish_ptr
CosNotifyComm::NotifyPublish::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_NotifyPublish _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_NotifyPublish* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_NotifyPublish;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::NotifyPublish::_PD_repoId = "IDL:omg.org/CosNotifyComm/NotifyPublish:1.0";


CosNotifyComm::_objref_NotifyPublish::~_objref_NotifyPublish() {
  
}


CosNotifyComm::_objref_NotifyPublish::_objref_NotifyPublish(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::NotifyPublish::_PD_repoId, ior, id, 1)
   
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_NotifyPublish::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::NotifyPublish::offer_change

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotification_mEventTypeSeq_i_cCosNotification_mEventTypeSeq_e_cCosNotifyComm_mInvalidEventType
class _0RL_cd_4b6b86183777b6c2_00000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_00000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  CosNotification::EventTypeSeq_var arg_0_;
  const CosNotification::EventTypeSeq* arg_0;
  CosNotification::EventTypeSeq_var arg_1_;
  const CosNotification::EventTypeSeq* arg_1;
};

void _0RL_cd_4b6b86183777b6c2_00000000::marshalArguments(cdrStream& _n)
{
  (const CosNotification::EventTypeSeq&) *arg_0 >>= _n;
  (const CosNotification::EventTypeSeq&) *arg_1 >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_00000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CosNotification::EventTypeSeq;
  (CosNotification::EventTypeSeq&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();
  arg_1_ = new CosNotification::EventTypeSeq;
  (CosNotification::EventTypeSeq&)arg_1_ <<= _n;
  arg_1 = &arg_1_.in();

}

const char* const _0RL_cd_4b6b86183777b6c2_00000000::_user_exns[] = {
  CosNotifyComm::InvalidEventType::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_00000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyComm::InvalidEventType::_PD_repoId)) {
    CosNotifyComm::InvalidEventType _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_10000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_00000000* tcd = (_0RL_cd_4b6b86183777b6c2_00000000*)cd;
  CosNotifyComm::_impl_NotifyPublish* impl = (CosNotifyComm::_impl_NotifyPublish*) svnt->_ptrToInterface(CosNotifyComm::NotifyPublish::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->offer_change(*tcd->arg_0, *tcd->arg_1);
#else
  if (!cd->is_upcall())
    impl->offer_change(*tcd->arg_0, *tcd->arg_1);
  else {
    try {
      impl->offer_change(*tcd->arg_0, *tcd->arg_1);
    }
    catch(CosNotifyComm::InvalidEventType& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyComm::_objref_NotifyPublish::offer_change(const ::CosNotification::EventTypeSeq& added, const ::CosNotification::EventTypeSeq& removed)
{
  _0RL_cd_4b6b86183777b6c2_00000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_10000000, "offer_change", 13);
  _call_desc.arg_0 = &(::CosNotification::EventTypeSeq&) added;
  _call_desc.arg_1 = &(::CosNotification::EventTypeSeq&) removed;

  _invoke(_call_desc);



}

CosNotifyComm::_pof_NotifyPublish::~_pof_NotifyPublish() {}


omniObjRef*
CosNotifyComm::_pof_NotifyPublish::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_NotifyPublish(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_NotifyPublish::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;
  
  return 0;
}

const CosNotifyComm::_pof_NotifyPublish _the_pof_CosNotifyComm_mNotifyPublish;

CosNotifyComm::_impl_NotifyPublish::~_impl_NotifyPublish() {}


::CORBA::Boolean
CosNotifyComm::_impl_NotifyPublish::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "offer_change")) {

    _0RL_cd_4b6b86183777b6c2_00000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_10000000, "offer_change", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }


  return 0;
}

void*
CosNotifyComm::_impl_NotifyPublish::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_NotifyPublish::_mostDerivedRepoId()
{
  return ::CosNotifyComm::NotifyPublish::_PD_repoId;
}

CosNotifyComm::NotifySubscribe_ptr CosNotifyComm::NotifySubscribe_Helper::_nil() {
  return ::CosNotifyComm::NotifySubscribe::_nil();
}

::CORBA::Boolean CosNotifyComm::NotifySubscribe_Helper::is_nil(::CosNotifyComm::NotifySubscribe_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::NotifySubscribe_Helper::release(::CosNotifyComm::NotifySubscribe_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::NotifySubscribe_Helper::marshalObjRef(::CosNotifyComm::NotifySubscribe_ptr obj, cdrStream& s) {
  ::CosNotifyComm::NotifySubscribe::_marshalObjRef(obj, s);
}

CosNotifyComm::NotifySubscribe_ptr CosNotifyComm::NotifySubscribe_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::NotifySubscribe::_unmarshalObjRef(s);
}

void CosNotifyComm::NotifySubscribe_Helper::duplicate(::CosNotifyComm::NotifySubscribe_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_duplicate(::CosNotifyComm::NotifySubscribe_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::NotifySubscribe_ptr
CosNotifyComm::NotifySubscribe::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_NotifySubscribe _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_NotifySubscribe* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_NotifySubscribe;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::NotifySubscribe::_PD_repoId = "IDL:omg.org/CosNotifyComm/NotifySubscribe:1.0";


CosNotifyComm::_objref_NotifySubscribe::~_objref_NotifySubscribe() {
  
}


CosNotifyComm::_objref_NotifySubscribe::_objref_NotifySubscribe(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::NotifySubscribe::_PD_repoId, ior, id, 1)
   
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_NotifySubscribe::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::NotifySubscribe::subscription_change

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_20000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_00000000* tcd = (_0RL_cd_4b6b86183777b6c2_00000000*)cd;
  CosNotifyComm::_impl_NotifySubscribe* impl = (CosNotifyComm::_impl_NotifySubscribe*) svnt->_ptrToInterface(CosNotifyComm::NotifySubscribe::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->subscription_change(*tcd->arg_0, *tcd->arg_1);
#else
  if (!cd->is_upcall())
    impl->subscription_change(*tcd->arg_0, *tcd->arg_1);
  else {
    try {
      impl->subscription_change(*tcd->arg_0, *tcd->arg_1);
    }
    catch(CosNotifyComm::InvalidEventType& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyComm::_objref_NotifySubscribe::subscription_change(const ::CosNotification::EventTypeSeq& added, const ::CosNotification::EventTypeSeq& removed)
{
  _0RL_cd_4b6b86183777b6c2_00000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_20000000, "subscription_change", 20);
  _call_desc.arg_0 = &(::CosNotification::EventTypeSeq&) added;
  _call_desc.arg_1 = &(::CosNotification::EventTypeSeq&) removed;

  _invoke(_call_desc);



}

CosNotifyComm::_pof_NotifySubscribe::~_pof_NotifySubscribe() {}


omniObjRef*
CosNotifyComm::_pof_NotifySubscribe::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_NotifySubscribe(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_NotifySubscribe::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;
  
  return 0;
}

const CosNotifyComm::_pof_NotifySubscribe _the_pof_CosNotifyComm_mNotifySubscribe;

CosNotifyComm::_impl_NotifySubscribe::~_impl_NotifySubscribe() {}


::CORBA::Boolean
CosNotifyComm::_impl_NotifySubscribe::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "subscription_change")) {

    _0RL_cd_4b6b86183777b6c2_00000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_20000000, "subscription_change", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }


  return 0;
}

void*
CosNotifyComm::_impl_NotifySubscribe::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;
  
  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_NotifySubscribe::_mostDerivedRepoId()
{
  return ::CosNotifyComm::NotifySubscribe::_PD_repoId;
}

CosNotifyComm::PushConsumer_ptr CosNotifyComm::PushConsumer_Helper::_nil() {
  return ::CosNotifyComm::PushConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::PushConsumer_Helper::is_nil(::CosNotifyComm::PushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::PushConsumer_Helper::release(::CosNotifyComm::PushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::PushConsumer_Helper::marshalObjRef(::CosNotifyComm::PushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::PushConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::PushConsumer_ptr CosNotifyComm::PushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::PushConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::PushConsumer_Helper::duplicate(::CosNotifyComm::PushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_duplicate(::CosNotifyComm::PushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::PushConsumer_ptr
CosNotifyComm::PushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_PushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_PushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_PushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::PushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/PushConsumer:1.0";


typedef CosEventComm::PushConsumer CosEventComm_PushConsumer;
typedef CosEventComm::_impl_PushConsumer CosEventComm__impl_PushConsumer;
typedef CosEventComm::_objref_PushConsumer CosEventComm__objref_PushConsumer;

CosNotifyComm::_objref_PushConsumer::~_objref_PushConsumer() {
  
}


CosNotifyComm::_objref_PushConsumer::_objref_PushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::PushConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id),
   CosEventComm__objref_PushConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_PushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::PushConsumer::_PD_repoId)
    return (::CosNotifyComm::PushConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;

  if (id == ::CosEventComm::PushConsumer::_PD_repoId)
    return (::CosEventComm::PushConsumer_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::PushConsumer::_PD_repoId))
    return (::CosNotifyComm::PushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;

  if (omni::strMatch(id, ::CosEventComm::PushConsumer::_PD_repoId))
    return (::CosEventComm::PushConsumer_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CosNotifyComm::_pof_PushConsumer::~_pof_PushConsumer() {}


omniObjRef*
CosNotifyComm::_pof_PushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_PushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_PushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::PushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventComm::PushConsumer::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_PushConsumer _the_pof_CosNotifyComm_mPushConsumer;

CosNotifyComm::_impl_PushConsumer::~_impl_PushConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_PushConsumer::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (CosEventComm__impl_PushConsumer::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((CosEventComm__impl_PushConsumer*)this)->
      CosEventComm__impl_PushConsumer::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_PushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::PushConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_PushConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;

  if (id == ::CosEventComm::PushConsumer::_PD_repoId)
    return (::CosEventComm::_impl_PushConsumer*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::PushConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_PushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;

  if (omni::strMatch(id, ::CosEventComm::PushConsumer::_PD_repoId))
    return (::CosEventComm::_impl_PushConsumer*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_PushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::PushConsumer::_PD_repoId;
}

CosNotifyComm::PullConsumer_ptr CosNotifyComm::PullConsumer_Helper::_nil() {
  return ::CosNotifyComm::PullConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::PullConsumer_Helper::is_nil(::CosNotifyComm::PullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::PullConsumer_Helper::release(::CosNotifyComm::PullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::PullConsumer_Helper::marshalObjRef(::CosNotifyComm::PullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::PullConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::PullConsumer_ptr CosNotifyComm::PullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::PullConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::PullConsumer_Helper::duplicate(::CosNotifyComm::PullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_duplicate(::CosNotifyComm::PullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::PullConsumer_ptr
CosNotifyComm::PullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_PullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_PullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_PullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::PullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/PullConsumer:1.0";


typedef CosEventComm::PullConsumer CosEventComm_PullConsumer;
typedef CosEventComm::_impl_PullConsumer CosEventComm__impl_PullConsumer;
typedef CosEventComm::_objref_PullConsumer CosEventComm__objref_PullConsumer;

CosNotifyComm::_objref_PullConsumer::~_objref_PullConsumer() {
  
}


CosNotifyComm::_objref_PullConsumer::_objref_PullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::PullConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id),
   CosEventComm__objref_PullConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_PullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::PullConsumer::_PD_repoId)
    return (::CosNotifyComm::PullConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;

  if (id == ::CosEventComm::PullConsumer::_PD_repoId)
    return (::CosEventComm::PullConsumer_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::PullConsumer::_PD_repoId))
    return (::CosNotifyComm::PullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;

  if (omni::strMatch(id, ::CosEventComm::PullConsumer::_PD_repoId))
    return (::CosEventComm::PullConsumer_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CosNotifyComm::_pof_PullConsumer::~_pof_PullConsumer() {}


omniObjRef*
CosNotifyComm::_pof_PullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_PullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_PullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::PullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventComm::PullConsumer::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_PullConsumer _the_pof_CosNotifyComm_mPullConsumer;

CosNotifyComm::_impl_PullConsumer::~_impl_PullConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_PullConsumer::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (CosEventComm__impl_PullConsumer::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((CosEventComm__impl_PullConsumer*)this)->
      CosEventComm__impl_PullConsumer::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_PullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::PullConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_PullConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;

  if (id == ::CosEventComm::PullConsumer::_PD_repoId)
    return (::CosEventComm::_impl_PullConsumer*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::PullConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_PullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;

  if (omni::strMatch(id, ::CosEventComm::PullConsumer::_PD_repoId))
    return (::CosEventComm::_impl_PullConsumer*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_PullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::PullConsumer::_PD_repoId;
}

CosNotifyComm::PullSupplier_ptr CosNotifyComm::PullSupplier_Helper::_nil() {
  return ::CosNotifyComm::PullSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::PullSupplier_Helper::is_nil(::CosNotifyComm::PullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::PullSupplier_Helper::release(::CosNotifyComm::PullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::PullSupplier_Helper::marshalObjRef(::CosNotifyComm::PullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::PullSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::PullSupplier_ptr CosNotifyComm::PullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::PullSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::PullSupplier_Helper::duplicate(::CosNotifyComm::PullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_duplicate(::CosNotifyComm::PullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::PullSupplier_ptr
CosNotifyComm::PullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_PullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_PullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_PullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::PullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/PullSupplier:1.0";


typedef CosEventComm::PullSupplier CosEventComm_PullSupplier;
typedef CosEventComm::_impl_PullSupplier CosEventComm__impl_PullSupplier;
typedef CosEventComm::_objref_PullSupplier CosEventComm__objref_PullSupplier;

CosNotifyComm::_objref_PullSupplier::~_objref_PullSupplier() {
  
}


CosNotifyComm::_objref_PullSupplier::_objref_PullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::PullSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id),
   CosEventComm__objref_PullSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_PullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::PullSupplier::_PD_repoId)
    return (::CosNotifyComm::PullSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;

  if (id == ::CosEventComm::PullSupplier::_PD_repoId)
    return (::CosEventComm::PullSupplier_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::PullSupplier::_PD_repoId))
    return (::CosNotifyComm::PullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;

  if (omni::strMatch(id, ::CosEventComm::PullSupplier::_PD_repoId))
    return (::CosEventComm::PullSupplier_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CosNotifyComm::_pof_PullSupplier::~_pof_PullSupplier() {}


omniObjRef*
CosNotifyComm::_pof_PullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_PullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_PullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::PullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventComm::PullSupplier::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_PullSupplier _the_pof_CosNotifyComm_mPullSupplier;

CosNotifyComm::_impl_PullSupplier::~_impl_PullSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_PullSupplier::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (CosEventComm__impl_PullSupplier::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((CosEventComm__impl_PullSupplier*)this)->
      CosEventComm__impl_PullSupplier::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_PullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::PullSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_PullSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;

  if (id == ::CosEventComm::PullSupplier::_PD_repoId)
    return (::CosEventComm::_impl_PullSupplier*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::PullSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_PullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;

  if (omni::strMatch(id, ::CosEventComm::PullSupplier::_PD_repoId))
    return (::CosEventComm::_impl_PullSupplier*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_PullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::PullSupplier::_PD_repoId;
}

CosNotifyComm::PushSupplier_ptr CosNotifyComm::PushSupplier_Helper::_nil() {
  return ::CosNotifyComm::PushSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::PushSupplier_Helper::is_nil(::CosNotifyComm::PushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::PushSupplier_Helper::release(::CosNotifyComm::PushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::PushSupplier_Helper::marshalObjRef(::CosNotifyComm::PushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::PushSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::PushSupplier_ptr CosNotifyComm::PushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::PushSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::PushSupplier_Helper::duplicate(::CosNotifyComm::PushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_duplicate(::CosNotifyComm::PushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::PushSupplier_ptr
CosNotifyComm::PushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_PushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_PushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_PushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::PushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/PushSupplier:1.0";


typedef CosEventComm::PushSupplier CosEventComm_PushSupplier;
typedef CosEventComm::_impl_PushSupplier CosEventComm__impl_PushSupplier;
typedef CosEventComm::_objref_PushSupplier CosEventComm__objref_PushSupplier;

CosNotifyComm::_objref_PushSupplier::~_objref_PushSupplier() {
  
}


CosNotifyComm::_objref_PushSupplier::_objref_PushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::PushSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id),
   CosEventComm__objref_PushSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_PushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::PushSupplier::_PD_repoId)
    return (::CosNotifyComm::PushSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;

  if (id == ::CosEventComm::PushSupplier::_PD_repoId)
    return (::CosEventComm::PushSupplier_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::PushSupplier::_PD_repoId))
    return (::CosNotifyComm::PushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;

  if (omni::strMatch(id, ::CosEventComm::PushSupplier::_PD_repoId))
    return (::CosEventComm::PushSupplier_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}

CosNotifyComm::_pof_PushSupplier::~_pof_PushSupplier() {}


omniObjRef*
CosNotifyComm::_pof_PushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_PushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_PushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::PushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventComm::PushSupplier::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_PushSupplier _the_pof_CosNotifyComm_mPushSupplier;

CosNotifyComm::_impl_PushSupplier::~_impl_PushSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_PushSupplier::_dispatch(omniCallHandle& _handle)
{
  

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif

  
#ifndef _MSC_VER
  if (CosEventComm__impl_PushSupplier::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((CosEventComm__impl_PushSupplier*)this)->
      CosEventComm__impl_PushSupplier::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_PushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::PushSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_PushSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;

  if (id == ::CosEventComm::PushSupplier::_PD_repoId)
    return (::CosEventComm::_impl_PushSupplier*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::PushSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_PushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;

  if (omni::strMatch(id, ::CosEventComm::PushSupplier::_PD_repoId))
    return (::CosEventComm::_impl_PushSupplier*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_PushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::PushSupplier::_PD_repoId;
}

CosNotifyComm::StructuredPushConsumer_ptr CosNotifyComm::StructuredPushConsumer_Helper::_nil() {
  return ::CosNotifyComm::StructuredPushConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::StructuredPushConsumer_Helper::is_nil(::CosNotifyComm::StructuredPushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::StructuredPushConsumer_Helper::release(::CosNotifyComm::StructuredPushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::StructuredPushConsumer_Helper::marshalObjRef(::CosNotifyComm::StructuredPushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::StructuredPushConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::StructuredPushConsumer_ptr CosNotifyComm::StructuredPushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::StructuredPushConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::StructuredPushConsumer_Helper::duplicate(::CosNotifyComm::StructuredPushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_duplicate(::CosNotifyComm::StructuredPushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::StructuredPushConsumer_ptr
CosNotifyComm::StructuredPushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredPushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredPushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredPushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::StructuredPushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/StructuredPushConsumer:1.0";


CosNotifyComm::_objref_StructuredPushConsumer::~_objref_StructuredPushConsumer() {
  
}


CosNotifyComm::_objref_StructuredPushConsumer::_objref_StructuredPushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::StructuredPushConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_StructuredPushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPushConsumer::_PD_repoId)
    return (::CosNotifyComm::StructuredPushConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPushConsumer::_PD_repoId))
    return (::CosNotifyComm::StructuredPushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::StructuredPushConsumer::push_structured_event

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotification_mStructuredEvent_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_30000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_30000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  CosNotification::StructuredEvent_var arg_0_;
  const CosNotification::StructuredEvent* arg_0;
};

void _0RL_cd_4b6b86183777b6c2_30000000::marshalArguments(cdrStream& _n)
{
  (const CosNotification::StructuredEvent&) *arg_0 >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_30000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CosNotification::StructuredEvent;
  (CosNotification::StructuredEvent&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_4b6b86183777b6c2_30000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_30000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_40000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_30000000* tcd = (_0RL_cd_4b6b86183777b6c2_30000000*)cd;
  CosNotifyComm::_impl_StructuredPushConsumer* impl = (CosNotifyComm::_impl_StructuredPushConsumer*) svnt->_ptrToInterface(CosNotifyComm::StructuredPushConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->push_structured_event(*tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->push_structured_event(*tcd->arg_0);
  else {
    try {
      impl->push_structured_event(*tcd->arg_0);
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyComm::_objref_StructuredPushConsumer::push_structured_event(const ::CosNotification::StructuredEvent& notification)
{
  _0RL_cd_4b6b86183777b6c2_30000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_40000000, "push_structured_event", 22);
  _call_desc.arg_0 = &(::CosNotification::StructuredEvent&) notification;

  _invoke(_call_desc);



}


//
// Code for CosNotifyComm::StructuredPushConsumer::disconnect_structured_push_consumer

// Proxy call descriptor class. Mangled signature:
//  void
class _0RL_cd_4b6b86183777b6c2_50000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_50000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 0, upcall)
  {
    
  }
  
  
    
  
  static const char* const _user_exns[];

  
};

const char* const _0RL_cd_4b6b86183777b6c2_50000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_60000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_StructuredPushConsumer* impl = (CosNotifyComm::_impl_StructuredPushConsumer*) svnt->_ptrToInterface(CosNotifyComm::StructuredPushConsumer::_PD_repoId);
  impl->disconnect_structured_push_consumer();


}

void CosNotifyComm::_objref_StructuredPushConsumer::disconnect_structured_push_consumer()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_60000000, "disconnect_structured_push_consumer", 36);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_StructuredPushConsumer::~_pof_StructuredPushConsumer() {}


omniObjRef*
CosNotifyComm::_pof_StructuredPushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_StructuredPushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_StructuredPushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::StructuredPushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_StructuredPushConsumer _the_pof_CosNotifyComm_mStructuredPushConsumer;

CosNotifyComm::_impl_StructuredPushConsumer::~_impl_StructuredPushConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_StructuredPushConsumer::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "push_structured_event")) {

    _0RL_cd_4b6b86183777b6c2_30000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_40000000, "push_structured_event", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "disconnect_structured_push_consumer")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_60000000, "disconnect_structured_push_consumer", 36, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_StructuredPushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPushConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPushConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPushConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_StructuredPushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_StructuredPushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::StructuredPushConsumer::_PD_repoId;
}

CosNotifyComm::StructuredPullConsumer_ptr CosNotifyComm::StructuredPullConsumer_Helper::_nil() {
  return ::CosNotifyComm::StructuredPullConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::StructuredPullConsumer_Helper::is_nil(::CosNotifyComm::StructuredPullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::StructuredPullConsumer_Helper::release(::CosNotifyComm::StructuredPullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::StructuredPullConsumer_Helper::marshalObjRef(::CosNotifyComm::StructuredPullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::StructuredPullConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::StructuredPullConsumer_ptr CosNotifyComm::StructuredPullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::StructuredPullConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::StructuredPullConsumer_Helper::duplicate(::CosNotifyComm::StructuredPullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_duplicate(::CosNotifyComm::StructuredPullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::StructuredPullConsumer_ptr
CosNotifyComm::StructuredPullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredPullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredPullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredPullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::StructuredPullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/StructuredPullConsumer:1.0";


CosNotifyComm::_objref_StructuredPullConsumer::~_objref_StructuredPullConsumer() {
  
}


CosNotifyComm::_objref_StructuredPullConsumer::_objref_StructuredPullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::StructuredPullConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_StructuredPullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPullConsumer::_PD_repoId)
    return (::CosNotifyComm::StructuredPullConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPullConsumer::_PD_repoId))
    return (::CosNotifyComm::StructuredPullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::StructuredPullConsumer::disconnect_structured_pull_consumer

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_70000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_StructuredPullConsumer* impl = (CosNotifyComm::_impl_StructuredPullConsumer*) svnt->_ptrToInterface(CosNotifyComm::StructuredPullConsumer::_PD_repoId);
  impl->disconnect_structured_pull_consumer();


}

void CosNotifyComm::_objref_StructuredPullConsumer::disconnect_structured_pull_consumer()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_70000000, "disconnect_structured_pull_consumer", 36);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_StructuredPullConsumer::~_pof_StructuredPullConsumer() {}


omniObjRef*
CosNotifyComm::_pof_StructuredPullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_StructuredPullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_StructuredPullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::StructuredPullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_StructuredPullConsumer _the_pof_CosNotifyComm_mStructuredPullConsumer;

CosNotifyComm::_impl_StructuredPullConsumer::~_impl_StructuredPullConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_StructuredPullConsumer::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "disconnect_structured_pull_consumer")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_70000000, "disconnect_structured_pull_consumer", 36, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_StructuredPullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPullConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPullConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPullConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_StructuredPullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_StructuredPullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::StructuredPullConsumer::_PD_repoId;
}

CosNotifyComm::StructuredPullSupplier_ptr CosNotifyComm::StructuredPullSupplier_Helper::_nil() {
  return ::CosNotifyComm::StructuredPullSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::StructuredPullSupplier_Helper::is_nil(::CosNotifyComm::StructuredPullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::StructuredPullSupplier_Helper::release(::CosNotifyComm::StructuredPullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::StructuredPullSupplier_Helper::marshalObjRef(::CosNotifyComm::StructuredPullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::StructuredPullSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::StructuredPullSupplier_ptr CosNotifyComm::StructuredPullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::StructuredPullSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::StructuredPullSupplier_Helper::duplicate(::CosNotifyComm::StructuredPullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_duplicate(::CosNotifyComm::StructuredPullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::StructuredPullSupplier_ptr
CosNotifyComm::StructuredPullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredPullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredPullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredPullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::StructuredPullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/StructuredPullSupplier:1.0";


CosNotifyComm::_objref_StructuredPullSupplier::~_objref_StructuredPullSupplier() {
  
}


CosNotifyComm::_objref_StructuredPullSupplier::_objref_StructuredPullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::StructuredPullSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_StructuredPullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPullSupplier::_PD_repoId)
    return (::CosNotifyComm::StructuredPullSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPullSupplier::_PD_repoId))
    return (::CosNotifyComm::StructuredPullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::StructuredPullSupplier::pull_structured_event

// Proxy call descriptor class. Mangled signature:
//  _cCosNotification_mStructuredEvent_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_80000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_80000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  CosNotification::StructuredEvent_var result;
};

void _0RL_cd_4b6b86183777b6c2_80000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::StructuredEvent&) result >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_80000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotification::StructuredEvent;
  (CosNotification::StructuredEvent&)result <<= _n;

}

const char* const _0RL_cd_4b6b86183777b6c2_80000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_80000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_90000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_80000000* tcd = (_0RL_cd_4b6b86183777b6c2_80000000*)cd;
  CosNotifyComm::_impl_StructuredPullSupplier* impl = (CosNotifyComm::_impl_StructuredPullSupplier*) svnt->_ptrToInterface(CosNotifyComm::StructuredPullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->pull_structured_event();
#else
  if (!cd->is_upcall())
    tcd->result = impl->pull_structured_event();
  else {
    try {
      tcd->result = impl->pull_structured_event();
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotification::StructuredEvent* CosNotifyComm::_objref_StructuredPullSupplier::pull_structured_event()
{
  _0RL_cd_4b6b86183777b6c2_80000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_90000000, "pull_structured_event", 22);


  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CosNotifyComm::StructuredPullSupplier::try_pull_structured_event

// Proxy call descriptor class. Mangled signature:
//  _cCosNotification_mStructuredEvent_o_cboolean_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_a0000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_a0000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  
  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  ::CORBA::Boolean arg_0;
  CosNotification::StructuredEvent_var result;
};

void _0RL_cd_4b6b86183777b6c2_a0000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::StructuredEvent&) result >>= _n;
  _n.marshalBoolean(arg_0);

}

void _0RL_cd_4b6b86183777b6c2_a0000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotification::StructuredEvent;
  (CosNotification::StructuredEvent&)result <<= _n;
  arg_0 = _n.unmarshalBoolean();

}

const char* const _0RL_cd_4b6b86183777b6c2_a0000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_a0000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_b0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_a0000000* tcd = (_0RL_cd_4b6b86183777b6c2_a0000000*)cd;
  CosNotifyComm::_impl_StructuredPullSupplier* impl = (CosNotifyComm::_impl_StructuredPullSupplier*) svnt->_ptrToInterface(CosNotifyComm::StructuredPullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->try_pull_structured_event(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->try_pull_structured_event(tcd->arg_0);
  else {
    try {
      tcd->result = impl->try_pull_structured_event(tcd->arg_0);
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotification::StructuredEvent* CosNotifyComm::_objref_StructuredPullSupplier::try_pull_structured_event(::CORBA::Boolean& has_event)
{
  _0RL_cd_4b6b86183777b6c2_a0000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_b0000000, "try_pull_structured_event", 26);


  _invoke(_call_desc);
  has_event = _call_desc.arg_0;
  return _call_desc.result._retn();


}


//
// Code for CosNotifyComm::StructuredPullSupplier::disconnect_structured_pull_supplier

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_c0000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_StructuredPullSupplier* impl = (CosNotifyComm::_impl_StructuredPullSupplier*) svnt->_ptrToInterface(CosNotifyComm::StructuredPullSupplier::_PD_repoId);
  impl->disconnect_structured_pull_supplier();


}

void CosNotifyComm::_objref_StructuredPullSupplier::disconnect_structured_pull_supplier()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_c0000000, "disconnect_structured_pull_supplier", 36);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_StructuredPullSupplier::~_pof_StructuredPullSupplier() {}


omniObjRef*
CosNotifyComm::_pof_StructuredPullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_StructuredPullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_StructuredPullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::StructuredPullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_StructuredPullSupplier _the_pof_CosNotifyComm_mStructuredPullSupplier;

CosNotifyComm::_impl_StructuredPullSupplier::~_impl_StructuredPullSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_StructuredPullSupplier::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "pull_structured_event")) {

    _0RL_cd_4b6b86183777b6c2_80000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_90000000, "pull_structured_event", 22, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "try_pull_structured_event")) {

    _0RL_cd_4b6b86183777b6c2_a0000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_b0000000, "try_pull_structured_event", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "disconnect_structured_pull_supplier")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_c0000000, "disconnect_structured_pull_supplier", 36, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_StructuredPullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPullSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPullSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPullSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_StructuredPullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_StructuredPullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::StructuredPullSupplier::_PD_repoId;
}

CosNotifyComm::StructuredPushSupplier_ptr CosNotifyComm::StructuredPushSupplier_Helper::_nil() {
  return ::CosNotifyComm::StructuredPushSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::StructuredPushSupplier_Helper::is_nil(::CosNotifyComm::StructuredPushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::StructuredPushSupplier_Helper::release(::CosNotifyComm::StructuredPushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::StructuredPushSupplier_Helper::marshalObjRef(::CosNotifyComm::StructuredPushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::StructuredPushSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::StructuredPushSupplier_ptr CosNotifyComm::StructuredPushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::StructuredPushSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::StructuredPushSupplier_Helper::duplicate(::CosNotifyComm::StructuredPushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_duplicate(::CosNotifyComm::StructuredPushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::StructuredPushSupplier_ptr
CosNotifyComm::StructuredPushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredPushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredPushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredPushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::StructuredPushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/StructuredPushSupplier:1.0";


CosNotifyComm::_objref_StructuredPushSupplier::~_objref_StructuredPushSupplier() {
  
}


CosNotifyComm::_objref_StructuredPushSupplier::_objref_StructuredPushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::StructuredPushSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_StructuredPushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPushSupplier::_PD_repoId)
    return (::CosNotifyComm::StructuredPushSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPushSupplier::_PD_repoId))
    return (::CosNotifyComm::StructuredPushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::StructuredPushSupplier::disconnect_structured_push_supplier

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_d0000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_StructuredPushSupplier* impl = (CosNotifyComm::_impl_StructuredPushSupplier*) svnt->_ptrToInterface(CosNotifyComm::StructuredPushSupplier::_PD_repoId);
  impl->disconnect_structured_push_supplier();


}

void CosNotifyComm::_objref_StructuredPushSupplier::disconnect_structured_push_supplier()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_d0000000, "disconnect_structured_push_supplier", 36);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_StructuredPushSupplier::~_pof_StructuredPushSupplier() {}


omniObjRef*
CosNotifyComm::_pof_StructuredPushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_StructuredPushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_StructuredPushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::StructuredPushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_StructuredPushSupplier _the_pof_CosNotifyComm_mStructuredPushSupplier;

CosNotifyComm::_impl_StructuredPushSupplier::~_impl_StructuredPushSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_StructuredPushSupplier::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "disconnect_structured_push_supplier")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_d0000000, "disconnect_structured_push_supplier", 36, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_StructuredPushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::StructuredPushSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPushSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::StructuredPushSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_StructuredPushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_StructuredPushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::StructuredPushSupplier::_PD_repoId;
}

CosNotifyComm::SequencePushConsumer_ptr CosNotifyComm::SequencePushConsumer_Helper::_nil() {
  return ::CosNotifyComm::SequencePushConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::SequencePushConsumer_Helper::is_nil(::CosNotifyComm::SequencePushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::SequencePushConsumer_Helper::release(::CosNotifyComm::SequencePushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::SequencePushConsumer_Helper::marshalObjRef(::CosNotifyComm::SequencePushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::SequencePushConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::SequencePushConsumer_ptr CosNotifyComm::SequencePushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::SequencePushConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::SequencePushConsumer_Helper::duplicate(::CosNotifyComm::SequencePushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_duplicate(::CosNotifyComm::SequencePushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::SequencePushConsumer_ptr
CosNotifyComm::SequencePushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequencePushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequencePushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequencePushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::SequencePushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/SequencePushConsumer:1.0";


CosNotifyComm::_objref_SequencePushConsumer::~_objref_SequencePushConsumer() {
  
}


CosNotifyComm::_objref_SequencePushConsumer::_objref_SequencePushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::SequencePushConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_SequencePushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::SequencePushConsumer::_PD_repoId)
    return (::CosNotifyComm::SequencePushConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePushConsumer::_PD_repoId))
    return (::CosNotifyComm::SequencePushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::SequencePushConsumer::push_structured_events

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotification_mEventBatch_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_e0000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_e0000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

    
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  CosNotification::EventBatch_var arg_0_;
  const CosNotification::EventBatch* arg_0;
};

void _0RL_cd_4b6b86183777b6c2_e0000000::marshalArguments(cdrStream& _n)
{
  (const CosNotification::EventBatch&) *arg_0 >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_e0000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = new CosNotification::EventBatch;
  (CosNotification::EventBatch&)arg_0_ <<= _n;
  arg_0 = &arg_0_.in();

}

const char* const _0RL_cd_4b6b86183777b6c2_e0000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_e0000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_f0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_e0000000* tcd = (_0RL_cd_4b6b86183777b6c2_e0000000*)cd;
  CosNotifyComm::_impl_SequencePushConsumer* impl = (CosNotifyComm::_impl_SequencePushConsumer*) svnt->_ptrToInterface(CosNotifyComm::SequencePushConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->push_structured_events(*tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->push_structured_events(*tcd->arg_0);
  else {
    try {
      impl->push_structured_events(*tcd->arg_0);
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyComm::_objref_SequencePushConsumer::push_structured_events(const ::CosNotification::EventBatch& notifications)
{
  _0RL_cd_4b6b86183777b6c2_e0000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_f0000000, "push_structured_events", 23);
  _call_desc.arg_0 = &(::CosNotification::EventBatch&) notifications;

  _invoke(_call_desc);



}


//
// Code for CosNotifyComm::SequencePushConsumer::disconnect_sequence_push_consumer

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_01000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_SequencePushConsumer* impl = (CosNotifyComm::_impl_SequencePushConsumer*) svnt->_ptrToInterface(CosNotifyComm::SequencePushConsumer::_PD_repoId);
  impl->disconnect_sequence_push_consumer();


}

void CosNotifyComm::_objref_SequencePushConsumer::disconnect_sequence_push_consumer()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_01000000, "disconnect_sequence_push_consumer", 34);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_SequencePushConsumer::~_pof_SequencePushConsumer() {}


omniObjRef*
CosNotifyComm::_pof_SequencePushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_SequencePushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_SequencePushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::SequencePushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_SequencePushConsumer _the_pof_CosNotifyComm_mSequencePushConsumer;

CosNotifyComm::_impl_SequencePushConsumer::~_impl_SequencePushConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_SequencePushConsumer::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "push_structured_events")) {

    _0RL_cd_4b6b86183777b6c2_e0000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_f0000000, "push_structured_events", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "disconnect_sequence_push_consumer")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_01000000, "disconnect_sequence_push_consumer", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_SequencePushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::SequencePushConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePushConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePushConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_SequencePushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_SequencePushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::SequencePushConsumer::_PD_repoId;
}

CosNotifyComm::SequencePullConsumer_ptr CosNotifyComm::SequencePullConsumer_Helper::_nil() {
  return ::CosNotifyComm::SequencePullConsumer::_nil();
}

::CORBA::Boolean CosNotifyComm::SequencePullConsumer_Helper::is_nil(::CosNotifyComm::SequencePullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::SequencePullConsumer_Helper::release(::CosNotifyComm::SequencePullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::SequencePullConsumer_Helper::marshalObjRef(::CosNotifyComm::SequencePullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyComm::SequencePullConsumer::_marshalObjRef(obj, s);
}

CosNotifyComm::SequencePullConsumer_ptr CosNotifyComm::SequencePullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::SequencePullConsumer::_unmarshalObjRef(s);
}

void CosNotifyComm::SequencePullConsumer_Helper::duplicate(::CosNotifyComm::SequencePullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_duplicate(::CosNotifyComm::SequencePullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::SequencePullConsumer_ptr
CosNotifyComm::SequencePullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequencePullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequencePullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequencePullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::SequencePullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyComm/SequencePullConsumer:1.0";


CosNotifyComm::_objref_SequencePullConsumer::~_objref_SequencePullConsumer() {
  
}


CosNotifyComm::_objref_SequencePullConsumer::_objref_SequencePullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::SequencePullConsumer::_PD_repoId, ior, id, 1),
   _objref_NotifyPublish(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_SequencePullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::SequencePullConsumer::_PD_repoId)
    return (::CosNotifyComm::SequencePullConsumer_ptr) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePullConsumer::_PD_repoId))
    return (::CosNotifyComm::SequencePullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::NotifyPublish_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::SequencePullConsumer::disconnect_sequence_pull_consumer

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_11000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_SequencePullConsumer* impl = (CosNotifyComm::_impl_SequencePullConsumer*) svnt->_ptrToInterface(CosNotifyComm::SequencePullConsumer::_PD_repoId);
  impl->disconnect_sequence_pull_consumer();


}

void CosNotifyComm::_objref_SequencePullConsumer::disconnect_sequence_pull_consumer()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_11000000, "disconnect_sequence_pull_consumer", 34);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_SequencePullConsumer::~_pof_SequencePullConsumer() {}


omniObjRef*
CosNotifyComm::_pof_SequencePullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_SequencePullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_SequencePullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::SequencePullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_SequencePullConsumer _the_pof_CosNotifyComm_mSequencePullConsumer;

CosNotifyComm::_impl_SequencePullConsumer::~_impl_SequencePullConsumer() {}


::CORBA::Boolean
CosNotifyComm::_impl_SequencePullConsumer::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "disconnect_sequence_pull_consumer")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_11000000, "disconnect_sequence_pull_consumer", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifyPublish*)this)->
      _impl_NotifyPublish::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_SequencePullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::SequencePullConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePullConsumer*) this;
  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePullConsumer::_PD_repoId))
    return (::CosNotifyComm::_impl_SequencePullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifyPublish::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifyPublish*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_SequencePullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyComm::SequencePullConsumer::_PD_repoId;
}

CosNotifyComm::SequencePullSupplier_ptr CosNotifyComm::SequencePullSupplier_Helper::_nil() {
  return ::CosNotifyComm::SequencePullSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::SequencePullSupplier_Helper::is_nil(::CosNotifyComm::SequencePullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::SequencePullSupplier_Helper::release(::CosNotifyComm::SequencePullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::SequencePullSupplier_Helper::marshalObjRef(::CosNotifyComm::SequencePullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::SequencePullSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::SequencePullSupplier_ptr CosNotifyComm::SequencePullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::SequencePullSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::SequencePullSupplier_Helper::duplicate(::CosNotifyComm::SequencePullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_duplicate(::CosNotifyComm::SequencePullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::SequencePullSupplier_ptr
CosNotifyComm::SequencePullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequencePullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequencePullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequencePullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::SequencePullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/SequencePullSupplier:1.0";


CosNotifyComm::_objref_SequencePullSupplier::~_objref_SequencePullSupplier() {
  
}


CosNotifyComm::_objref_SequencePullSupplier::_objref_SequencePullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::SequencePullSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_SequencePullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::SequencePullSupplier::_PD_repoId)
    return (::CosNotifyComm::SequencePullSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePullSupplier::_PD_repoId))
    return (::CosNotifyComm::SequencePullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::SequencePullSupplier::pull_structured_events

// Proxy call descriptor class. Mangled signature:
//  _cCosNotification_mEventBatch_i_clong_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_21000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_21000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  ::CORBA::Long arg_0;
  CosNotification::EventBatch_var result;
};

void _0RL_cd_4b6b86183777b6c2_21000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_21000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::Long&)arg_0 <<= _n;

}

void _0RL_cd_4b6b86183777b6c2_21000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::EventBatch&) result >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_21000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotification::EventBatch;
  (CosNotification::EventBatch&)result <<= _n;

}

const char* const _0RL_cd_4b6b86183777b6c2_21000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_21000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_31000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_21000000* tcd = (_0RL_cd_4b6b86183777b6c2_21000000*)cd;
  CosNotifyComm::_impl_SequencePullSupplier* impl = (CosNotifyComm::_impl_SequencePullSupplier*) svnt->_ptrToInterface(CosNotifyComm::SequencePullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->pull_structured_events(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->pull_structured_events(tcd->arg_0);
  else {
    try {
      tcd->result = impl->pull_structured_events(tcd->arg_0);
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotification::EventBatch* CosNotifyComm::_objref_SequencePullSupplier::pull_structured_events(::CORBA::Long max_number)
{
  _0RL_cd_4b6b86183777b6c2_21000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_31000000, "pull_structured_events", 23);
  _call_desc.arg_0 = max_number;

  _invoke(_call_desc);
  return _call_desc.result._retn();


}


//
// Code for CosNotifyComm::SequencePullSupplier::try_pull_structured_events

// Proxy call descriptor class. Mangled signature:
//  _cCosNotification_mEventBatch_i_clong_o_cboolean_e_cCosEventComm_mDisconnected
class _0RL_cd_4b6b86183777b6c2_41000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_4b6b86183777b6c2_41000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 1, upcall)
  {
    
  }
  
  void marshalArguments(cdrStream&);
  void unmarshalArguments(cdrStream&);

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  void userException(cdrStream&, _OMNI_NS(IOP_C)*, const char*);
  static const char* const _user_exns[];

  ::CORBA::Long arg_0;
  ::CORBA::Boolean arg_1;
  CosNotification::EventBatch_var result;
};

void _0RL_cd_4b6b86183777b6c2_41000000::marshalArguments(cdrStream& _n)
{
  arg_0 >>= _n;

}

void _0RL_cd_4b6b86183777b6c2_41000000::unmarshalArguments(cdrStream& _n)
{
  (::CORBA::Long&)arg_0 <<= _n;

}

void _0RL_cd_4b6b86183777b6c2_41000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::EventBatch&) result >>= _n;
  _n.marshalBoolean(arg_1);

}

void _0RL_cd_4b6b86183777b6c2_41000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotification::EventBatch;
  (CosNotification::EventBatch&)result <<= _n;
  arg_1 = _n.unmarshalBoolean();

}

const char* const _0RL_cd_4b6b86183777b6c2_41000000::_user_exns[] = {
  CosEventComm::Disconnected::_PD_repoId
};

void _0RL_cd_4b6b86183777b6c2_41000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventComm::Disconnected::_PD_repoId)) {
    CosEventComm::Disconnected _ex;
    _ex <<= s;
    if (iop_client) iop_client->RequestCompleted();
    throw _ex;
  }


  else {
    if (iop_client) iop_client->RequestCompleted(1);
    OMNIORB_THROW(UNKNOWN,UNKNOWN_UserException,
                  (::CORBA::CompletionStatus)s.completion());
  }
}

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_51000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_4b6b86183777b6c2_41000000* tcd = (_0RL_cd_4b6b86183777b6c2_41000000*)cd;
  CosNotifyComm::_impl_SequencePullSupplier* impl = (CosNotifyComm::_impl_SequencePullSupplier*) svnt->_ptrToInterface(CosNotifyComm::SequencePullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->try_pull_structured_events(tcd->arg_0, tcd->arg_1);
#else
  if (!cd->is_upcall())
    tcd->result = impl->try_pull_structured_events(tcd->arg_0, tcd->arg_1);
  else {
    try {
      tcd->result = impl->try_pull_structured_events(tcd->arg_0, tcd->arg_1);
    }
    catch(CosEventComm::Disconnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotification::EventBatch* CosNotifyComm::_objref_SequencePullSupplier::try_pull_structured_events(::CORBA::Long max_number, ::CORBA::Boolean& has_event)
{
  _0RL_cd_4b6b86183777b6c2_41000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_51000000, "try_pull_structured_events", 27);
  _call_desc.arg_0 = max_number;

  _invoke(_call_desc);
  has_event = _call_desc.arg_1;
  return _call_desc.result._retn();


}


//
// Code for CosNotifyComm::SequencePullSupplier::disconnect_sequence_pull_supplier

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_61000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_SequencePullSupplier* impl = (CosNotifyComm::_impl_SequencePullSupplier*) svnt->_ptrToInterface(CosNotifyComm::SequencePullSupplier::_PD_repoId);
  impl->disconnect_sequence_pull_supplier();


}

void CosNotifyComm::_objref_SequencePullSupplier::disconnect_sequence_pull_supplier()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_61000000, "disconnect_sequence_pull_supplier", 34);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_SequencePullSupplier::~_pof_SequencePullSupplier() {}


omniObjRef*
CosNotifyComm::_pof_SequencePullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_SequencePullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_SequencePullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::SequencePullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_SequencePullSupplier _the_pof_CosNotifyComm_mSequencePullSupplier;

CosNotifyComm::_impl_SequencePullSupplier::~_impl_SequencePullSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_SequencePullSupplier::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "pull_structured_events")) {

    _0RL_cd_4b6b86183777b6c2_21000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_31000000, "pull_structured_events", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "try_pull_structured_events")) {

    _0RL_cd_4b6b86183777b6c2_41000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_51000000, "try_pull_structured_events", 27, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  if (omni::strMatch(op, "disconnect_sequence_pull_supplier")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_61000000, "disconnect_sequence_pull_supplier", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_SequencePullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::SequencePullSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePullSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePullSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_SequencePullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_SequencePullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::SequencePullSupplier::_PD_repoId;
}

CosNotifyComm::SequencePushSupplier_ptr CosNotifyComm::SequencePushSupplier_Helper::_nil() {
  return ::CosNotifyComm::SequencePushSupplier::_nil();
}

::CORBA::Boolean CosNotifyComm::SequencePushSupplier_Helper::is_nil(::CosNotifyComm::SequencePushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyComm::SequencePushSupplier_Helper::release(::CosNotifyComm::SequencePushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyComm::SequencePushSupplier_Helper::marshalObjRef(::CosNotifyComm::SequencePushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyComm::SequencePushSupplier::_marshalObjRef(obj, s);
}

CosNotifyComm::SequencePushSupplier_ptr CosNotifyComm::SequencePushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyComm::SequencePushSupplier::_unmarshalObjRef(s);
}

void CosNotifyComm::SequencePushSupplier_Helper::duplicate(::CosNotifyComm::SequencePushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_duplicate(::CosNotifyComm::SequencePushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_realNarrow(_PD_repoId);
  return e ? e : _nil();
}


CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_unchecked_narrow(::CORBA::Object_ptr obj)
{
  if (!obj || obj->_NP_is_nil() || obj->_NP_is_pseudo()) return _nil();
  _ptr_type e = (_ptr_type) obj->_PR_getobj()->_uncheckedNarrow(_PD_repoId);
  return e ? e : _nil();
}

CosNotifyComm::SequencePushSupplier_ptr
CosNotifyComm::SequencePushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequencePushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequencePushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequencePushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyComm::SequencePushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyComm/SequencePushSupplier:1.0";


CosNotifyComm::_objref_SequencePushSupplier::~_objref_SequencePushSupplier() {
  
}


CosNotifyComm::_objref_SequencePushSupplier::_objref_SequencePushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyComm::SequencePushSupplier::_PD_repoId, ior, id, 1),
   _objref_NotifySubscribe(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyComm::_objref_SequencePushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyComm::SequencePushSupplier::_PD_repoId)
    return (::CosNotifyComm::SequencePushSupplier_ptr) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePushSupplier::_PD_repoId))
    return (::CosNotifyComm::SequencePushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::NotifySubscribe_ptr) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (::CORBA::Object_ptr) this;

  return 0;
}


//
// Code for CosNotifyComm::SequencePushSupplier::disconnect_sequence_push_supplier

// Local call call-back function.
static void
_0RL_lcfn_4b6b86183777b6c2_71000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyComm::_impl_SequencePushSupplier* impl = (CosNotifyComm::_impl_SequencePushSupplier*) svnt->_ptrToInterface(CosNotifyComm::SequencePushSupplier::_PD_repoId);
  impl->disconnect_sequence_push_supplier();


}

void CosNotifyComm::_objref_SequencePushSupplier::disconnect_sequence_push_supplier()
{
  _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_71000000, "disconnect_sequence_push_supplier", 34);


  _invoke(_call_desc);



}

CosNotifyComm::_pof_SequencePushSupplier::~_pof_SequencePushSupplier() {}


omniObjRef*
CosNotifyComm::_pof_SequencePushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyComm::_objref_SequencePushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyComm::_pof_SequencePushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyComm::SequencePushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyComm::_pof_SequencePushSupplier _the_pof_CosNotifyComm_mSequencePushSupplier;

CosNotifyComm::_impl_SequencePushSupplier::~_impl_SequencePushSupplier() {}


::CORBA::Boolean
CosNotifyComm::_impl_SequencePushSupplier::_dispatch(omniCallHandle& _handle)
{
  const char* op = _handle.operation_name();

  if (omni::strMatch(op, "disconnect_sequence_push_supplier")) {

    _0RL_cd_4b6b86183777b6c2_50000000 _call_desc(_0RL_lcfn_4b6b86183777b6c2_71000000, "disconnect_sequence_push_supplier", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

  
#ifndef _MSC_VER
  if (_impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#else
  // Work-around for incorrect MSVC code generation.
  if (((_impl_NotifySubscribe*)this)->
      _impl_NotifySubscribe::_dispatch(_handle)) {
    return 1;
  }
#endif


  return 0;
}

void*
CosNotifyComm::_impl_SequencePushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyComm::SequencePushSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePushSupplier*) this;
  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

  if (omni::strMatch(id, ::CosNotifyComm::SequencePushSupplier::_PD_repoId))
    return (::CosNotifyComm::_impl_SequencePushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyComm::NotifySubscribe::_PD_repoId))
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;


  if (omni::strMatch(id, ::CORBA::Object::_PD_repoId))
    return (void*) 1;
  return 0;
}

const char*
CosNotifyComm::_impl_SequencePushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyComm::SequencePushSupplier::_PD_repoId;
}

POA_CosNotifyComm::NotifyPublish::~NotifyPublish() {}

POA_CosNotifyComm::NotifySubscribe::~NotifySubscribe() {}

POA_CosNotifyComm::PushConsumer::~PushConsumer() {}

POA_CosNotifyComm::PullConsumer::~PullConsumer() {}

POA_CosNotifyComm::PullSupplier::~PullSupplier() {}

POA_CosNotifyComm::PushSupplier::~PushSupplier() {}

POA_CosNotifyComm::StructuredPushConsumer::~StructuredPushConsumer() {}

POA_CosNotifyComm::StructuredPullConsumer::~StructuredPullConsumer() {}

POA_CosNotifyComm::StructuredPullSupplier::~StructuredPullSupplier() {}

POA_CosNotifyComm::StructuredPushSupplier::~StructuredPushSupplier() {}

POA_CosNotifyComm::SequencePushConsumer::~SequencePushConsumer() {}

POA_CosNotifyComm::SequencePullConsumer::~SequencePullConsumer() {}

POA_CosNotifyComm::SequencePullSupplier::~SequencePullSupplier() {}

POA_CosNotifyComm::SequencePushSupplier::~SequencePushSupplier() {}

