void ReconnectionCallback_i::fini (void) { if (this->id_is_valid_) { NotifyExt::ReconnectionRegistry_var registry = NotifyExt::ReconnectionRegistry::_narrow (this->ecf_.in ()); registry->unregister_callback (this->callback_id_); this->id_is_valid_ = false; } }
void ReconnectionCallback::disconnect() { if (id_is_valid_){ try { NotifyExt::ReconnectionRegistry_var registry = NotifyExt::ReconnectionRegistry::_narrow(ecf_); registry->unregister_callback(callback_id_); } catch(CORBA::SystemException &ex) {} if (!::CORBA::is_nil(root_poa_)) root_poa_->deactivate_object(callback_obj_id_); else services_->deactivateOffShoot(this); id_is_valid_ = false; } }