本文整理汇总了C++中cosnotifyfilter::Filter_var::get_all_constraints方法的典型用法代码示例。如果您正苦于以下问题:C++ Filter_var::get_all_constraints方法的具体用法?C++ Filter_var::get_all_constraints怎么用?C++ Filter_var::get_all_constraints使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cosnotifyfilter::Filter_var
的用法示例。
在下文中一共展示了Filter_var::get_all_constraints方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void
FilterClient::verify_filter (CosNotifyFilter::FilterAdmin_var& admin,
const char* constraint_expr,
const char* mod_constraint_expr)
{
ACE_UNUSED_ARG (constraint_expr);
// only used to validate assert, which is
// compiled out for nondebug builds.
const CosNotifyFilter::FilterIDSeq_var ids
= admin->get_all_filters ();
ACE_ASSERT (ids->length () == 1);
CosNotifyFilter::Filter_var filter
= admin->get_filter (ids[0]);
ACE_ASSERT (! CORBA::is_nil (filter.in ()));
CosNotifyFilter::ConstraintInfoSeq_var infos
= filter->get_all_constraints();
ACE_ASSERT (infos->length () == 2);
u_int index = 0;
for (index = 0; index < infos->length (); ++ index)
{
CosNotifyFilter::ConstraintID id = infos[index].constraint_id;
ACE_UNUSED_ARG (id);
// only used to validate assert, which is
// compiled out for nondebug builds.
ACE_ASSERT (id != 0);
ACE_ASSERT (ACE_OS::strcmp (infos[index].constraint_expression.constraint_expr.in (), constraint_expr) == 0);
CosNotification::EventTypeSeq& events = infos[index].constraint_expression.event_types;
ACE_UNUSED_ARG (events);
// only used to validate assert, which is
// compiled out for nondebug builds.
ACE_ASSERT (events.length () == 1);
ACE_ASSERT (ACE_OS::strcmp (events[0].domain_name.in (), DOMAIN_NAME) == 0);
ACE_ASSERT (ACE_OS::strcmp (events[0].type_name.in (), TYPE_NAME) == 0);
}
if (modify_constraint_)
{
CosNotifyFilter::ConstraintIDSeq_var ids = new CosNotifyFilter::ConstraintIDSeq (2);
ids->length (2);
for (index = 0; index < infos->length (); ++ index)
{
ids[index] = infos[index].constraint_id;
ACE_DEBUG ((LM_DEBUG,
ACE_TEXT ("(%P|%t)modify constraint %d \n"), ids[index]));
infos[index].constraint_expression.constraint_expr
= CORBA::string_dup (mod_constraint_expr);
}
filter->modify_constraints (ids.in (), infos.in());
}
}