void event_filter_parser_set_extra(void *user, void *yyscanner);
void event_filter_parser_error(void *scan, const char *e);
+struct event_filter_node *
+event_filter_get_root_node(struct event_filter *filter, unsigned int idx);
+
/* the following are exposed to allow for unit testing */
bool
event_filter_query_match_eval(struct event_filter_node *node,
return FALSE;
}
+struct event_filter_node *
+event_filter_get_root_node(struct event_filter *filter, unsigned int idx)
+{
+ if (idx >= array_count(&filter->queries))
+ return NULL;
+
+ const struct event_filter_query_internal *query =
+ array_idx(&filter->queries, idx);
+ return query->expr;
+}
+
struct event_filter_match_iter {
struct event_filter *filter;
struct event *event;