本文整理汇总了C++中cosnotifychanneladmin::EventChannel_var::_servant方法的典型用法代码示例。如果您正苦于以下问题:C++ EventChannel_var::_servant方法的具体用法?C++ EventChannel_var::_servant怎么用?C++ EventChannel_var::_servant使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cosnotifychanneladmin::EventChannel_var
的用法示例。
在下文中一共展示了EventChannel_var::_servant方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: catch
void
TAO_CosNotify_Service::finalize_service (
CosNotifyChannelAdmin::EventChannelFactory_ptr factory)
{
// Get out early if we can
if (CORBA::is_nil (factory))
return;
// Make sure the factory doesn't go away while we're in here
CosNotifyChannelAdmin::EventChannelFactory_var ecf =
CosNotifyChannelAdmin::EventChannelFactory::_duplicate (factory);
// Find all the consumer admin objects and shutdown the worker tasks
CosNotifyChannelAdmin::ChannelIDSeq_var channels =
ecf->get_all_channels ();
CORBA::ULong length = channels->length ();
for(CORBA::ULong i = 0; i < length; i++)
{
try
{
CosNotifyChannelAdmin::EventChannel_var ec =
ecf->get_event_channel (channels[i]);
if (!CORBA::is_nil (ec.in ()))
{
TAO_Notify_EventChannel* nec =
dynamic_cast<TAO_Notify_EventChannel*> (ec->_servant ());
if (nec != 0)
nec->destroy ();
}
}
catch (const CORBA::Exception&)
{
// We're shutting things down, so ignore exceptions
}
}
TAO_Notify_EventChannelFactory* necf =
dynamic_cast<TAO_Notify_EventChannelFactory*> (ecf->_servant ());
if (necf != 0)
necf->stop_validator();
}