Abstract base `lttng_enabler` to support other types of enablers
[deliverable/lttng-ust.git] / liblttng-ust / lttng-filter.c
index 7dbe6f26e85c38667e872b7da94064ea06c94555..e9774b489acfe4672270cbd1ff952827f9292558 100644 (file)
@@ -31,6 +31,7 @@
 #include <urcu/rculist.h>
 
 #include "lttng-filter.h"
+#include "ust-events-internal.h"
 
 static const char *opnames[] = {
        [ FILTER_OP_UNKNOWN ] = "UNKNOWN",
@@ -508,17 +509,18 @@ void lttng_filter_sync_state(struct lttng_bytecode_runtime *runtime)
 /*
  * Link bytecode for all enablers referenced by an event.
  */
-void lttng_enabler_event_link_bytecode(struct lttng_event *event,
-               struct lttng_enabler *enabler)
+void lttng_event_enabler_link_bytecode(struct lttng_event *event,
+               struct lttng_event_enabler *event_enabler)
 {
        struct lttng_ust_filter_bytecode_node *bc;
        struct lttng_bytecode_runtime *runtime;
+       struct lttng_enabler *base_enabler = lttng_event_enabler_as_enabler(event_enabler);
 
        /* Can only be called for events with desc attached */
        assert(event->desc);
 
        /* Link each bytecode. */
-       cds_list_for_each_entry(bc, &enabler->filter_bytecode_head, node) {
+       cds_list_for_each_entry(bc, &base_enabler->filter_bytecode_head, node) {
                int found = 0, ret;
                struct cds_list_head *insert_loc;
 
This page took 0.024304 seconds and 5 git commands to generate.