本文整理汇总了C++中cosnotifyfilter::Filter_var::_retn方法的典型用法代码示例。如果您正苦于以下问题:C++ Filter_var::_retn方法的具体用法?C++ Filter_var::_retn怎么用?C++ Filter_var::_retn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cosnotifyfilter::Filter_var
的用法示例。
在下文中一共展示了Filter_var::_retn方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
::CosNotifyFilter::Filter_ptr TAO::FT_FaultNotifier_i::create_subscription_filter (
const char * constraint_grammar
)
{
METHOD_ENTRY(TAO::FT_FaultNotifier_i::create_subscription_filter);
ACE_UNUSED_ARG (constraint_grammar); //@@todo
CosNotifyFilter::Filter_var filter = this->filter_factory_->create_filter ("ETCL");
METHOD_RETURN(TAO::FT_FaultNotifier_i::create_subscription_filter)
filter._retn ();
}
示例2:
CosNotifyFilter::Filter_ptr
TAO_Notify_ETCL_FilterFactory::find_filter (const TAO_Notify_Object::ID& id)
{
ACE_GUARD_RETURN (TAO_SYNCH_MUTEX,
ace_mon,
this->mtx_,
CosNotifyFilter::Filter::_nil ());
TAO_Notify_ETCL_Filter* filter = 0;
if (filters_.find (id, filter) == -1)
return CosNotifyFilter::Filter::_nil ();
else
{
CORBA::Object_var obj =
this->filter_poa_->servant_to_reference (filter);
CosNotifyFilter::Filter_var filter
= CosNotifyFilter::Filter::_narrow (obj.in ());
return filter._retn ();
}
}
示例3: constraint_list
static CosNotifyFilter::Filter_ptr
create_proxyFilter (CosNotifyChannelAdmin::EventChannel_ptr ec)
{
CosNotifyFilter::FilterFactory_var ffact =
ec->default_filter_factory ();
CosNotifyFilter::Filter_var filter =
ffact->create_filter ("EXTENDED_TCL");
if(!CORBA::is_nil(filter.in()))
{
CosNotifyFilter::ConstraintExpSeq constraint_list (1);
constraint_list.length(1);
constraint_list[0].event_types.length (0);
constraint_list[0].constraint_expr =
CORBA::string_dup ("$.domain_name == 'domain1'");
filter->add_constraints (constraint_list);
}
return filter._retn();
}
示例4: addFilter
//-----------------------------------------------------------------------------
int Consumer::addFilter(const char* type_name,
const char* filterString)
{
ACS_TRACE("Consumer::addFilter");
try
{
//Create a temporary filter factory
CosNotifyFilter::FilterFactory_var filterFactory = notifyChannel_m->default_filter_factory();
if(CORBA::is_nil(filterFactory.in()) == true)
{
CORBAProblemExImpl err = CORBAProblemExImpl(__FILE__,__LINE__,"nc::Consumer::addFilter");
throw err.getCORBAProblemEx();
}
//Create a filter
CosNotifyFilter::Filter_var filter = 0;
filter = filterFactory->create_filter(getFilterLanguage());
if(filter.in() == 0)
{
CORBAProblemExImpl err = CORBAProblemExImpl(__FILE__,__LINE__,"nc::Consumer::addFilter");
throw err.getCORBAProblemEx();
}
//Create the constraint expression sequence
CosNotifyFilter::ConstraintExpSeq cexp(1);
cexp.length(1);
cexp[0].event_types.length(1);
cexp[0].event_types[0].domain_name = getChannelDomain();
cexp[0].event_types[0].type_name = CORBA::string_dup(type_name);
cexp[0].constraint_expr = CORBA::string_dup(filterString);
try
{
filter->add_constraints(cexp);
}
catch(CosNotifyFilter::InvalidConstraint e)
{
if (filter.in() != 0)
{
filter->destroy();
filter = 0;
}
ACS_SHORT_LOG((LM_ERROR,"Consumer::addFilter failed for the '%s' channel, '%s' event type, and '%s' filter!",
channelName_mp, type_name, filterString));
CORBAProblemExImpl err = CORBAProblemExImpl(__FILE__,__LINE__,"nc::Consumer::addFilter");
throw err.getCORBAProblemEx();
}
return proxySupplier_m->add_filter(filter._retn());
}
catch(CORBAProblemEx)
{
ACS_SHORT_LOG((LM_TRACE,"Consumer::addFilter failed for the '%s' channel, '%s' event type, and '%s' filter with a nil pointer!",
channelName_mp, type_name, filterString));
throw;
}
catch(...)
{
ACS_SHORT_LOG((LM_ERROR,"Consumer::addFilter failed for the '%s' channel, '%s' event type, and '%s' filter!",
channelName_mp, type_name, filterString));
CORBAProblemExImpl err = CORBAProblemExImpl(__FILE__,__LINE__,"nc::Consumer::addFilter");
throw err.getCORBAProblemEx();
}
}