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

#include "CosNotifyChannelAdmin.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 CosNotifyChannelAdmin::ConnectionAlreadyActive::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::ConnectionAlreadyActive::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::ConnectionAlreadyActive::ConnectionAlreadyActive(const CosNotifyChannelAdmin::ConnectionAlreadyActive& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::ConnectionAlreadyActive& CosNotifyChannelAdmin::ConnectionAlreadyActive::operator=(const CosNotifyChannelAdmin::ConnectionAlreadyActive& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::ConnectionAlreadyActive::~ConnectionAlreadyActive() {}

void CosNotifyChannelAdmin::ConnectionAlreadyActive::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::ConnectionAlreadyActive* CosNotifyChannelAdmin::ConnectionAlreadyActive::_downcast(::CORBA::Exception* _e) {
  return (ConnectionAlreadyActive*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::ConnectionAlreadyActive::_NP_duplicate() const {
  return new ConnectionAlreadyActive(*this);
}

const char* CosNotifyChannelAdmin::ConnectionAlreadyActive::_NP_typeId() const {
  return _PD_typeId;
}

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

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::ConnectionAlreadyInactive::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::ConnectionAlreadyInactive::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::ConnectionAlreadyInactive::ConnectionAlreadyInactive(const CosNotifyChannelAdmin::ConnectionAlreadyInactive& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::ConnectionAlreadyInactive& CosNotifyChannelAdmin::ConnectionAlreadyInactive::operator=(const CosNotifyChannelAdmin::ConnectionAlreadyInactive& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::ConnectionAlreadyInactive::~ConnectionAlreadyInactive() {}

void CosNotifyChannelAdmin::ConnectionAlreadyInactive::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::ConnectionAlreadyInactive* CosNotifyChannelAdmin::ConnectionAlreadyInactive::_downcast(::CORBA::Exception* _e) {
  return (ConnectionAlreadyInactive*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::ConnectionAlreadyInactive::_NP_duplicate() const {
  return new ConnectionAlreadyInactive(*this);
}

const char* CosNotifyChannelAdmin::ConnectionAlreadyInactive::_NP_typeId() const {
  return _PD_typeId;
}

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

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::NotConnected::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::NotConnected::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::NotConnected::NotConnected(const CosNotifyChannelAdmin::NotConnected& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::NotConnected& CosNotifyChannelAdmin::NotConnected::operator=(const CosNotifyChannelAdmin::NotConnected& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::NotConnected::~NotConnected() {}

void CosNotifyChannelAdmin::NotConnected::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::NotConnected* CosNotifyChannelAdmin::NotConnected::_downcast(::CORBA::Exception* _e) {
  return (NotConnected*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::NotConnected::_NP_duplicate() const {
  return new NotConnected(*this);
}

const char* CosNotifyChannelAdmin::NotConnected::_NP_typeId() const {
  return _PD_typeId;
}

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

CosNotifyChannelAdmin::ProxyConsumer_ptr CosNotifyChannelAdmin::ProxyConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxyConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxyConsumer_Helper::is_nil(::CosNotifyChannelAdmin::ProxyConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxyConsumer_Helper::release(::CosNotifyChannelAdmin::ProxyConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxyConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxyConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxyConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxyConsumer_ptr CosNotifyChannelAdmin::ProxyConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxyConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxyConsumer_Helper::duplicate(::CosNotifyChannelAdmin::ProxyConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxyConsumer_ptr
CosNotifyChannelAdmin::ProxyConsumer::_duplicate(::CosNotifyChannelAdmin::ProxyConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxyConsumer_ptr
CosNotifyChannelAdmin::ProxyConsumer::_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();
}


CosNotifyChannelAdmin::ProxyConsumer_ptr
CosNotifyChannelAdmin::ProxyConsumer::_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();
}

CosNotifyChannelAdmin::ProxyConsumer_ptr
CosNotifyChannelAdmin::ProxyConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxyConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxyConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxyConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxyConsumer:1.0";


typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

CosNotifyChannelAdmin::_objref_ProxyConsumer::~_objref_ProxyConsumer() {
  
}


CosNotifyChannelAdmin::_objref_ProxyConsumer::_objref_ProxyConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId, ior, id, 1),
   CosNotification__objref_QoSAdmin(ior, id),
   CosNotifyFilter__objref_FilterAdmin(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxyConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_ptr) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_ptr) this;


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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::ProxyConsumer::_get_MyType

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

  CosNotifyChannelAdmin::ProxyType result;
};

void _0RL_cd_9043e11a9721dab3_00000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_00000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ProxyType&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_10000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_00000000* tcd = (_0RL_cd_9043e11a9721dab3_00000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId);
  tcd->result = impl->MyType();


}

CosNotifyChannelAdmin::ProxyType CosNotifyChannelAdmin::_objref_ProxyConsumer::MyType()
{
  _0RL_cd_9043e11a9721dab3_00000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_10000000, "_get_MyType", 12);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::ProxyConsumer::_get_MyAdmin

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

  CosNotifyChannelAdmin::SupplierAdmin_var result;
};

void _0RL_cd_9043e11a9721dab3_20000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::SupplierAdmin_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_20000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::SupplierAdmin_Helper::unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_30000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_20000000* tcd = (_0RL_cd_9043e11a9721dab3_20000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId);
  tcd->result = impl->MyAdmin();


}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::_objref_ProxyConsumer::MyAdmin()
{
  _0RL_cd_9043e11a9721dab3_20000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_30000000, "_get_MyAdmin", 13);


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


}


//
// Code for CosNotifyChannelAdmin::ProxyConsumer::obtain_subscription_types

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

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CosNotifyChannelAdmin::ObtainInfoMode arg_0;
  CosNotification::EventTypeSeq_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_40000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ObtainInfoMode&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_40000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::EventTypeSeq&) result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_40000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotification::EventTypeSeq;
  (CosNotification::EventTypeSeq&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_50000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_40000000* tcd = (_0RL_cd_9043e11a9721dab3_40000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId);
  tcd->result = impl->obtain_subscription_types(tcd->arg_0);


}

CosNotification::EventTypeSeq* CosNotifyChannelAdmin::_objref_ProxyConsumer::obtain_subscription_types(::CosNotifyChannelAdmin::ObtainInfoMode mode)
{
  _0RL_cd_9043e11a9721dab3_40000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_50000000, "obtain_subscription_types", 26);
  _call_desc.arg_0 = mode;

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


}


//
// Code for CosNotifyChannelAdmin::ProxyConsumer::validate_event_qos

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotification_mPropertySeq_o_cCosNotification_mNamedPropertyRangeSeq_e_cCosNotification_mUnsupportedQoS
class _0RL_cd_9043e11a9721dab3_60000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_60000000(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[];

  CosNotification::QoSProperties_var arg_0_;
  const CosNotification::QoSProperties* arg_0;
  CosNotification::NamedPropertyRangeSeq_var arg_1;
};

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

}

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

}

void _0RL_cd_9043e11a9721dab3_60000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotification::NamedPropertyRangeSeq&) arg_1 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_60000000::unmarshalReturnedValues(cdrStream& _n)
{
  arg_1 = new CosNotification::NamedPropertyRangeSeq;
  (CosNotification::NamedPropertyRangeSeq&)arg_1 <<= _n;

}

const char* const _0RL_cd_9043e11a9721dab3_60000000::_user_exns[] = {
  CosNotification::UnsupportedQoS::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_60000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotification::UnsupportedQoS::_PD_repoId)) {
    CosNotification::UnsupportedQoS _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_9043e11a9721dab3_70000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_60000000* tcd = (_0RL_cd_9043e11a9721dab3_60000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
#else
  if (!cd->is_upcall())
    impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
  else {
    try {
      impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
    }
    catch(CosNotification::UnsupportedQoS& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyConsumer::validate_event_qos(const ::CosNotification::QoSProperties& required_qos, ::CosNotification::NamedPropertyRangeSeq_out available_qos)
{
  _0RL_cd_9043e11a9721dab3_60000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_70000000, "validate_event_qos", 19);
  _call_desc.arg_0 = &(::CosNotification::QoSProperties&) required_qos;

  _invoke(_call_desc);
  available_qos = _call_desc.arg_1._retn();


}

CosNotifyChannelAdmin::_pof_ProxyConsumer::~_pof_ProxyConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxyConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxyConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxyConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_ProxyConsumer _the_pof_CosNotifyChannelAdmin_mProxyConsumer;

CosNotifyChannelAdmin::_impl_ProxyConsumer::~_impl_ProxyConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_00000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_10000000, "_get_MyType", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_20000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_30000000, "_get_MyAdmin", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_40000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_50000000, "obtain_subscription_types", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_60000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_70000000, "validate_event_qos", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxyConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;


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

const char*
CosNotifyChannelAdmin::_impl_ProxyConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::ProxySupplier_ptr CosNotifyChannelAdmin::ProxySupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxySupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxySupplier_Helper::is_nil(::CosNotifyChannelAdmin::ProxySupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxySupplier_Helper::release(::CosNotifyChannelAdmin::ProxySupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxySupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxySupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxySupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxySupplier_ptr CosNotifyChannelAdmin::ProxySupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxySupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxySupplier_Helper::duplicate(::CosNotifyChannelAdmin::ProxySupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxySupplier_ptr
CosNotifyChannelAdmin::ProxySupplier::_duplicate(::CosNotifyChannelAdmin::ProxySupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxySupplier_ptr
CosNotifyChannelAdmin::ProxySupplier::_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();
}


CosNotifyChannelAdmin::ProxySupplier_ptr
CosNotifyChannelAdmin::ProxySupplier::_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();
}

CosNotifyChannelAdmin::ProxySupplier_ptr
CosNotifyChannelAdmin::ProxySupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxySupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxySupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxySupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxySupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxySupplier:1.0";


typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

CosNotifyChannelAdmin::_objref_ProxySupplier::~_objref_ProxySupplier() {
  
}


CosNotifyChannelAdmin::_objref_ProxySupplier::_objref_ProxySupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId, ior, id, 1),
   CosNotification__objref_QoSAdmin(ior, id),
   CosNotifyFilter__objref_FilterAdmin(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxySupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_ptr) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_ptr) this;


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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_get_MyType

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_80000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_00000000* tcd = (_0RL_cd_9043e11a9721dab3_00000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  tcd->result = impl->MyType();


}

CosNotifyChannelAdmin::ProxyType CosNotifyChannelAdmin::_objref_ProxySupplier::MyType()
{
  _0RL_cd_9043e11a9721dab3_00000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_80000000, "_get_MyType", 12);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_get_MyAdmin

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

  CosNotifyChannelAdmin::ConsumerAdmin_var result;
};

void _0RL_cd_9043e11a9721dab3_90000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ConsumerAdmin_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_90000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ConsumerAdmin_Helper::unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_a0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_90000000* tcd = (_0RL_cd_9043e11a9721dab3_90000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  tcd->result = impl->MyAdmin();


}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::_objref_ProxySupplier::MyAdmin()
{
  _0RL_cd_9043e11a9721dab3_90000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a0000000, "_get_MyAdmin", 13);


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


}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_get_priority_filter

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

  CosNotifyFilter::MappingFilter_var result;
};

void _0RL_cd_9043e11a9721dab3_b0000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyFilter::MappingFilter::_marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_b0000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyFilter::MappingFilter::_unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_c0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b0000000* tcd = (_0RL_cd_9043e11a9721dab3_b0000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  tcd->result = impl->priority_filter();


}

CosNotifyFilter::MappingFilter_ptr CosNotifyChannelAdmin::_objref_ProxySupplier::priority_filter()
{
  _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c0000000, "_get_priority_filter", 21);


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


}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_set_priority_filter

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

    
  
  static const char* const _user_exns[];

  CosNotifyFilter::MappingFilter_var arg_0_;
  CosNotifyFilter::MappingFilter_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_d0000000::marshalArguments(cdrStream& _n)
{
  CosNotifyFilter::MappingFilter::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_d0000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyFilter::MappingFilter::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_e0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d0000000* tcd = (_0RL_cd_9043e11a9721dab3_d0000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  impl->priority_filter(tcd->arg_0);


}

void CosNotifyChannelAdmin::_objref_ProxySupplier::priority_filter(::CosNotifyFilter::MappingFilter_ptr _v)
{
  _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e0000000, "_set_priority_filter", 21);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_get_lifetime_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_f0000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b0000000* tcd = (_0RL_cd_9043e11a9721dab3_b0000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  tcd->result = impl->lifetime_filter();


}

CosNotifyFilter::MappingFilter_ptr CosNotifyChannelAdmin::_objref_ProxySupplier::lifetime_filter()
{
  _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f0000000, "_get_lifetime_filter", 21);


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


}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::_set_lifetime_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_01000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d0000000* tcd = (_0RL_cd_9043e11a9721dab3_d0000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  impl->lifetime_filter(tcd->arg_0);


}

void CosNotifyChannelAdmin::_objref_ProxySupplier::lifetime_filter(::CosNotifyFilter::MappingFilter_ptr _v)
{
  _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_01000000, "_set_lifetime_filter", 21);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::obtain_offered_types

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_11000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_40000000* tcd = (_0RL_cd_9043e11a9721dab3_40000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
  tcd->result = impl->obtain_offered_types(tcd->arg_0);


}

CosNotification::EventTypeSeq* CosNotifyChannelAdmin::_objref_ProxySupplier::obtain_offered_types(::CosNotifyChannelAdmin::ObtainInfoMode mode)
{
  _0RL_cd_9043e11a9721dab3_40000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_11000000, "obtain_offered_types", 21);
  _call_desc.arg_0 = mode;

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


}


