CosNotifyChannelAdmin::ProxySupplier_ptr TAO_MonitorConsumerAdmin::obtain_notification_push_supplier ( CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id) { // First, make sure we can get down to the real ec type. TAO_MonitorEventChannel* ec = dynamic_cast<TAO_MonitorEventChannel*> (this->ec_.get ()); if (ec == 0) { throw CORBA::INTERNAL (); } // Next, create the push consumer proxy. CosNotifyChannelAdmin::ProxySupplier_var proxy = this->TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier ( ctype, proxy_id); // Next, map the proxy id to the name in the ec. char name[64]; ACE_OS::sprintf (name, "%d", proxy_id); ec->map_supplier_proxy (proxy_id, name); return proxy._retn (); }
CosNotifyChannelAdmin::ProxySupplier_ptr TAO_Notify_ConsumerAdmin::obtain_notification_push_supplier_with_qos (CosNotifyChannelAdmin::ClientType ctype, CosNotifyChannelAdmin::ProxyID_out proxy_id, const CosNotification::QoSProperties & initial_qos ) { CosNotifyChannelAdmin::ProxySupplier_var proxy = TAO_Notify_PROPERTIES::instance()->builder()->build_proxy (this , ctype , proxy_id , initial_qos); this->self_change (); return proxy._retn (); }