bool ObjectRule::EvaluateFilter(const Dictionary::Ptr& scope) const
{
- scope->Set("__parent", m_Scope);
- bool result = m_Filter->Evaluate(scope);
- scope->Remove("__parent");
- return result;
+ return m_Filter->Evaluate(scope);
}
void ObjectRule::EvaluateRules(bool clear)
CONTEXT(msgbuf.str());
Dictionary::Ptr locals = make_shared<Dictionary>();
+ locals->Set("__parent", rule.GetScope());
locals->Set("host", host);
if (!rule.EvaluateFilter(locals))
Host::Ptr host = service->GetHost();
Dictionary::Ptr locals = make_shared<Dictionary>();
+ locals->Set("__parent", rule.GetScope());
locals->Set("host", host);
locals->Set("service", service);
CONTEXT(msgbuf.str());
Dictionary::Ptr locals = make_shared<Dictionary>();
+ locals->Set("__parent", rule.GetScope());
locals->Set("user", user);
if (!rule.EvaluateFilter(locals))