//
// Code for CosNotifyChannelAdmin::ProxySupplier::validate_event_qos

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_21000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_60000000* tcd = (_0RL_cd_9043e11a9721dab3_60000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxySupplier* impl = (CosNotifyChannelAdmin::_impl_ProxySupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxySupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
#else
  if (!cd->is_upcall())
    impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
  else {
    try {
      impl->validate_event_qos(*tcd->arg_0, tcd->arg_1.out());
    }
    catch(CosNotification::UnsupportedQoS& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxySupplier::validate_event_qos(const ::CosNotification::QoSProperties& required_qos, ::CosNotification::NamedPropertyRangeSeq_out available_qos)
{
  _0RL_cd_9043e11a9721dab3_60000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_21000000, "validate_event_qos", 19);
  _call_desc.arg_0 = &(::CosNotification::QoSProperties&) required_qos;

  _invoke(_call_desc);
  available_qos = _call_desc.arg_1._retn();


}

CosNotifyChannelAdmin::_pof_ProxySupplier::~_pof_ProxySupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxySupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxySupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxySupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_ProxySupplier _the_pof_CosNotifyChannelAdmin_mProxySupplier;

CosNotifyChannelAdmin::_impl_ProxySupplier::~_impl_ProxySupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_00000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_80000000, "_get_MyType", 12, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_90000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a0000000, "_get_MyAdmin", 13, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c0000000, "_get_priority_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e0000000, "_set_priority_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f0000000, "_get_lifetime_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_01000000, "_set_lifetime_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_40000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_11000000, "obtain_offered_types", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_60000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_21000000, "validate_event_qos", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxySupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;


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

const char*
CosNotifyChannelAdmin::_impl_ProxySupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId;
}

CosNotifyChannelAdmin::ProxyPushConsumer_ptr CosNotifyChannelAdmin::ProxyPushConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxyPushConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxyPushConsumer_Helper::is_nil(::CosNotifyChannelAdmin::ProxyPushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxyPushConsumer_Helper::release(::CosNotifyChannelAdmin::ProxyPushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxyPushConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxyPushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxyPushConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxyPushConsumer_ptr CosNotifyChannelAdmin::ProxyPushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxyPushConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxyPushConsumer_Helper::duplicate(::CosNotifyChannelAdmin::ProxyPushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxyPushConsumer_ptr
CosNotifyChannelAdmin::ProxyPushConsumer::_duplicate(::CosNotifyChannelAdmin::ProxyPushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxyPushConsumer_ptr
CosNotifyChannelAdmin::ProxyPushConsumer::_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();
}


CosNotifyChannelAdmin::ProxyPushConsumer_ptr
CosNotifyChannelAdmin::ProxyPushConsumer::_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();
}

CosNotifyChannelAdmin::ProxyPushConsumer_ptr
CosNotifyChannelAdmin::ProxyPushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxyPushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxyPushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxyPushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxyPushConsumer:1.0";


typedef CosNotifyComm::PushConsumer CosNotifyComm_PushConsumer;
typedef CosNotifyComm::_impl_PushConsumer CosNotifyComm__impl_PushConsumer;
typedef CosNotifyComm::_objref_PushConsumer CosNotifyComm__objref_PushConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

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

CosNotifyChannelAdmin::_objref_ProxyPushConsumer::~_objref_ProxyPushConsumer() {
  
}


CosNotifyChannelAdmin::_objref_ProxyPushConsumer::_objref_ProxyPushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_PushConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxyPushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyPushConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyPushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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;
}


//
// Code for CosNotifyChannelAdmin::ProxyPushConsumer::connect_any_push_supplier

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosEventComm_mPushSupplier_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_31000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_31000000(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[];

  CosEventComm::PushSupplier_var arg_0_;
  CosEventComm::PushSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_31000000::marshalArguments(cdrStream& _n)
{
  CosEventComm::PushSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_31000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosEventComm::PushSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_31000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_31000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_41000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_31000000* tcd = (_0RL_cd_9043e11a9721dab3_31000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyPushConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyPushConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_any_push_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_any_push_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_any_push_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPushConsumer::connect_any_push_supplier(::CosEventComm::PushSupplier_ptr push_supplier)
{
  _0RL_cd_9043e11a9721dab3_31000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_41000000, "connect_any_push_supplier", 26);
  _call_desc.arg_0 = push_supplier;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_ProxyPushConsumer::~_pof_ProxyPushConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxyPushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxyPushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxyPushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

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

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_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 CosNotifyChannelAdmin::_pof_ProxyPushConsumer _the_pof_CosNotifyChannelAdmin_mProxyPushConsumer;

CosNotifyChannelAdmin::_impl_ProxyPushConsumer::~_impl_ProxyPushConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_31000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_41000000, "connect_any_push_supplier", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxyPushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyPushConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyPushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_ProxyPushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxyPushConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::is_nil(::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::release(::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::StructuredProxyPushConsumer_Helper::duplicate(::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPushConsumer::_duplicate(::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPushConsumer::_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();
}


CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPushConsumer::_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();
}

CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredProxyPushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredProxyPushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredProxyPushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPushConsumer:1.0";


typedef CosNotifyComm::StructuredPushConsumer CosNotifyComm_StructuredPushConsumer;
typedef CosNotifyComm::_impl_StructuredPushConsumer CosNotifyComm__impl_StructuredPushConsumer;
typedef CosNotifyComm::_objref_StructuredPushConsumer CosNotifyComm__objref_StructuredPushConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

CosNotifyChannelAdmin::_objref_StructuredProxyPushConsumer::~_objref_StructuredProxyPushConsumer() {
  
}


CosNotifyChannelAdmin::_objref_StructuredProxyPushConsumer::_objref_StructuredProxyPushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_StructuredPushConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_StructuredProxyPushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

  if (id == ::CosNotifyComm::StructuredPushConsumer::_PD_repoId)
    return (::CosNotifyComm::StructuredPushConsumer_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::StructuredProxyPushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::StructuredProxyPushConsumer::connect_structured_push_supplier

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotifyComm_mStructuredPushSupplier_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_51000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_51000000(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[];

  CosNotifyComm::StructuredPushSupplier_var arg_0_;
  CosNotifyComm::StructuredPushSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_51000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::StructuredPushSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_51000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::StructuredPushSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_51000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_51000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_61000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_51000000* tcd = (_0RL_cd_9043e11a9721dab3_51000000*)cd;
  CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_structured_push_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_structured_push_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_structured_push_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPushConsumer::connect_structured_push_supplier(::CosNotifyComm::StructuredPushSupplier_ptr push_supplier)
{
  _0RL_cd_9043e11a9721dab3_51000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_61000000, "connect_structured_push_supplier", 33);
  _call_desc.arg_0 = push_supplier;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_StructuredProxyPushConsumer::~_pof_StructuredProxyPushConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_StructuredProxyPushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_StructuredProxyPushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_StructuredProxyPushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::StructuredPushConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_StructuredProxyPushConsumer _the_pof_CosNotifyChannelAdmin_mStructuredProxyPushConsumer;

CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer::~_impl_StructuredProxyPushConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_51000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_61000000, "connect_structured_push_supplier", 33, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

  if (id == ::CosNotifyComm::StructuredPushConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPushConsumer*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_StructuredProxyPushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::StructuredProxyPushConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::is_nil(::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::release(::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::SequenceProxyPushConsumer_Helper::duplicate(::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPushConsumer::_duplicate(::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPushConsumer::_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();
}


CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPushConsumer::_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();
}

CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPushConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequenceProxyPushConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequenceProxyPushConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequenceProxyPushConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPushConsumer:1.0";


typedef CosNotifyComm::SequencePushConsumer CosNotifyComm_SequencePushConsumer;
typedef CosNotifyComm::_impl_SequencePushConsumer CosNotifyComm__impl_SequencePushConsumer;
typedef CosNotifyComm::_objref_SequencePushConsumer CosNotifyComm__objref_SequencePushConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

CosNotifyChannelAdmin::_objref_SequenceProxyPushConsumer::~_objref_SequenceProxyPushConsumer() {
  
}


CosNotifyChannelAdmin::_objref_SequenceProxyPushConsumer::_objref_SequenceProxyPushConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_SequencePushConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_SequenceProxyPushConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

  if (id == ::CosNotifyComm::SequencePushConsumer::_PD_repoId)
    return (::CosNotifyComm::SequencePushConsumer_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::SequenceProxyPushConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::SequenceProxyPushConsumer::connect_sequence_push_supplier

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotifyComm_mSequencePushSupplier_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_71000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_71000000(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[];

  CosNotifyComm::SequencePushSupplier_var arg_0_;
  CosNotifyComm::SequencePushSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_71000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::SequencePushSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_71000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::SequencePushSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_71000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_71000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_81000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_71000000* tcd = (_0RL_cd_9043e11a9721dab3_71000000*)cd;
  CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_sequence_push_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_sequence_push_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_sequence_push_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPushConsumer::connect_sequence_push_supplier(::CosNotifyComm::SequencePushSupplier_ptr push_supplier)
{
  _0RL_cd_9043e11a9721dab3_71000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_81000000, "connect_sequence_push_supplier", 31);
  _call_desc.arg_0 = push_supplier;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_SequenceProxyPushConsumer::~_pof_SequenceProxyPushConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_SequenceProxyPushConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_SequenceProxyPushConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_SequenceProxyPushConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::SequencePushConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_SequenceProxyPushConsumer _the_pof_CosNotifyChannelAdmin_mSequenceProxyPushConsumer;

CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer::~_impl_SequenceProxyPushConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_71000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_81000000, "connect_sequence_push_supplier", 31, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

  if (id == ::CosNotifyComm::SequencePushConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePushConsumer*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_SequenceProxyPushConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::SequenceProxyPushConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::ProxyPullSupplier_ptr CosNotifyChannelAdmin::ProxyPullSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxyPullSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxyPullSupplier_Helper::is_nil(::CosNotifyChannelAdmin::ProxyPullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxyPullSupplier_Helper::release(::CosNotifyChannelAdmin::ProxyPullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxyPullSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxyPullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxyPullSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxyPullSupplier_ptr CosNotifyChannelAdmin::ProxyPullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxyPullSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxyPullSupplier_Helper::duplicate(::CosNotifyChannelAdmin::ProxyPullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxyPullSupplier_ptr
CosNotifyChannelAdmin::ProxyPullSupplier::_duplicate(::CosNotifyChannelAdmin::ProxyPullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxyPullSupplier_ptr
CosNotifyChannelAdmin::ProxyPullSupplier::_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();
}


CosNotifyChannelAdmin::ProxyPullSupplier_ptr
CosNotifyChannelAdmin::ProxyPullSupplier::_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();
}

CosNotifyChannelAdmin::ProxyPullSupplier_ptr
CosNotifyChannelAdmin::ProxyPullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxyPullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxyPullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxyPullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxyPullSupplier:1.0";


typedef CosNotifyComm::PullSupplier CosNotifyComm_PullSupplier;
typedef CosNotifyComm::_impl_PullSupplier CosNotifyComm__impl_PullSupplier;
typedef CosNotifyComm::_objref_PullSupplier CosNotifyComm__objref_PullSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

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

CosNotifyChannelAdmin::_objref_ProxyPullSupplier::~_objref_ProxyPullSupplier() {
  
}


CosNotifyChannelAdmin::_objref_ProxyPullSupplier::_objref_ProxyPullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_PullSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxyPullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyPullSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyPullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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;
}


//
// Code for CosNotifyChannelAdmin::ProxyPullSupplier::connect_any_pull_consumer

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosEventComm_mPullConsumer_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_91000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_91000000(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[];

  CosEventComm::PullConsumer_var arg_0_;
  CosEventComm::PullConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_91000000::marshalArguments(cdrStream& _n)
{
  CosEventComm::PullConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_91000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosEventComm::PullConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_91000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_91000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_a1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_91000000* tcd = (_0RL_cd_9043e11a9721dab3_91000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyPullSupplier* impl = (CosNotifyChannelAdmin::_impl_ProxyPullSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_any_pull_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_any_pull_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_any_pull_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPullSupplier::connect_any_pull_consumer(::CosEventComm::PullConsumer_ptr pull_consumer)
{
  _0RL_cd_9043e11a9721dab3_91000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a1000000, "connect_any_pull_consumer", 26);
  _call_desc.arg_0 = pull_consumer;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_ProxyPullSupplier::~_pof_ProxyPullSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxyPullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxyPullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxyPullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

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

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_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 CosNotifyChannelAdmin::_pof_ProxyPullSupplier _the_pof_CosNotifyChannelAdmin_mProxyPullSupplier;

CosNotifyChannelAdmin::_impl_ProxyPullSupplier::~_impl_ProxyPullSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_91000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a1000000, "connect_any_pull_consumer", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxyPullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyPullSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyPullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_ProxyPullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxyPullSupplier::_PD_repoId;
}

CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::is_nil(::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::release(::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::StructuredProxyPullSupplier_Helper::duplicate(::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPullSupplier::_duplicate(::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPullSupplier::_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();
}


CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPullSupplier::_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();
}

CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredProxyPullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredProxyPullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredProxyPullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPullSupplier:1.0";


typedef CosNotifyComm::StructuredPullSupplier CosNotifyComm_StructuredPullSupplier;
typedef CosNotifyComm::_impl_StructuredPullSupplier CosNotifyComm__impl_StructuredPullSupplier;
typedef CosNotifyComm::_objref_StructuredPullSupplier CosNotifyComm__objref_StructuredPullSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

CosNotifyChannelAdmin::_objref_StructuredProxyPullSupplier::~_objref_StructuredProxyPullSupplier() {
  
}


CosNotifyChannelAdmin::_objref_StructuredProxyPullSupplier::_objref_StructuredProxyPullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_StructuredPullSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_StructuredProxyPullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

  if (id == ::CosNotifyComm::StructuredPullSupplier::_PD_repoId)
    return (::CosNotifyComm::StructuredPullSupplier_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::StructuredProxyPullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::StructuredProxyPullSupplier::connect_structured_pull_consumer

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotifyComm_mStructuredPullConsumer_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_b1000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_b1000000(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[];

  CosNotifyComm::StructuredPullConsumer_var arg_0_;
  CosNotifyComm::StructuredPullConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_b1000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::StructuredPullConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_b1000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::StructuredPullConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_b1000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_b1000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_c1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b1000000* tcd = (_0RL_cd_9043e11a9721dab3_b1000000*)cd;
  CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_structured_pull_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_structured_pull_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_structured_pull_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPullSupplier::connect_structured_pull_consumer(::CosNotifyComm::StructuredPullConsumer_ptr pull_consumer)
{
  _0RL_cd_9043e11a9721dab3_b1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c1000000, "connect_structured_pull_consumer", 33);
  _call_desc.arg_0 = pull_consumer;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_StructuredProxyPullSupplier::~_pof_StructuredProxyPullSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_StructuredProxyPullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_StructuredProxyPullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_StructuredProxyPullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::StructuredPullSupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_StructuredProxyPullSupplier _the_pof_CosNotifyChannelAdmin_mStructuredProxyPullSupplier;

CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier::~_impl_StructuredProxyPullSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_b1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c1000000, "connect_structured_pull_consumer", 33, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

  if (id == ::CosNotifyComm::StructuredPullSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPullSupplier*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_StructuredProxyPullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::StructuredProxyPullSupplier::_PD_repoId;
}

CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::is_nil(::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::release(::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::SequenceProxyPullSupplier_Helper::duplicate(::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPullSupplier::_duplicate(::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPullSupplier::_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();
}


CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPullSupplier::_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();
}

CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPullSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequenceProxyPullSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequenceProxyPullSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequenceProxyPullSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPullSupplier:1.0";


typedef CosNotifyComm::SequencePullSupplier CosNotifyComm_SequencePullSupplier;
typedef CosNotifyComm::_impl_SequencePullSupplier CosNotifyComm__impl_SequencePullSupplier;
typedef CosNotifyComm::_objref_SequencePullSupplier CosNotifyComm__objref_SequencePullSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

CosNotifyChannelAdmin::_objref_SequenceProxyPullSupplier::~_objref_SequenceProxyPullSupplier() {
  
}


CosNotifyChannelAdmin::_objref_SequenceProxyPullSupplier::_objref_SequenceProxyPullSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_SequencePullSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_SequenceProxyPullSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

  if (id == ::CosNotifyComm::SequencePullSupplier::_PD_repoId)
    return (::CosNotifyComm::SequencePullSupplier_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::SequenceProxyPullSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::SequenceProxyPullSupplier::connect_sequence_pull_consumer

// Proxy call descriptor class. Mangled signature:
//  void_i_cCosNotifyComm_mSequencePullConsumer_e_cCosEventChannelAdmin_mAlreadyConnected
class _0RL_cd_9043e11a9721dab3_d1000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_d1000000(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[];

  CosNotifyComm::SequencePullConsumer_var arg_0_;
  CosNotifyComm::SequencePullConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_d1000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::SequencePullConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_d1000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::SequencePullConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_d1000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_d1000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosEventChannelAdmin::AlreadyConnected::_PD_repoId)) {
    CosEventChannelAdmin::AlreadyConnected _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_9043e11a9721dab3_e1000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d1000000* tcd = (_0RL_cd_9043e11a9721dab3_d1000000*)cd;
  CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_sequence_pull_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_sequence_pull_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_sequence_pull_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPullSupplier::connect_sequence_pull_consumer(::CosNotifyComm::SequencePullConsumer_ptr pull_consumer)
{
  _0RL_cd_9043e11a9721dab3_d1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e1000000, "connect_sequence_pull_consumer", 31);
  _call_desc.arg_0 = pull_consumer;

  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_SequenceProxyPullSupplier::~_pof_SequenceProxyPullSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_SequenceProxyPullSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_SequenceProxyPullSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_SequenceProxyPullSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::SequencePullSupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_SequenceProxyPullSupplier _the_pof_CosNotifyChannelAdmin_mSequenceProxyPullSupplier;

CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier::~_impl_SequenceProxyPullSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_d1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e1000000, "connect_sequence_pull_consumer", 31, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

  if (id == ::CosNotifyComm::SequencePullSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePullSupplier*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_SequenceProxyPullSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::SequenceProxyPullSupplier::_PD_repoId;
}

CosNotifyChannelAdmin::ProxyPullConsumer_ptr CosNotifyChannelAdmin::ProxyPullConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxyPullConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxyPullConsumer_Helper::is_nil(::CosNotifyChannelAdmin::ProxyPullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxyPullConsumer_Helper::release(::CosNotifyChannelAdmin::ProxyPullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxyPullConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxyPullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxyPullConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxyPullConsumer_ptr CosNotifyChannelAdmin::ProxyPullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxyPullConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxyPullConsumer_Helper::duplicate(::CosNotifyChannelAdmin::ProxyPullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxyPullConsumer_ptr
CosNotifyChannelAdmin::ProxyPullConsumer::_duplicate(::CosNotifyChannelAdmin::ProxyPullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxyPullConsumer_ptr
CosNotifyChannelAdmin::ProxyPullConsumer::_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();
}


CosNotifyChannelAdmin::ProxyPullConsumer_ptr
CosNotifyChannelAdmin::ProxyPullConsumer::_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();
}

CosNotifyChannelAdmin::ProxyPullConsumer_ptr
CosNotifyChannelAdmin::ProxyPullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxyPullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxyPullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxyPullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxyPullConsumer:1.0";


typedef CosNotifyComm::PullConsumer CosNotifyComm_PullConsumer;
typedef CosNotifyComm::_impl_PullConsumer CosNotifyComm__impl_PullConsumer;
typedef CosNotifyComm::_objref_PullConsumer CosNotifyComm__objref_PullConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

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

CosNotifyChannelAdmin::_objref_ProxyPullConsumer::~_objref_ProxyPullConsumer() {
  
}


CosNotifyChannelAdmin::_objref_ProxyPullConsumer::_objref_ProxyPullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_PullConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxyPullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyPullConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyPullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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;
}


//
// Code for CosNotifyChannelAdmin::ProxyPullConsumer::connect_any_pull_supplier

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

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

  CosEventComm::PullSupplier_var arg_0_;
  CosEventComm::PullSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_f1000000::marshalArguments(cdrStream& _n)
{
  CosEventComm::PullSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_f1000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosEventComm::PullSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_f1000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_02000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_f1000000* tcd = (_0RL_cd_9043e11a9721dab3_f1000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_any_pull_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_any_pull_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_any_pull_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPullConsumer::connect_any_pull_supplier(::CosEventComm::PullSupplier_ptr pull_supplier)
{
  _0RL_cd_9043e11a9721dab3_f1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_02000000, "connect_any_pull_supplier", 26);
  _call_desc.arg_0 = pull_supplier;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxyPullConsumer::suspend_connection

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

  
};

const char* const _0RL_cd_9043e11a9721dab3_12000000::_user_exns[] = {
  CosNotifyChannelAdmin::ConnectionAlreadyInactive::_PD_repoId,
  CosNotifyChannelAdmin::NotConnected::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosNotifyChannelAdmin::NotConnected::_PD_repoId)) {
    CosNotifyChannelAdmin::NotConnected _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_9043e11a9721dab3_22000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_ProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPullConsumer::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_22000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxyPullConsumer::resume_connection

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

  
};

const char* const _0RL_cd_9043e11a9721dab3_32000000::_user_exns[] = {
  CosNotifyChannelAdmin::ConnectionAlreadyActive::_PD_repoId,
  CosNotifyChannelAdmin::NotConnected::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosNotifyChannelAdmin::NotConnected::_PD_repoId)) {
    CosNotifyChannelAdmin::NotConnected _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_9043e11a9721dab3_42000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_ProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_ProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPullConsumer::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_42000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_ProxyPullConsumer::~_pof_ProxyPullConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxyPullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxyPullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxyPullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

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

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_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 CosNotifyChannelAdmin::_pof_ProxyPullConsumer _the_pof_CosNotifyChannelAdmin_mProxyPullConsumer;

CosNotifyChannelAdmin::_impl_ProxyPullConsumer::~_impl_ProxyPullConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_f1000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_02000000, "connect_any_pull_supplier", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_22000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_42000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxyPullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyPullConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyPullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_ProxyPullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxyPullConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::is_nil(::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::release(::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::StructuredProxyPullConsumer_Helper::duplicate(::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPullConsumer::_duplicate(::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPullConsumer::_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();
}


CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPullConsumer::_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();
}

CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr
CosNotifyChannelAdmin::StructuredProxyPullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredProxyPullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredProxyPullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredProxyPullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPullConsumer:1.0";


typedef CosNotifyComm::StructuredPullConsumer CosNotifyComm_StructuredPullConsumer;
typedef CosNotifyComm::_impl_StructuredPullConsumer CosNotifyComm__impl_StructuredPullConsumer;
typedef CosNotifyComm::_objref_StructuredPullConsumer CosNotifyComm__objref_StructuredPullConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::~_objref_StructuredProxyPullConsumer() {
  
}


CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::_objref_StructuredProxyPullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_StructuredPullConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

  if (id == ::CosNotifyComm::StructuredPullConsumer::_PD_repoId)
    return (::CosNotifyComm::StructuredPullConsumer_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::StructuredProxyPullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::StructuredProxyPullConsumer::connect_structured_pull_supplier

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

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

  CosNotifyComm::StructuredPullSupplier_var arg_0_;
  CosNotifyComm::StructuredPullSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_52000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::StructuredPullSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_52000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::StructuredPullSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_52000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_62000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_52000000* tcd = (_0RL_cd_9043e11a9721dab3_52000000*)cd;
  CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_structured_pull_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_structured_pull_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_structured_pull_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::connect_structured_pull_supplier(::CosNotifyComm::StructuredPullSupplier_ptr pull_supplier)
{
  _0RL_cd_9043e11a9721dab3_52000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_62000000, "connect_structured_pull_supplier", 33);
  _call_desc.arg_0 = pull_supplier;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::StructuredProxyPullConsumer::suspend_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_72000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_72000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::StructuredProxyPullConsumer::resume_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_82000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_82000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_StructuredProxyPullConsumer::~_pof_StructuredProxyPullConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_StructuredProxyPullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_StructuredProxyPullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_StructuredProxyPullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::StructuredPullConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_StructuredProxyPullConsumer _the_pof_CosNotifyChannelAdmin_mStructuredProxyPullConsumer;

CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer::~_impl_StructuredProxyPullConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_52000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_62000000, "connect_structured_pull_supplier", 33, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_72000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_82000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

  if (id == ::CosNotifyComm::StructuredPullConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPullConsumer*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_StructuredProxyPullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::StructuredProxyPullConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::_nil() {
  return ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::is_nil(::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::release(::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::marshalObjRef(::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::SequenceProxyPullConsumer_Helper::duplicate(::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPullConsumer::_duplicate(::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPullConsumer::_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();
}


CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPullConsumer::_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();
}

CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr
CosNotifyChannelAdmin::SequenceProxyPullConsumer::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequenceProxyPullConsumer _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequenceProxyPullConsumer* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequenceProxyPullConsumer;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPullConsumer:1.0";


typedef CosNotifyComm::SequencePullConsumer CosNotifyComm_SequencePullConsumer;
typedef CosNotifyComm::_impl_SequencePullConsumer CosNotifyComm__impl_SequencePullConsumer;
typedef CosNotifyComm::_objref_SequencePullConsumer CosNotifyComm__objref_SequencePullConsumer;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::~_objref_SequenceProxyPullConsumer() {
  
}


CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::_objref_SequenceProxyPullConsumer(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId, ior, id, 1),
   _objref_ProxyConsumer(ior, id),
   CosNotifyComm__objref_SequencePullConsumer(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

  if (id == ::CosNotifyComm::SequencePullConsumer::_PD_repoId)
    return (::CosNotifyComm::SequencePullConsumer_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::SequenceProxyPullConsumer_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyConsumer_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::SequenceProxyPullConsumer::connect_sequence_pull_supplier

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

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

  CosNotifyComm::SequencePullSupplier_var arg_0_;
  CosNotifyComm::SequencePullSupplier_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_92000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::SequencePullSupplier::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_92000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::SequencePullSupplier::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_92000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_a2000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_92000000* tcd = (_0RL_cd_9043e11a9721dab3_92000000*)cd;
  CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_sequence_pull_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_sequence_pull_supplier(tcd->arg_0);
  else {
    try {
      impl->connect_sequence_pull_supplier(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::connect_sequence_pull_supplier(::CosNotifyComm::SequencePullSupplier_ptr pull_supplier)
{
  _0RL_cd_9043e11a9721dab3_92000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a2000000, "connect_sequence_pull_supplier", 31);
  _call_desc.arg_0 = pull_supplier;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::SequenceProxyPullConsumer::suspend_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_b2000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_b2000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::SequenceProxyPullConsumer::resume_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_c2000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c2000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_SequenceProxyPullConsumer::~_pof_SequenceProxyPullConsumer() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_SequenceProxyPullConsumer::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_SequenceProxyPullConsumer(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_SequenceProxyPullConsumer::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::SequencePullConsumer::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_SequenceProxyPullConsumer _the_pof_CosNotifyChannelAdmin_mSequenceProxyPullConsumer;

CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer::~_impl_SequenceProxyPullConsumer() {}


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

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

    _0RL_cd_9043e11a9721dab3_92000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a2000000, "connect_sequence_pull_supplier", 31, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_b2000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c2000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer*) this;
  if (id == ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

  if (id == ::CosNotifyComm::SequencePullConsumer::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePullConsumer*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxyConsumer::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyConsumer*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_SequenceProxyPullConsumer::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::SequenceProxyPullConsumer::_PD_repoId;
}

CosNotifyChannelAdmin::ProxyPushSupplier_ptr CosNotifyChannelAdmin::ProxyPushSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ProxyPushSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ProxyPushSupplier_Helper::is_nil(::CosNotifyChannelAdmin::ProxyPushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ProxyPushSupplier_Helper::release(::CosNotifyChannelAdmin::ProxyPushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ProxyPushSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::ProxyPushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ProxyPushSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ProxyPushSupplier_ptr CosNotifyChannelAdmin::ProxyPushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ProxyPushSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ProxyPushSupplier_Helper::duplicate(::CosNotifyChannelAdmin::ProxyPushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ProxyPushSupplier_ptr
CosNotifyChannelAdmin::ProxyPushSupplier::_duplicate(::CosNotifyChannelAdmin::ProxyPushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ProxyPushSupplier_ptr
CosNotifyChannelAdmin::ProxyPushSupplier::_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();
}


CosNotifyChannelAdmin::ProxyPushSupplier_ptr
CosNotifyChannelAdmin::ProxyPushSupplier::_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();
}

CosNotifyChannelAdmin::ProxyPushSupplier_ptr
CosNotifyChannelAdmin::ProxyPushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ProxyPushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ProxyPushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ProxyPushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ProxyPushSupplier:1.0";


typedef CosNotifyComm::PushSupplier CosNotifyComm_PushSupplier;
typedef CosNotifyComm::_impl_PushSupplier CosNotifyComm__impl_PushSupplier;
typedef CosNotifyComm::_objref_PushSupplier CosNotifyComm__objref_PushSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

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

CosNotifyChannelAdmin::_objref_ProxyPushSupplier::~_objref_ProxyPushSupplier() {
  
}


CosNotifyChannelAdmin::_objref_ProxyPushSupplier::_objref_ProxyPushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_PushSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ProxyPushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxyPushSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxyPushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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;
}


//
// Code for CosNotifyChannelAdmin::ProxyPushSupplier::connect_any_push_consumer

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

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

  CosEventComm::PushConsumer_var arg_0_;
  CosEventComm::PushConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_d2000000::marshalArguments(cdrStream& _n)
{
  CosEventComm::PushConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_d2000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosEventComm::PushConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_d2000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_e2000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d2000000* tcd = (_0RL_cd_9043e11a9721dab3_d2000000*)cd;
  CosNotifyChannelAdmin::_impl_ProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_ProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_any_push_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_any_push_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_any_push_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPushSupplier::connect_any_push_consumer(::CosEventComm::PushConsumer_ptr push_consumer)
{
  _0RL_cd_9043e11a9721dab3_d2000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e2000000, "connect_any_push_consumer", 26);
  _call_desc.arg_0 = push_consumer;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxyPushSupplier::suspend_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_f2000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_ProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_ProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPushSupplier::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f2000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ProxyPushSupplier::resume_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_03000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_ProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_ProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_ProxyPushSupplier::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_03000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_ProxyPushSupplier::~_pof_ProxyPushSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ProxyPushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ProxyPushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ProxyPushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

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

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_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 CosNotifyChannelAdmin::_pof_ProxyPushSupplier _the_pof_CosNotifyChannelAdmin_mProxyPushSupplier;

CosNotifyChannelAdmin::_impl_ProxyPushSupplier::~_impl_ProxyPushSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_d2000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e2000000, "connect_any_push_consumer", 26, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f2000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_03000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ProxyPushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxyPushSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxyPushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_ProxyPushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ProxyPushSupplier::_PD_repoId;
}

CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::is_nil(::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::release(::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::StructuredProxyPushSupplier_Helper::duplicate(::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPushSupplier::_duplicate(::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPushSupplier::_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();
}


CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPushSupplier::_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();
}

CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr
CosNotifyChannelAdmin::StructuredProxyPushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_StructuredProxyPushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_StructuredProxyPushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_StructuredProxyPushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/StructuredProxyPushSupplier:1.0";


typedef CosNotifyComm::StructuredPushSupplier CosNotifyComm_StructuredPushSupplier;
typedef CosNotifyComm::_impl_StructuredPushSupplier CosNotifyComm__impl_StructuredPushSupplier;
typedef CosNotifyComm::_objref_StructuredPushSupplier CosNotifyComm__objref_StructuredPushSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::~_objref_StructuredProxyPushSupplier() {
  
}


CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::_objref_StructuredProxyPushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_StructuredPushSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

  if (id == ::CosNotifyComm::StructuredPushSupplier::_PD_repoId)
    return (::CosNotifyComm::StructuredPushSupplier_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::StructuredProxyPushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::StructuredProxyPushSupplier::connect_structured_push_consumer

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

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

  CosNotifyComm::StructuredPushConsumer_var arg_0_;
  CosNotifyComm::StructuredPushConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_13000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::StructuredPushConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_13000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::StructuredPushConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_13000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_23000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_13000000* tcd = (_0RL_cd_9043e11a9721dab3_13000000*)cd;
  CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_structured_push_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_structured_push_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_structured_push_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::connect_structured_push_consumer(::CosNotifyComm::StructuredPushConsumer_ptr push_consumer)
{
  _0RL_cd_9043e11a9721dab3_13000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_23000000, "connect_structured_push_consumer", 33);
  _call_desc.arg_0 = push_consumer;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::StructuredProxyPushSupplier::suspend_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_33000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_33000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::StructuredProxyPushSupplier::resume_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_43000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_43000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_StructuredProxyPushSupplier::~_pof_StructuredProxyPushSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_StructuredProxyPushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_StructuredProxyPushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_StructuredProxyPushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::StructuredPushSupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_StructuredProxyPushSupplier _the_pof_CosNotifyChannelAdmin_mStructuredProxyPushSupplier;

CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier::~_impl_StructuredProxyPushSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_13000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_23000000, "connect_structured_push_consumer", 33, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_33000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_43000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

  if (id == ::CosNotifyComm::StructuredPushSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_StructuredPushSupplier*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_StructuredProxyPushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::StructuredProxyPushSupplier::_PD_repoId;
}

CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::_nil() {
  return ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::is_nil(::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::release(::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::marshalObjRef(::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::SequenceProxyPushSupplier_Helper::duplicate(::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPushSupplier::_duplicate(::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPushSupplier::_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();
}


CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPushSupplier::_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();
}

CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr
CosNotifyChannelAdmin::SequenceProxyPushSupplier::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SequenceProxyPushSupplier _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SequenceProxyPushSupplier* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SequenceProxyPushSupplier;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/SequenceProxyPushSupplier:1.0";


typedef CosNotifyComm::SequencePushSupplier CosNotifyComm_SequencePushSupplier;
typedef CosNotifyComm::_impl_SequencePushSupplier CosNotifyComm__impl_SequencePushSupplier;
typedef CosNotifyComm::_objref_SequencePushSupplier CosNotifyComm__objref_SequencePushSupplier;

typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::~_objref_SequenceProxyPushSupplier() {
  
}


CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::_objref_SequenceProxyPushSupplier(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId, ior, id, 1),
   _objref_ProxySupplier(ior, id),
   CosNotifyComm__objref_SequencePushSupplier(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

  if (id == ::CosNotifyComm::SequencePushSupplier::_PD_repoId)
    return (::CosNotifyComm::SequencePushSupplier_ptr) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_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, ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::SequenceProxyPushSupplier_ptr) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::ProxySupplier_ptr) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_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 CosNotifyChannelAdmin::SequenceProxyPushSupplier::connect_sequence_push_consumer

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

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

  CosNotifyComm::SequencePushConsumer_var arg_0_;
  CosNotifyComm::SequencePushConsumer_ptr arg_0;
};

void _0RL_cd_9043e11a9721dab3_53000000::marshalArguments(cdrStream& _n)
{
  CosNotifyComm::SequencePushConsumer::_marshalObjRef(arg_0,_n);

}

void _0RL_cd_9043e11a9721dab3_53000000::unmarshalArguments(cdrStream& _n)
{
  arg_0_ = CosNotifyComm::SequencePushConsumer::_unmarshalObjRef(_n);
  arg_0 = arg_0_.in();

}

const char* const _0RL_cd_9043e11a9721dab3_53000000::_user_exns[] = {
  CosEventChannelAdmin::AlreadyConnected::_PD_repoId,
  CosEventChannelAdmin::TypeError::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosEventChannelAdmin::TypeError::_PD_repoId)) {
    CosEventChannelAdmin::TypeError _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_9043e11a9721dab3_63000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_53000000* tcd = (_0RL_cd_9043e11a9721dab3_53000000*)cd;
  CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->connect_sequence_push_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    impl->connect_sequence_push_consumer(tcd->arg_0);
  else {
    try {
      impl->connect_sequence_push_consumer(tcd->arg_0);
    }
    catch(CosEventChannelAdmin::AlreadyConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosEventChannelAdmin::TypeError& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::connect_sequence_push_consumer(::CosNotifyComm::SequencePushConsumer_ptr push_consumer)
{
  _0RL_cd_9043e11a9721dab3_53000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_63000000, "connect_sequence_push_consumer", 31);
  _call_desc.arg_0 = push_consumer;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::SequenceProxyPushSupplier::suspend_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_73000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->suspend_connection();
#else
  if (!cd->is_upcall())
    impl->suspend_connection();
  else {
    try {
      impl->suspend_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyInactive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::suspend_connection()
{
  _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_73000000, "suspend_connection", 19);


  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::SequenceProxyPushSupplier::resume_connection

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_83000000(omniCallDescriptor* _OMNIORB_EX_ONLY_CD(cd), omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier* impl = (CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  impl->resume_connection();
#else
  if (!cd->is_upcall())
    impl->resume_connection();
  else {
    try {
      impl->resume_connection();
    }
    catch(CosNotifyChannelAdmin::ConnectionAlreadyActive& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotifyChannelAdmin::NotConnected& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

void CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier::resume_connection()
{
  _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_83000000, "resume_connection", 18);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_SequenceProxyPushSupplier::~_pof_SequenceProxyPushSupplier() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_SequenceProxyPushSupplier::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_SequenceProxyPushSupplier(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_SequenceProxyPushSupplier::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::SequencePushSupplier::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_SequenceProxyPushSupplier _the_pof_CosNotifyChannelAdmin_mSequenceProxyPushSupplier;

CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier::~_impl_SequenceProxyPushSupplier() {}


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

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

    _0RL_cd_9043e11a9721dab3_53000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_63000000, "connect_sequence_push_consumer", 31, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_12000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_73000000, "suspend_connection", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_32000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_83000000, "resume_connection", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier*) this;
  if (id == ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

  if (id == ::CosNotifyComm::SequencePushSupplier::_PD_repoId)
    return (::CosNotifyComm::_impl_SequencePushSupplier*) this;

  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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, ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier*) this;
  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ProxySupplier::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ProxySupplier*) this;

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

  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) 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*
CosNotifyChannelAdmin::_impl_SequenceProxyPushSupplier::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::SequenceProxyPushSupplier::_PD_repoId;
}

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::AdminNotFound::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::AdminNotFound::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::AdminNotFound::AdminNotFound(const CosNotifyChannelAdmin::AdminNotFound& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::AdminNotFound& CosNotifyChannelAdmin::AdminNotFound::operator=(const CosNotifyChannelAdmin::AdminNotFound& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::AdminNotFound::~AdminNotFound() {}

void CosNotifyChannelAdmin::AdminNotFound::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::AdminNotFound* CosNotifyChannelAdmin::AdminNotFound::_downcast(::CORBA::Exception* _e) {
  return (AdminNotFound*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::AdminNotFound::_NP_duplicate() const {
  return new AdminNotFound(*this);
}

const char* CosNotifyChannelAdmin::AdminNotFound::_NP_typeId() const {
  return _PD_typeId;
}

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

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::ProxyNotFound::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::ProxyNotFound::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::ProxyNotFound::ProxyNotFound(const CosNotifyChannelAdmin::ProxyNotFound& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::ProxyNotFound& CosNotifyChannelAdmin::ProxyNotFound::operator=(const CosNotifyChannelAdmin::ProxyNotFound& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::ProxyNotFound::~ProxyNotFound() {}

void CosNotifyChannelAdmin::ProxyNotFound::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::ProxyNotFound* CosNotifyChannelAdmin::ProxyNotFound::_downcast(::CORBA::Exception* _e) {
  return (ProxyNotFound*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::ProxyNotFound::_NP_duplicate() const {
  return new ProxyNotFound(*this);
}

const char* CosNotifyChannelAdmin::ProxyNotFound::_NP_typeId() const {
  return _PD_typeId;
}

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

void
CosNotifyChannelAdmin::AdminLimit::operator>>= (cdrStream &_n) const
{
  _n.marshalString(name,0);
  (const CosNotification::PropertyValue&) value >>= _n;

}

void
CosNotifyChannelAdmin::AdminLimit::operator<<= (cdrStream &_n)
{
  name = _n.unmarshalString(0);
  (CosNotification::PropertyValue&)value <<= _n;

}

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::AdminLimitExceeded::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::AdminLimitExceeded::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::AdminLimitExceeded::AdminLimitExceeded(const CosNotifyChannelAdmin::AdminLimitExceeded& _s) : ::CORBA::UserException(_s)
{
  admin_property_err = _s.admin_property_err;

}

CosNotifyChannelAdmin::AdminLimitExceeded::AdminLimitExceeded(const AdminLimit& _admin_property_err)
{
  pd_insertToAnyFn    = CosNotifyChannelAdmin::AdminLimitExceeded::insertToAnyFn;
  pd_insertToAnyFnNCP = CosNotifyChannelAdmin::AdminLimitExceeded::insertToAnyFnNCP;
  admin_property_err = _admin_property_err;

}



CosNotifyChannelAdmin::AdminLimitExceeded& CosNotifyChannelAdmin::AdminLimitExceeded::operator=(const CosNotifyChannelAdmin::AdminLimitExceeded& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    admin_property_err = _s.admin_property_err;

  }
  return *this;
}

CosNotifyChannelAdmin::AdminLimitExceeded::~AdminLimitExceeded() {}

void CosNotifyChannelAdmin::AdminLimitExceeded::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::AdminLimitExceeded* CosNotifyChannelAdmin::AdminLimitExceeded::_downcast(::CORBA::Exception* _e) {
  return (AdminLimitExceeded*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::AdminLimitExceeded::_NP_duplicate() const {
  return new AdminLimitExceeded(*this);
}

const char* CosNotifyChannelAdmin::AdminLimitExceeded::_NP_typeId() const {
  return _PD_typeId;
}

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

void
CosNotifyChannelAdmin::AdminLimitExceeded::operator>>= (cdrStream& _n) const
{
  (const AdminLimit&) admin_property_err >>= _n;

}

void
CosNotifyChannelAdmin::AdminLimitExceeded::operator<<= (cdrStream& _n)
{
  (AdminLimit&)admin_property_err <<= _n;

}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::ConsumerAdmin_Helper::_nil() {
  return ::CosNotifyChannelAdmin::ConsumerAdmin::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::ConsumerAdmin_Helper::is_nil(::CosNotifyChannelAdmin::ConsumerAdmin_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::ConsumerAdmin_Helper::release(::CosNotifyChannelAdmin::ConsumerAdmin_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::ConsumerAdmin_Helper::marshalObjRef(::CosNotifyChannelAdmin::ConsumerAdmin_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::ConsumerAdmin::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::ConsumerAdmin_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::ConsumerAdmin::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::ConsumerAdmin_Helper::duplicate(::CosNotifyChannelAdmin::ConsumerAdmin_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::ConsumerAdmin_ptr
CosNotifyChannelAdmin::ConsumerAdmin::_duplicate(::CosNotifyChannelAdmin::ConsumerAdmin_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::ConsumerAdmin_ptr
CosNotifyChannelAdmin::ConsumerAdmin::_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();
}


CosNotifyChannelAdmin::ConsumerAdmin_ptr
CosNotifyChannelAdmin::ConsumerAdmin::_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();
}

CosNotifyChannelAdmin::ConsumerAdmin_ptr
CosNotifyChannelAdmin::ConsumerAdmin::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_ConsumerAdmin _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_ConsumerAdmin* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_ConsumerAdmin;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/ConsumerAdmin:1.0";


typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyComm::NotifySubscribe CosNotifyComm_NotifySubscribe;
typedef CosNotifyComm::_impl_NotifySubscribe CosNotifyComm__impl_NotifySubscribe;
typedef CosNotifyComm::_objref_NotifySubscribe CosNotifyComm__objref_NotifySubscribe;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosEventChannelAdmin::ConsumerAdmin CosEventChannelAdmin_ConsumerAdmin;
typedef CosEventChannelAdmin::_impl_ConsumerAdmin CosEventChannelAdmin__impl_ConsumerAdmin;
typedef CosEventChannelAdmin::_objref_ConsumerAdmin CosEventChannelAdmin__objref_ConsumerAdmin;

CosNotifyChannelAdmin::_objref_ConsumerAdmin::~_objref_ConsumerAdmin() {
  
}


CosNotifyChannelAdmin::_objref_ConsumerAdmin::_objref_ConsumerAdmin(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId, ior, id, 1),
   CosNotification__objref_QoSAdmin(ior, id),
   CosNotifyComm__objref_NotifySubscribe(ior, id),
   CosNotifyFilter__objref_FilterAdmin(ior, id),
   CosEventChannelAdmin__objref_ConsumerAdmin(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_ConsumerAdmin::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId)
    return (::CosNotifyChannelAdmin::ConsumerAdmin_ptr) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::NotifySubscribe_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_ptr) this;

  if (id == ::CosEventChannelAdmin::ConsumerAdmin::_PD_repoId)
    return (::CosEventChannelAdmin::ConsumerAdmin_ptr) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId))
    return (::CosNotifyChannelAdmin::ConsumerAdmin_ptr) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

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

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_ptr) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::ConsumerAdmin::_PD_repoId))
    return (::CosEventChannelAdmin::ConsumerAdmin_ptr) this;


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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_MyID

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

  CosNotifyChannelAdmin::AdminID result;
};

void _0RL_cd_9043e11a9721dab3_93000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_93000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CosNotifyChannelAdmin::AdminID&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_a3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_93000000* tcd = (_0RL_cd_9043e11a9721dab3_93000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->MyID();


}

CosNotifyChannelAdmin::AdminID CosNotifyChannelAdmin::_objref_ConsumerAdmin::MyID()
{
  _0RL_cd_9043e11a9721dab3_93000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a3000000, "_get_MyID", 10);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_MyChannel

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

  CosNotifyChannelAdmin::EventChannel_var result;
};

void _0RL_cd_9043e11a9721dab3_b3000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::EventChannel_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_b3000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::EventChannel_Helper::unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_c3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b3000000* tcd = (_0RL_cd_9043e11a9721dab3_b3000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->MyChannel();


}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::MyChannel()
{
  _0RL_cd_9043e11a9721dab3_b3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c3000000, "_get_MyChannel", 15);


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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_MyOperator

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

  CosNotifyChannelAdmin::InterFilterGroupOperator result;
};

void _0RL_cd_9043e11a9721dab3_d3000000::marshalReturnedValues(cdrStream& _n)
{
  result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_d3000000::unmarshalReturnedValues(cdrStream& _n)
{
  (CosNotifyChannelAdmin::InterFilterGroupOperator&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_e3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d3000000* tcd = (_0RL_cd_9043e11a9721dab3_d3000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->MyOperator();


}

CosNotifyChannelAdmin::InterFilterGroupOperator CosNotifyChannelAdmin::_objref_ConsumerAdmin::MyOperator()
{
  _0RL_cd_9043e11a9721dab3_d3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e3000000, "_get_MyOperator", 16);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_priority_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_f3000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b0000000* tcd = (_0RL_cd_9043e11a9721dab3_b0000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->priority_filter();


}

CosNotifyFilter::MappingFilter_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::priority_filter()
{
  _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f3000000, "_get_priority_filter", 21);


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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_set_priority_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_04000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d0000000* tcd = (_0RL_cd_9043e11a9721dab3_d0000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  impl->priority_filter(tcd->arg_0);


}

void CosNotifyChannelAdmin::_objref_ConsumerAdmin::priority_filter(::CosNotifyFilter::MappingFilter_ptr _v)
{
  _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_04000000, "_set_priority_filter", 21);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_lifetime_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_14000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b0000000* tcd = (_0RL_cd_9043e11a9721dab3_b0000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->lifetime_filter();


}

CosNotifyFilter::MappingFilter_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::lifetime_filter()
{
  _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_14000000, "_get_lifetime_filter", 21);


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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_set_lifetime_filter

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_24000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d0000000* tcd = (_0RL_cd_9043e11a9721dab3_d0000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  impl->lifetime_filter(tcd->arg_0);


}

void CosNotifyChannelAdmin::_objref_ConsumerAdmin::lifetime_filter(::CosNotifyFilter::MappingFilter_ptr _v)
{
  _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_24000000, "_set_lifetime_filter", 21);
  _call_desc.arg_0 = _v;

  _invoke(_call_desc);



}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_pull_suppliers

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

  CosNotifyChannelAdmin::ProxyIDSeq_var result;
};

void _0RL_cd_9043e11a9721dab3_34000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotifyChannelAdmin::ProxyIDSeq&) result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_34000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotifyChannelAdmin::ProxyIDSeq;
  (CosNotifyChannelAdmin::ProxyIDSeq&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_44000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_34000000* tcd = (_0RL_cd_9043e11a9721dab3_34000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->pull_suppliers();


}

CosNotifyChannelAdmin::ProxyIDSeq* CosNotifyChannelAdmin::_objref_ConsumerAdmin::pull_suppliers()
{
  _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_44000000, "_get_pull_suppliers", 20);


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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::_get_push_suppliers

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_54000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_34000000* tcd = (_0RL_cd_9043e11a9721dab3_34000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  tcd->result = impl->push_suppliers();


}

CosNotifyChannelAdmin::ProxyIDSeq* CosNotifyChannelAdmin::_objref_ConsumerAdmin::push_suppliers()
{
  _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_54000000, "_get_push_suppliers", 20);


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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::get_proxy_supplier

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mProxySupplier_i_clong_e_cCosNotifyChannelAdmin_mProxyNotFound
class _0RL_cd_9043e11a9721dab3_64000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_64000000(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[];

  CosNotifyChannelAdmin::ProxyID arg_0;
  CosNotifyChannelAdmin::ProxySupplier_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_64000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ProxyID&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_64000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ProxySupplier::_marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_64000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ProxySupplier::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_9043e11a9721dab3_64000000::_user_exns[] = {
  CosNotifyChannelAdmin::ProxyNotFound::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_64000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::ProxyNotFound::_PD_repoId)) {
    CosNotifyChannelAdmin::ProxyNotFound _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_9043e11a9721dab3_74000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_64000000* tcd = (_0RL_cd_9043e11a9721dab3_64000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->get_proxy_supplier(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->get_proxy_supplier(tcd->arg_0);
  else {
    try {
      tcd->result = impl->get_proxy_supplier(tcd->arg_0);
    }
    catch(CosNotifyChannelAdmin::ProxyNotFound& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxySupplier_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::get_proxy_supplier(::CosNotifyChannelAdmin::ProxyID proxy_id)
{
  _0RL_cd_9043e11a9721dab3_64000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_74000000, "get_proxy_supplier", 19);
  _call_desc.arg_0 = proxy_id;

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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_pull_supplier

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mProxySupplier_i_cCosNotifyChannelAdmin_mClientType_o_clong_e_cCosNotifyChannelAdmin_mAdminLimitExceeded
class _0RL_cd_9043e11a9721dab3_84000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_84000000(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[];

  CosNotifyChannelAdmin::ClientType arg_0;
  CosNotifyChannelAdmin::ProxyID arg_1;
  CosNotifyChannelAdmin::ProxySupplier_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_84000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ClientType&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_84000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ProxySupplier::_marshalObjRef(result,_n);
  arg_1 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_84000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ProxySupplier::_unmarshalObjRef(_n);
  (CosNotifyChannelAdmin::ProxyID&)arg_1 <<= _n;

}

const char* const _0RL_cd_9043e11a9721dab3_84000000::_user_exns[] = {
  CosNotifyChannelAdmin::AdminLimitExceeded::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_84000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::AdminLimitExceeded::_PD_repoId)) {
    CosNotifyChannelAdmin::AdminLimitExceeded _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_9043e11a9721dab3_94000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_84000000* tcd = (_0RL_cd_9043e11a9721dab3_84000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->obtain_notification_pull_supplier(tcd->arg_0, tcd->arg_1);
#else
  if (!cd->is_upcall())
    tcd->result = impl->obtain_notification_pull_supplier(tcd->arg_0, tcd->arg_1);
  else {
    try {
      tcd->result = impl->obtain_notification_pull_supplier(tcd->arg_0, tcd->arg_1);
    }
    catch(CosNotifyChannelAdmin::AdminLimitExceeded& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxySupplier_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::obtain_notification_pull_supplier(::CosNotifyChannelAdmin::ClientType ctype, ::CosNotifyChannelAdmin::ProxyID& proxy_id)
{
  _0RL_cd_9043e11a9721dab3_84000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_94000000, "obtain_notification_pull_supplier", 34);
  _call_desc.arg_0 = ctype;

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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::obtain_notification_push_supplier

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_a4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_84000000* tcd = (_0RL_cd_9043e11a9721dab3_84000000*)cd;
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->obtain_notification_push_supplier(tcd->arg_0, tcd->arg_1);
#else
  if (!cd->is_upcall())
    tcd->result = impl->obtain_notification_push_supplier(tcd->arg_0, tcd->arg_1);
  else {
    try {
      tcd->result = impl->obtain_notification_push_supplier(tcd->arg_0, tcd->arg_1);
    }
    catch(CosNotifyChannelAdmin::AdminLimitExceeded& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxySupplier_ptr CosNotifyChannelAdmin::_objref_ConsumerAdmin::obtain_notification_push_supplier(::CosNotifyChannelAdmin::ClientType ctype, ::CosNotifyChannelAdmin::ProxyID& proxy_id)
{
  _0RL_cd_9043e11a9721dab3_84000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a4000000, "obtain_notification_push_supplier", 34);
  _call_desc.arg_0 = ctype;

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


}


//
// Code for CosNotifyChannelAdmin::ConsumerAdmin::destroy

// Proxy call descriptor class. Mangled signature:
//  void
class _0RL_cd_9043e11a9721dab3_b4000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_b4000000(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_9043e11a9721dab3_b4000000::_user_exns[] = {
  0
};

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_c4000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_ConsumerAdmin* impl = (CosNotifyChannelAdmin::_impl_ConsumerAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId);
  impl->destroy();


}

void CosNotifyChannelAdmin::_objref_ConsumerAdmin::destroy()
{
  _0RL_cd_9043e11a9721dab3_b4000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c4000000, "destroy", 8);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_ConsumerAdmin::~_pof_ConsumerAdmin() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_ConsumerAdmin::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_ConsumerAdmin(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_ConsumerAdmin::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifySubscribe::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventChannelAdmin::ConsumerAdmin::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_ConsumerAdmin _the_pof_CosNotifyChannelAdmin_mConsumerAdmin;

CosNotifyChannelAdmin::_impl_ConsumerAdmin::~_impl_ConsumerAdmin() {}


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

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

    _0RL_cd_9043e11a9721dab3_93000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a3000000, "_get_MyID", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c3000000, "_get_MyChannel", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e3000000, "_get_MyOperator", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f3000000, "_get_priority_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_04000000, "_set_priority_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_14000000, "_get_lifetime_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d0000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_24000000, "_set_lifetime_filter", 21, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_44000000, "_get_pull_suppliers", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_54000000, "_get_push_suppliers", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_64000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_74000000, "get_proxy_supplier", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_84000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_94000000, "obtain_notification_pull_supplier", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_84000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a4000000, "obtain_notification_push_supplier", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b4000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c4000000, "destroy", 8, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_ConsumerAdmin::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_ConsumerAdmin*) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyComm::NotifySubscribe::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifySubscribe*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;

  if (id == ::CosEventChannelAdmin::ConsumerAdmin::_PD_repoId)
    return (::CosEventChannelAdmin::_impl_ConsumerAdmin*) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_ConsumerAdmin*) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

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

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::ConsumerAdmin::_PD_repoId))
    return (::CosEventChannelAdmin::_impl_ConsumerAdmin*) this;


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

const char*
CosNotifyChannelAdmin::_impl_ConsumerAdmin::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::ConsumerAdmin::_PD_repoId;
}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::SupplierAdmin_Helper::_nil() {
  return ::CosNotifyChannelAdmin::SupplierAdmin::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::SupplierAdmin_Helper::is_nil(::CosNotifyChannelAdmin::SupplierAdmin_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::SupplierAdmin_Helper::release(::CosNotifyChannelAdmin::SupplierAdmin_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::SupplierAdmin_Helper::marshalObjRef(::CosNotifyChannelAdmin::SupplierAdmin_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::SupplierAdmin::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::SupplierAdmin_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::SupplierAdmin::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::SupplierAdmin_Helper::duplicate(::CosNotifyChannelAdmin::SupplierAdmin_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::SupplierAdmin_ptr
CosNotifyChannelAdmin::SupplierAdmin::_duplicate(::CosNotifyChannelAdmin::SupplierAdmin_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::SupplierAdmin_ptr
CosNotifyChannelAdmin::SupplierAdmin::_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();
}


CosNotifyChannelAdmin::SupplierAdmin_ptr
CosNotifyChannelAdmin::SupplierAdmin::_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();
}

CosNotifyChannelAdmin::SupplierAdmin_ptr
CosNotifyChannelAdmin::SupplierAdmin::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_SupplierAdmin _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_SupplierAdmin* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_SupplierAdmin;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/SupplierAdmin:1.0";


typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotifyComm::NotifyPublish CosNotifyComm_NotifyPublish;
typedef CosNotifyComm::_impl_NotifyPublish CosNotifyComm__impl_NotifyPublish;
typedef CosNotifyComm::_objref_NotifyPublish CosNotifyComm__objref_NotifyPublish;

typedef CosNotifyFilter::FilterAdmin CosNotifyFilter_FilterAdmin;
typedef CosNotifyFilter::_impl_FilterAdmin CosNotifyFilter__impl_FilterAdmin;
typedef CosNotifyFilter::_objref_FilterAdmin CosNotifyFilter__objref_FilterAdmin;

typedef CosEventChannelAdmin::SupplierAdmin CosEventChannelAdmin_SupplierAdmin;
typedef CosEventChannelAdmin::_impl_SupplierAdmin CosEventChannelAdmin__impl_SupplierAdmin;
typedef CosEventChannelAdmin::_objref_SupplierAdmin CosEventChannelAdmin__objref_SupplierAdmin;

CosNotifyChannelAdmin::_objref_SupplierAdmin::~_objref_SupplierAdmin() {
  
}


CosNotifyChannelAdmin::_objref_SupplierAdmin::_objref_SupplierAdmin(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId, ior, id, 1),
   CosNotification__objref_QoSAdmin(ior, id),
   CosNotifyComm__objref_NotifyPublish(ior, id),
   CosNotifyFilter__objref_FilterAdmin(ior, id),
   CosEventChannelAdmin__objref_SupplierAdmin(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_SupplierAdmin::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId)
    return (::CosNotifyChannelAdmin::SupplierAdmin_ptr) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::NotifyPublish_ptr) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::FilterAdmin_ptr) this;

  if (id == ::CosEventChannelAdmin::SupplierAdmin::_PD_repoId)
    return (::CosEventChannelAdmin::SupplierAdmin_ptr) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId))
    return (::CosNotifyChannelAdmin::SupplierAdmin_ptr) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

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

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::FilterAdmin_ptr) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::SupplierAdmin::_PD_repoId))
    return (::CosEventChannelAdmin::SupplierAdmin_ptr) this;


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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::_get_MyID

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_d4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_93000000* tcd = (_0RL_cd_9043e11a9721dab3_93000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  tcd->result = impl->MyID();


}

CosNotifyChannelAdmin::AdminID CosNotifyChannelAdmin::_objref_SupplierAdmin::MyID()
{
  _0RL_cd_9043e11a9721dab3_93000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_d4000000, "_get_MyID", 10);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::_get_MyChannel

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_e4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b3000000* tcd = (_0RL_cd_9043e11a9721dab3_b3000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  tcd->result = impl->MyChannel();


}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::_objref_SupplierAdmin::MyChannel()
{
  _0RL_cd_9043e11a9721dab3_b3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e4000000, "_get_MyChannel", 15);


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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::_get_MyOperator

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_f4000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d3000000* tcd = (_0RL_cd_9043e11a9721dab3_d3000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  tcd->result = impl->MyOperator();


}

CosNotifyChannelAdmin::InterFilterGroupOperator CosNotifyChannelAdmin::_objref_SupplierAdmin::MyOperator()
{
  _0RL_cd_9043e11a9721dab3_d3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f4000000, "_get_MyOperator", 16);


  _invoke(_call_desc);
  return _call_desc.result;


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::_get_pull_consumers

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_05000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_34000000* tcd = (_0RL_cd_9043e11a9721dab3_34000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  tcd->result = impl->pull_consumers();


}

CosNotifyChannelAdmin::ProxyIDSeq* CosNotifyChannelAdmin::_objref_SupplierAdmin::pull_consumers()
{
  _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_05000000, "_get_pull_consumers", 20);


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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::_get_push_consumers

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_15000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_34000000* tcd = (_0RL_cd_9043e11a9721dab3_34000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  tcd->result = impl->push_consumers();


}

CosNotifyChannelAdmin::ProxyIDSeq* CosNotifyChannelAdmin::_objref_SupplierAdmin::push_consumers()
{
  _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_15000000, "_get_push_consumers", 20);


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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::get_proxy_consumer

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mProxyConsumer_i_clong_e_cCosNotifyChannelAdmin_mProxyNotFound
class _0RL_cd_9043e11a9721dab3_25000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_25000000(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[];

  CosNotifyChannelAdmin::ProxyID arg_0;
  CosNotifyChannelAdmin::ProxyConsumer_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_25000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ProxyID&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_25000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ProxyConsumer::_marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_25000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ProxyConsumer::_unmarshalObjRef(_n);

}

const char* const _0RL_cd_9043e11a9721dab3_25000000::_user_exns[] = {
  CosNotifyChannelAdmin::ProxyNotFound::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_25000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::ProxyNotFound::_PD_repoId)) {
    CosNotifyChannelAdmin::ProxyNotFound _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_9043e11a9721dab3_35000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_25000000* tcd = (_0RL_cd_9043e11a9721dab3_25000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->get_proxy_consumer(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->get_proxy_consumer(tcd->arg_0);
  else {
    try {
      tcd->result = impl->get_proxy_consumer(tcd->arg_0);
    }
    catch(CosNotifyChannelAdmin::ProxyNotFound& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxyConsumer_ptr CosNotifyChannelAdmin::_objref_SupplierAdmin::get_proxy_consumer(::CosNotifyChannelAdmin::ProxyID proxy_id)
{
  _0RL_cd_9043e11a9721dab3_25000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_35000000, "get_proxy_consumer", 19);
  _call_desc.arg_0 = proxy_id;

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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::obtain_notification_pull_consumer

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mProxyConsumer_i_cCosNotifyChannelAdmin_mClientType_o_clong_e_cCosNotifyChannelAdmin_mAdminLimitExceeded
class _0RL_cd_9043e11a9721dab3_45000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_45000000(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[];

  CosNotifyChannelAdmin::ClientType arg_0;
  CosNotifyChannelAdmin::ProxyID arg_1;
  CosNotifyChannelAdmin::ProxyConsumer_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_45000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ClientType&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_45000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ProxyConsumer::_marshalObjRef(result,_n);
  arg_1 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_45000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ProxyConsumer::_unmarshalObjRef(_n);
  (CosNotifyChannelAdmin::ProxyID&)arg_1 <<= _n;

}

const char* const _0RL_cd_9043e11a9721dab3_45000000::_user_exns[] = {
  CosNotifyChannelAdmin::AdminLimitExceeded::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_45000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::AdminLimitExceeded::_PD_repoId)) {
    CosNotifyChannelAdmin::AdminLimitExceeded _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_9043e11a9721dab3_55000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_45000000* tcd = (_0RL_cd_9043e11a9721dab3_45000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->obtain_notification_pull_consumer(tcd->arg_0, tcd->arg_1);
#else
  if (!cd->is_upcall())
    tcd->result = impl->obtain_notification_pull_consumer(tcd->arg_0, tcd->arg_1);
  else {
    try {
      tcd->result = impl->obtain_notification_pull_consumer(tcd->arg_0, tcd->arg_1);
    }
    catch(CosNotifyChannelAdmin::AdminLimitExceeded& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxyConsumer_ptr CosNotifyChannelAdmin::_objref_SupplierAdmin::obtain_notification_pull_consumer(::CosNotifyChannelAdmin::ClientType ctype, ::CosNotifyChannelAdmin::ProxyID& proxy_id)
{
  _0RL_cd_9043e11a9721dab3_45000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_55000000, "obtain_notification_pull_consumer", 34);
  _call_desc.arg_0 = ctype;

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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::obtain_notification_push_consumer

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_65000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_45000000* tcd = (_0RL_cd_9043e11a9721dab3_45000000*)cd;
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->obtain_notification_push_consumer(tcd->arg_0, tcd->arg_1);
#else
  if (!cd->is_upcall())
    tcd->result = impl->obtain_notification_push_consumer(tcd->arg_0, tcd->arg_1);
  else {
    try {
      tcd->result = impl->obtain_notification_push_consumer(tcd->arg_0, tcd->arg_1);
    }
    catch(CosNotifyChannelAdmin::AdminLimitExceeded& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ProxyConsumer_ptr CosNotifyChannelAdmin::_objref_SupplierAdmin::obtain_notification_push_consumer(::CosNotifyChannelAdmin::ClientType ctype, ::CosNotifyChannelAdmin::ProxyID& proxy_id)
{
  _0RL_cd_9043e11a9721dab3_45000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_65000000, "obtain_notification_push_consumer", 34);
  _call_desc.arg_0 = ctype;

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


}


//
// Code for CosNotifyChannelAdmin::SupplierAdmin::destroy

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_75000000(omniCallDescriptor*, omniServant* svnt)
{
  
  CosNotifyChannelAdmin::_impl_SupplierAdmin* impl = (CosNotifyChannelAdmin::_impl_SupplierAdmin*) svnt->_ptrToInterface(CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId);
  impl->destroy();


}

void CosNotifyChannelAdmin::_objref_SupplierAdmin::destroy()
{
  _0RL_cd_9043e11a9721dab3_b4000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_75000000, "destroy", 8);


  _invoke(_call_desc);



}

CosNotifyChannelAdmin::_pof_SupplierAdmin::~_pof_SupplierAdmin() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_SupplierAdmin::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_SupplierAdmin(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_SupplierAdmin::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyComm::NotifyPublish::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotifyFilter::FilterAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventChannelAdmin::SupplierAdmin::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_SupplierAdmin _the_pof_CosNotifyChannelAdmin_mSupplierAdmin;

CosNotifyChannelAdmin::_impl_SupplierAdmin::~_impl_SupplierAdmin() {}


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

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

    _0RL_cd_9043e11a9721dab3_93000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_d4000000, "_get_MyID", 10, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e4000000, "_get_MyChannel", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d3000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f4000000, "_get_MyOperator", 16, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_05000000, "_get_pull_consumers", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_34000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_15000000, "_get_push_consumers", 20, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_25000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_35000000, "get_proxy_consumer", 19, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_45000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_55000000, "obtain_notification_pull_consumer", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_45000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_65000000, "obtain_notification_push_consumer", 34, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b4000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_75000000, "destroy", 8, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_SupplierAdmin::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_SupplierAdmin*) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotifyComm::NotifyPublish::_PD_repoId)
    return (::CosNotifyComm::_impl_NotifyPublish*) this;

  if (id == ::CosNotifyFilter::FilterAdmin::_PD_repoId)
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;

  if (id == ::CosEventChannelAdmin::SupplierAdmin::_PD_repoId)
    return (::CosEventChannelAdmin::_impl_SupplierAdmin*) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_SupplierAdmin*) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

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

  if (omni::strMatch(id, ::CosNotifyFilter::FilterAdmin::_PD_repoId))
    return (::CosNotifyFilter::_impl_FilterAdmin*) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::SupplierAdmin::_PD_repoId))
    return (::CosEventChannelAdmin::_impl_SupplierAdmin*) this;


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

const char*
CosNotifyChannelAdmin::_impl_SupplierAdmin::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::SupplierAdmin::_PD_repoId;
}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::EventChannel_Helper::_nil() {
  return ::CosNotifyChannelAdmin::EventChannel::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::EventChannel_Helper::is_nil(::CosNotifyChannelAdmin::EventChannel_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::EventChannel_Helper::release(::CosNotifyChannelAdmin::EventChannel_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::EventChannel_Helper::marshalObjRef(::CosNotifyChannelAdmin::EventChannel_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::EventChannel::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::EventChannel_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::EventChannel::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::EventChannel_Helper::duplicate(::CosNotifyChannelAdmin::EventChannel_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::EventChannel_ptr
CosNotifyChannelAdmin::EventChannel::_duplicate(::CosNotifyChannelAdmin::EventChannel_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::EventChannel_ptr
CosNotifyChannelAdmin::EventChannel::_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();
}


CosNotifyChannelAdmin::EventChannel_ptr
CosNotifyChannelAdmin::EventChannel::_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();
}

CosNotifyChannelAdmin::EventChannel_ptr
CosNotifyChannelAdmin::EventChannel::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_EventChannel _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_EventChannel* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_EventChannel;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::EventChannel::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/EventChannel:1.0";


typedef CosNotification::QoSAdmin CosNotification_QoSAdmin;
typedef CosNotification::_impl_QoSAdmin CosNotification__impl_QoSAdmin;
typedef CosNotification::_objref_QoSAdmin CosNotification__objref_QoSAdmin;

typedef CosNotification::AdminPropertiesAdmin CosNotification_AdminPropertiesAdmin;
typedef CosNotification::_impl_AdminPropertiesAdmin CosNotification__impl_AdminPropertiesAdmin;
typedef CosNotification::_objref_AdminPropertiesAdmin CosNotification__objref_AdminPropertiesAdmin;

typedef CosEventChannelAdmin::EventChannel CosEventChannelAdmin_EventChannel;
typedef CosEventChannelAdmin::_impl_EventChannel CosEventChannelAdmin__impl_EventChannel;
typedef CosEventChannelAdmin::_objref_EventChannel CosEventChannelAdmin__objref_EventChannel;

CosNotifyChannelAdmin::_objref_EventChannel::~_objref_EventChannel() {
  
}


CosNotifyChannelAdmin::_objref_EventChannel::_objref_EventChannel(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::EventChannel::_PD_repoId, ior, id, 1),
   CosNotification__objref_QoSAdmin(ior, id),
   CosNotification__objref_AdminPropertiesAdmin(ior, id),
   CosEventChannelAdmin__objref_EventChannel(ior, id)
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_EventChannel::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::EventChannel::_PD_repoId)
    return (::CosNotifyChannelAdmin::EventChannel_ptr) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::QoSAdmin_ptr) this;

  if (id == ::CosNotification::AdminPropertiesAdmin::_PD_repoId)
    return (::CosNotification::AdminPropertiesAdmin_ptr) this;

  if (id == ::CosEventChannelAdmin::EventChannel::_PD_repoId)
    return (::CosEventChannelAdmin::EventChannel_ptr) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::EventChannel::_PD_repoId))
    return (::CosNotifyChannelAdmin::EventChannel_ptr) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::QoSAdmin_ptr) this;

  if (omni::strMatch(id, ::CosNotification::AdminPropertiesAdmin::_PD_repoId))
    return (::CosNotification::AdminPropertiesAdmin_ptr) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::EventChannel::_PD_repoId))
    return (::CosEventChannelAdmin::EventChannel_ptr) this;


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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::EventChannel::_get_MyFactory

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

  CosNotifyChannelAdmin::EventChannelFactory_var result;
};

void _0RL_cd_9043e11a9721dab3_85000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::EventChannelFactory_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_85000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::EventChannelFactory_Helper::unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_95000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_85000000* tcd = (_0RL_cd_9043e11a9721dab3_85000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->MyFactory();


}

CosNotifyChannelAdmin::EventChannelFactory_ptr CosNotifyChannelAdmin::_objref_EventChannel::MyFactory()
{
  _0RL_cd_9043e11a9721dab3_85000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_95000000, "_get_MyFactory", 15);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::_get_default_consumer_admin

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_a5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_90000000* tcd = (_0RL_cd_9043e11a9721dab3_90000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->default_consumer_admin();


}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::default_consumer_admin()
{
  _0RL_cd_9043e11a9721dab3_90000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a5000000, "_get_default_consumer_admin", 28);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::_get_default_supplier_admin

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_b5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_20000000* tcd = (_0RL_cd_9043e11a9721dab3_20000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->default_supplier_admin();


}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::default_supplier_admin()
{
  _0RL_cd_9043e11a9721dab3_20000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_b5000000, "_get_default_supplier_admin", 28);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::_get_default_filter_factory

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

  CosNotifyFilter::FilterFactory_var result;
};

void _0RL_cd_9043e11a9721dab3_c5000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyFilter::FilterFactory::_marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_c5000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyFilter::FilterFactory::_unmarshalObjRef(_n);

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_d5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_c5000000* tcd = (_0RL_cd_9043e11a9721dab3_c5000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->default_filter_factory();


}

CosNotifyFilter::FilterFactory_ptr CosNotifyChannelAdmin::_objref_EventChannel::default_filter_factory()
{
  _0RL_cd_9043e11a9721dab3_c5000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_d5000000, "_get_default_filter_factory", 28);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::new_for_consumers

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

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CosNotifyChannelAdmin::InterFilterGroupOperator arg_0;
  CosNotifyChannelAdmin::AdminID arg_1;
  CosNotifyChannelAdmin::ConsumerAdmin_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_e5000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::InterFilterGroupOperator&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_e5000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ConsumerAdmin_Helper::marshalObjRef(result,_n);
  arg_1 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_e5000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ConsumerAdmin_Helper::unmarshalObjRef(_n);
  (CosNotifyChannelAdmin::AdminID&)arg_1 <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_f5000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_e5000000* tcd = (_0RL_cd_9043e11a9721dab3_e5000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->new_for_consumers(tcd->arg_0, tcd->arg_1);


}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::new_for_consumers(::CosNotifyChannelAdmin::InterFilterGroupOperator op, ::CosNotifyChannelAdmin::AdminID& id)
{
  _0RL_cd_9043e11a9721dab3_e5000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f5000000, "new_for_consumers", 18);
  _call_desc.arg_0 = op;

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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::new_for_suppliers

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

  void unmarshalReturnedValues(cdrStream&);
  void marshalReturnedValues(cdrStream&);
  
  
  static const char* const _user_exns[];

  CosNotifyChannelAdmin::InterFilterGroupOperator arg_0;
  CosNotifyChannelAdmin::AdminID arg_1;
  CosNotifyChannelAdmin::SupplierAdmin_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_06000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::InterFilterGroupOperator&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_06000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::SupplierAdmin_Helper::marshalObjRef(result,_n);
  arg_1 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_06000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::SupplierAdmin_Helper::unmarshalObjRef(_n);
  (CosNotifyChannelAdmin::AdminID&)arg_1 <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_16000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_06000000* tcd = (_0RL_cd_9043e11a9721dab3_06000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->new_for_suppliers(tcd->arg_0, tcd->arg_1);


}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::new_for_suppliers(::CosNotifyChannelAdmin::InterFilterGroupOperator op, ::CosNotifyChannelAdmin::AdminID& id)
{
  _0RL_cd_9043e11a9721dab3_06000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_16000000, "new_for_suppliers", 18);
  _call_desc.arg_0 = op;

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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::get_consumeradmin

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mConsumerAdmin_i_clong_e_cCosNotifyChannelAdmin_mAdminNotFound
class _0RL_cd_9043e11a9721dab3_26000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_26000000(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[];

  CosNotifyChannelAdmin::AdminID arg_0;
  CosNotifyChannelAdmin::ConsumerAdmin_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_26000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::AdminID&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_26000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::ConsumerAdmin_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_26000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::ConsumerAdmin_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_9043e11a9721dab3_26000000::_user_exns[] = {
  CosNotifyChannelAdmin::AdminNotFound::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_26000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::AdminNotFound::_PD_repoId)) {
    CosNotifyChannelAdmin::AdminNotFound _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_9043e11a9721dab3_36000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_26000000* tcd = (_0RL_cd_9043e11a9721dab3_26000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->get_consumeradmin(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->get_consumeradmin(tcd->arg_0);
  else {
    try {
      tcd->result = impl->get_consumeradmin(tcd->arg_0);
    }
    catch(CosNotifyChannelAdmin::AdminNotFound& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::ConsumerAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::get_consumeradmin(::CosNotifyChannelAdmin::AdminID id)
{
  _0RL_cd_9043e11a9721dab3_26000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_36000000, "get_consumeradmin", 18);
  _call_desc.arg_0 = id;

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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::get_supplieradmin

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mSupplierAdmin_i_clong_e_cCosNotifyChannelAdmin_mAdminNotFound
class _0RL_cd_9043e11a9721dab3_46000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_46000000(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[];

  CosNotifyChannelAdmin::AdminID arg_0;
  CosNotifyChannelAdmin::SupplierAdmin_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_46000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::AdminID&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_46000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::SupplierAdmin_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_46000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::SupplierAdmin_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_9043e11a9721dab3_46000000::_user_exns[] = {
  CosNotifyChannelAdmin::AdminNotFound::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_46000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::AdminNotFound::_PD_repoId)) {
    CosNotifyChannelAdmin::AdminNotFound _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_9043e11a9721dab3_56000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_46000000* tcd = (_0RL_cd_9043e11a9721dab3_46000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->get_supplieradmin(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->get_supplieradmin(tcd->arg_0);
  else {
    try {
      tcd->result = impl->get_supplieradmin(tcd->arg_0);
    }
    catch(CosNotifyChannelAdmin::AdminNotFound& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::SupplierAdmin_ptr CosNotifyChannelAdmin::_objref_EventChannel::get_supplieradmin(::CosNotifyChannelAdmin::AdminID id)
{
  _0RL_cd_9043e11a9721dab3_46000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_56000000, "get_supplieradmin", 18);
  _call_desc.arg_0 = id;

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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::get_all_consumeradmins

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

  CosNotifyChannelAdmin::AdminIDSeq_var result;
};

void _0RL_cd_9043e11a9721dab3_66000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotifyChannelAdmin::AdminIDSeq&) result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_66000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotifyChannelAdmin::AdminIDSeq;
  (CosNotifyChannelAdmin::AdminIDSeq&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_76000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_66000000* tcd = (_0RL_cd_9043e11a9721dab3_66000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->get_all_consumeradmins();


}

CosNotifyChannelAdmin::AdminIDSeq* CosNotifyChannelAdmin::_objref_EventChannel::get_all_consumeradmins()
{
  _0RL_cd_9043e11a9721dab3_66000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_76000000, "get_all_consumeradmins", 23);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannel::get_all_supplieradmins

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_86000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_66000000* tcd = (_0RL_cd_9043e11a9721dab3_66000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannel* impl = (CosNotifyChannelAdmin::_impl_EventChannel*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannel::_PD_repoId);
  tcd->result = impl->get_all_supplieradmins();


}

CosNotifyChannelAdmin::AdminIDSeq* CosNotifyChannelAdmin::_objref_EventChannel::get_all_supplieradmins()
{
  _0RL_cd_9043e11a9721dab3_66000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_86000000, "get_all_supplieradmins", 23);


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


}

CosNotifyChannelAdmin::_pof_EventChannel::~_pof_EventChannel() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_EventChannel::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_EventChannel(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_EventChannel::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::EventChannel::_PD_repoId))
    return 1;
  if (omni::ptrStrMatch(id, CosNotification::QoSAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosNotification::AdminPropertiesAdmin::_PD_repoId))
    return 1;

  if (omni::ptrStrMatch(id, CosEventChannelAdmin::EventChannel::_PD_repoId))
    return 1;


  return 0;
}

const CosNotifyChannelAdmin::_pof_EventChannel _the_pof_CosNotifyChannelAdmin_mEventChannel;

CosNotifyChannelAdmin::_impl_EventChannel::~_impl_EventChannel() {}


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

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

    _0RL_cd_9043e11a9721dab3_85000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_95000000, "_get_MyFactory", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_90000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a5000000, "_get_default_consumer_admin", 28, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_20000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_b5000000, "_get_default_supplier_admin", 28, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_c5000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_d5000000, "_get_default_filter_factory", 28, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_e5000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_f5000000, "new_for_consumers", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_06000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_16000000, "new_for_suppliers", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_26000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_36000000, "get_consumeradmin", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_46000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_56000000, "get_supplieradmin", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_66000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_76000000, "get_all_consumeradmins", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_66000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_86000000, "get_all_supplieradmins", 23, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

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

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


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_EventChannel::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::EventChannel::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_EventChannel*) this;
  if (id == ::CosNotification::QoSAdmin::_PD_repoId)
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (id == ::CosNotification::AdminPropertiesAdmin::_PD_repoId)
    return (::CosNotification::_impl_AdminPropertiesAdmin*) this;

  if (id == ::CosEventChannelAdmin::EventChannel::_PD_repoId)
    return (::CosEventChannelAdmin::_impl_EventChannel*) this;


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

  if (omni::strMatch(id, ::CosNotifyChannelAdmin::EventChannel::_PD_repoId))
    return (::CosNotifyChannelAdmin::_impl_EventChannel*) this;
  if (omni::strMatch(id, ::CosNotification::QoSAdmin::_PD_repoId))
    return (::CosNotification::_impl_QoSAdmin*) this;

  if (omni::strMatch(id, ::CosNotification::AdminPropertiesAdmin::_PD_repoId))
    return (::CosNotification::_impl_AdminPropertiesAdmin*) this;

  if (omni::strMatch(id, ::CosEventChannelAdmin::EventChannel::_PD_repoId))
    return (::CosEventChannelAdmin::_impl_EventChannel*) this;


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

const char*
CosNotifyChannelAdmin::_impl_EventChannel::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::EventChannel::_PD_repoId;
}

::CORBA::Exception::insertExceptionToAny CosNotifyChannelAdmin::ChannelNotFound::insertToAnyFn = 0;
::CORBA::Exception::insertExceptionToAnyNCP CosNotifyChannelAdmin::ChannelNotFound::insertToAnyFnNCP = 0;

CosNotifyChannelAdmin::ChannelNotFound::ChannelNotFound(const CosNotifyChannelAdmin::ChannelNotFound& _s) : ::CORBA::UserException(_s)
{
  
}



CosNotifyChannelAdmin::ChannelNotFound& CosNotifyChannelAdmin::ChannelNotFound::operator=(const CosNotifyChannelAdmin::ChannelNotFound& _s)
{
  if (&_s != this) {
    ((::CORBA::UserException*) this)->operator=(_s);
    
  }
  return *this;
}

CosNotifyChannelAdmin::ChannelNotFound::~ChannelNotFound() {}

void CosNotifyChannelAdmin::ChannelNotFound::_raise() const { throw *this; }

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

CosNotifyChannelAdmin::ChannelNotFound* CosNotifyChannelAdmin::ChannelNotFound::_downcast(::CORBA::Exception* _e) {
  return (ChannelNotFound*) _NP_is_a(_e, _PD_typeId);
}

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

::CORBA::Exception* CosNotifyChannelAdmin::ChannelNotFound::_NP_duplicate() const {
  return new ChannelNotFound(*this);
}

const char* CosNotifyChannelAdmin::ChannelNotFound::_NP_typeId() const {
  return _PD_typeId;
}

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

CosNotifyChannelAdmin::EventChannelFactory_ptr CosNotifyChannelAdmin::EventChannelFactory_Helper::_nil() {
  return ::CosNotifyChannelAdmin::EventChannelFactory::_nil();
}

::CORBA::Boolean CosNotifyChannelAdmin::EventChannelFactory_Helper::is_nil(::CosNotifyChannelAdmin::EventChannelFactory_ptr p) {
  return ::CORBA::is_nil(p);

}

void CosNotifyChannelAdmin::EventChannelFactory_Helper::release(::CosNotifyChannelAdmin::EventChannelFactory_ptr p) {
  ::CORBA::release(p);
}

void CosNotifyChannelAdmin::EventChannelFactory_Helper::marshalObjRef(::CosNotifyChannelAdmin::EventChannelFactory_ptr obj, cdrStream& s) {
  ::CosNotifyChannelAdmin::EventChannelFactory::_marshalObjRef(obj, s);
}

CosNotifyChannelAdmin::EventChannelFactory_ptr CosNotifyChannelAdmin::EventChannelFactory_Helper::unmarshalObjRef(cdrStream& s) {
  return ::CosNotifyChannelAdmin::EventChannelFactory::_unmarshalObjRef(s);
}

void CosNotifyChannelAdmin::EventChannelFactory_Helper::duplicate(::CosNotifyChannelAdmin::EventChannelFactory_ptr obj) {
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
}

CosNotifyChannelAdmin::EventChannelFactory_ptr
CosNotifyChannelAdmin::EventChannelFactory::_duplicate(::CosNotifyChannelAdmin::EventChannelFactory_ptr obj)
{
  if (obj && !obj->_NP_is_nil())  omni::duplicateObjRef(obj);
  return obj;
}

CosNotifyChannelAdmin::EventChannelFactory_ptr
CosNotifyChannelAdmin::EventChannelFactory::_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();
}


CosNotifyChannelAdmin::EventChannelFactory_ptr
CosNotifyChannelAdmin::EventChannelFactory::_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();
}

CosNotifyChannelAdmin::EventChannelFactory_ptr
CosNotifyChannelAdmin::EventChannelFactory::_nil()
{
#ifdef OMNI_UNLOADABLE_STUBS
  static _objref_EventChannelFactory _the_nil_obj;
  return &_the_nil_obj;
#else
  static _objref_EventChannelFactory* _the_nil_ptr = 0;
  if (!_the_nil_ptr) {
    omni::nilRefLock().lock();
    if (!_the_nil_ptr) {
      _the_nil_ptr = new _objref_EventChannelFactory;
      registerNilCorbaObject(_the_nil_ptr);
    }
    omni::nilRefLock().unlock();
  }
  return _the_nil_ptr;
#endif
}

const char* CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId = "IDL:omg.org/CosNotifyChannelAdmin/EventChannelFactory:1.0";


CosNotifyChannelAdmin::_objref_EventChannelFactory::~_objref_EventChannelFactory() {
  
}


CosNotifyChannelAdmin::_objref_EventChannelFactory::_objref_EventChannelFactory(omniIOR* ior, omniIdentity* id) :
   omniObjRef(::CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId, ior, id, 1)
   
   
{
  _PR_setobj(this);
}

void*
CosNotifyChannelAdmin::_objref_EventChannelFactory::_ptrToObjRef(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId)
    return (::CosNotifyChannelAdmin::EventChannelFactory_ptr) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (::CORBA::Object_ptr) this;

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

  return 0;
}


//
// Code for CosNotifyChannelAdmin::EventChannelFactory::create_channel

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mEventChannel_i_cCosNotification_mPropertySeq_i_cCosNotification_mPropertySeq_o_clong_e_cCosNotification_mUnsupportedAdmin_e_cCosNotification_mUnsupportedQoS
class _0RL_cd_9043e11a9721dab3_96000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_96000000(LocalCallFn lcfn, const char* op_, size_t oplen, _CORBA_Boolean upcall=0)
    : omniCallDescriptor(lcfn, op_, oplen, 0, _user_exns, 2, 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[];

  CosNotification::QoSProperties_var arg_0_;
  const CosNotification::QoSProperties* arg_0;
  CosNotification::AdminProperties_var arg_1_;
  const CosNotification::AdminProperties* arg_1;
  CosNotifyChannelAdmin::ChannelID arg_2;
  CosNotifyChannelAdmin::EventChannel_var result;
};

void _0RL_cd_9043e11a9721dab3_96000000::marshalArguments(cdrStream& _n)
{
  (const CosNotification::QoSProperties&) *arg_0 >>= _n;
  (const CosNotification::AdminProperties&) *arg_1 >>= _n;

}

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

}

void _0RL_cd_9043e11a9721dab3_96000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::EventChannel_Helper::marshalObjRef(result,_n);
  arg_2 >>= _n;

}

void _0RL_cd_9043e11a9721dab3_96000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::EventChannel_Helper::unmarshalObjRef(_n);
  (CosNotifyChannelAdmin::ChannelID&)arg_2 <<= _n;

}

const char* const _0RL_cd_9043e11a9721dab3_96000000::_user_exns[] = {
  CosNotification::UnsupportedAdmin::_PD_repoId,
  CosNotification::UnsupportedQoS::_PD_repoId
};

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

  if (omni::strMatch(repoId, CosNotification::UnsupportedQoS::_PD_repoId)) {
    CosNotification::UnsupportedQoS _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_9043e11a9721dab3_a6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_96000000* tcd = (_0RL_cd_9043e11a9721dab3_96000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannelFactory* impl = (CosNotifyChannelAdmin::_impl_EventChannelFactory*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->create_channel(*tcd->arg_0, *tcd->arg_1, tcd->arg_2);
#else
  if (!cd->is_upcall())
    tcd->result = impl->create_channel(*tcd->arg_0, *tcd->arg_1, tcd->arg_2);
  else {
    try {
      tcd->result = impl->create_channel(*tcd->arg_0, *tcd->arg_1, tcd->arg_2);
    }
    catch(CosNotification::UnsupportedQoS& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }

    catch(CosNotification::UnsupportedAdmin& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::_objref_EventChannelFactory::create_channel(const ::CosNotification::QoSProperties& initial_qos, const ::CosNotification::AdminProperties& initial_admin, ::CosNotifyChannelAdmin::ChannelID& id)
{
  _0RL_cd_9043e11a9721dab3_96000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a6000000, "create_channel", 15);
  _call_desc.arg_0 = &(::CosNotification::QoSProperties&) initial_qos;
  _call_desc.arg_1 = &(::CosNotification::AdminProperties&) initial_admin;

  _invoke(_call_desc);
  id = _call_desc.arg_2;
  return _call_desc.result._retn();


}


//
// Code for CosNotifyChannelAdmin::EventChannelFactory::get_all_channels

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

  CosNotifyChannelAdmin::ChannelIDSeq_var result;
};

void _0RL_cd_9043e11a9721dab3_b6000000::marshalReturnedValues(cdrStream& _n)
{
  (const CosNotifyChannelAdmin::ChannelIDSeq&) result >>= _n;

}

void _0RL_cd_9043e11a9721dab3_b6000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = new CosNotifyChannelAdmin::ChannelIDSeq;
  (CosNotifyChannelAdmin::ChannelIDSeq&)result <<= _n;

}

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

// Local call call-back function.
static void
_0RL_lcfn_9043e11a9721dab3_c6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_b6000000* tcd = (_0RL_cd_9043e11a9721dab3_b6000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannelFactory* impl = (CosNotifyChannelAdmin::_impl_EventChannelFactory*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId);
  tcd->result = impl->get_all_channels();


}

CosNotifyChannelAdmin::ChannelIDSeq* CosNotifyChannelAdmin::_objref_EventChannelFactory::get_all_channels()
{
  _0RL_cd_9043e11a9721dab3_b6000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c6000000, "get_all_channels", 17);


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


}


//
// Code for CosNotifyChannelAdmin::EventChannelFactory::get_event_channel

// Proxy call descriptor class. Mangled signature:
//  _cCosNotifyChannelAdmin_mEventChannel_i_clong_e_cCosNotifyChannelAdmin_mChannelNotFound
class _0RL_cd_9043e11a9721dab3_d6000000
  : public omniCallDescriptor
{
public:
  inline _0RL_cd_9043e11a9721dab3_d6000000(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[];

  CosNotifyChannelAdmin::ChannelID arg_0;
  CosNotifyChannelAdmin::EventChannel_var result;
};

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

}

void _0RL_cd_9043e11a9721dab3_d6000000::unmarshalArguments(cdrStream& _n)
{
  (CosNotifyChannelAdmin::ChannelID&)arg_0 <<= _n;

}

void _0RL_cd_9043e11a9721dab3_d6000000::marshalReturnedValues(cdrStream& _n)
{
  CosNotifyChannelAdmin::EventChannel_Helper::marshalObjRef(result,_n);

}

void _0RL_cd_9043e11a9721dab3_d6000000::unmarshalReturnedValues(cdrStream& _n)
{
  result = CosNotifyChannelAdmin::EventChannel_Helper::unmarshalObjRef(_n);

}

const char* const _0RL_cd_9043e11a9721dab3_d6000000::_user_exns[] = {
  CosNotifyChannelAdmin::ChannelNotFound::_PD_repoId
};

void _0RL_cd_9043e11a9721dab3_d6000000::userException(cdrStream& s, _OMNI_NS(IOP_C)* iop_client, const char* repoId)
{
  if (omni::strMatch(repoId, CosNotifyChannelAdmin::ChannelNotFound::_PD_repoId)) {
    CosNotifyChannelAdmin::ChannelNotFound _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_9043e11a9721dab3_e6000000(omniCallDescriptor* cd, omniServant* svnt)
{
  _0RL_cd_9043e11a9721dab3_d6000000* tcd = (_0RL_cd_9043e11a9721dab3_d6000000*)cd;
  CosNotifyChannelAdmin::_impl_EventChannelFactory* impl = (CosNotifyChannelAdmin::_impl_EventChannelFactory*) svnt->_ptrToInterface(CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId);
#ifdef OMNI_HAS_Cplusplus_catch_exception_by_base
  tcd->result = impl->get_event_channel(tcd->arg_0);
#else
  if (!cd->is_upcall())
    tcd->result = impl->get_event_channel(tcd->arg_0);
  else {
    try {
      tcd->result = impl->get_event_channel(tcd->arg_0);
    }
    catch(CosNotifyChannelAdmin::ChannelNotFound& ex) {
      throw omniORB::StubUserException(ex._NP_duplicate());
    }


  }
#endif


}

CosNotifyChannelAdmin::EventChannel_ptr CosNotifyChannelAdmin::_objref_EventChannelFactory::get_event_channel(::CosNotifyChannelAdmin::ChannelID id)
{
  _0RL_cd_9043e11a9721dab3_d6000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e6000000, "get_event_channel", 18);
  _call_desc.arg_0 = id;

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


}

CosNotifyChannelAdmin::_pof_EventChannelFactory::~_pof_EventChannelFactory() {}


omniObjRef*
CosNotifyChannelAdmin::_pof_EventChannelFactory::newObjRef(omniIOR* ior, omniIdentity* id)
{
  return new ::CosNotifyChannelAdmin::_objref_EventChannelFactory(ior, id);
}


::CORBA::Boolean
CosNotifyChannelAdmin::_pof_EventChannelFactory::is_a(const char* id) const
{
  if (omni::ptrStrMatch(id, ::CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId))
    return 1;
  
  return 0;
}

const CosNotifyChannelAdmin::_pof_EventChannelFactory _the_pof_CosNotifyChannelAdmin_mEventChannelFactory;

CosNotifyChannelAdmin::_impl_EventChannelFactory::~_impl_EventChannelFactory() {}


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

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

    _0RL_cd_9043e11a9721dab3_96000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_a6000000, "create_channel", 15, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_b6000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_c6000000, "get_all_channels", 17, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }

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

    _0RL_cd_9043e11a9721dab3_d6000000 _call_desc(_0RL_lcfn_9043e11a9721dab3_e6000000, "get_event_channel", 18, 1);
    
    _handle.upcall(this,_call_desc);
    return 1;
  }


  return 0;
}

void*
CosNotifyChannelAdmin::_impl_EventChannelFactory::_ptrToInterface(const char* id)
{
  if (id == ::CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId)
    return (::CosNotifyChannelAdmin::_impl_EventChannelFactory*) this;
  
  if (id == ::CORBA::Object::_PD_repoId)
    return (void*) 1;

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

const char*
CosNotifyChannelAdmin::_impl_EventChannelFactory::_mostDerivedRepoId()
{
  return ::CosNotifyChannelAdmin::EventChannelFactory::_PD_repoId;
}

POA_CosNotifyChannelAdmin::ProxyConsumer::~ProxyConsumer() {}

POA_CosNotifyChannelAdmin::ProxySupplier::~ProxySupplier() {}

POA_CosNotifyChannelAdmin::ProxyPushConsumer::~ProxyPushConsumer() {}

POA_CosNotifyChannelAdmin::StructuredProxyPushConsumer::~StructuredProxyPushConsumer() {}

POA_CosNotifyChannelAdmin::SequenceProxyPushConsumer::~SequenceProxyPushConsumer() {}

POA_CosNotifyChannelAdmin::ProxyPullSupplier::~ProxyPullSupplier() {}

POA_CosNotifyChannelAdmin::StructuredProxyPullSupplier::~StructuredProxyPullSupplier() {}

POA_CosNotifyChannelAdmin::SequenceProxyPullSupplier::~SequenceProxyPullSupplier() {}

POA_CosNotifyChannelAdmin::ProxyPullConsumer::~ProxyPullConsumer() {}

POA_CosNotifyChannelAdmin::StructuredProxyPullConsumer::~StructuredProxyPullConsumer() {}

POA_CosNotifyChannelAdmin::SequenceProxyPullConsumer::~SequenceProxyPullConsumer() {}

POA_CosNotifyChannelAdmin::ProxyPushSupplier::~ProxyPushSupplier() {}

POA_CosNotifyChannelAdmin::StructuredProxyPushSupplier::~StructuredProxyPushSupplier() {}

POA_CosNotifyChannelAdmin::SequenceProxyPushSupplier::~SequenceProxyPushSupplier() {}

POA_CosNotifyChannelAdmin::ConsumerAdmin::~ConsumerAdmin() {}

POA_CosNotifyChannelAdmin::SupplierAdmin::~SupplierAdmin() {}

POA_CosNotifyChannelAdmin::EventChannel::~EventChannel() {}

POA_CosNotifyChannelAdmin::EventChannelFactory::~EventChannelFactory() {}

