Refactoring: combine common code in lttng_event_enabler_match_event
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 11 Nov 2021 19:43:56 +0000 (14:43 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Fri, 12 Jul 2024 15:39:52 +0000 (11:39 -0400)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: Ifb3b81c39208b91930d07978042aaecb22556f73

src/lib/lttng-ust/lttng-events.c

index e5163f44732f325610917fd1f33231dbf763b71f..dae92cb52bbeaf0ac2bd8a90c8439db82f425eb5 100644 (file)
@@ -1205,77 +1205,57 @@ int lttng_desc_match_enabler(const struct lttng_ust_event_desc *desc,
 }
 
 static
-int lttng_event_recorder_enabler_match_event_recorder(struct lttng_event_recorder_enabler *event_recorder_enabler,
-               struct lttng_ust_event_recorder *event_recorder)
+bool lttng_event_session_enabler_match_event_session(struct lttng_event_enabler_session_common *event_enabler_session,
+               struct lttng_ust_event_session_common_private *event_session_priv)
 {
-       if (lttng_desc_match_enabler(event_recorder->parent->priv->desc,
-                       &event_recorder_enabler->parent.parent)
-                       && event_recorder->chan == event_recorder_enabler->chan)
-               return 1;
-       else
-               return 0;
-}
-
-static
-int lttng_event_counter_enabler_match_event_counter(struct lttng_event_counter_enabler *event_counter_enabler,
-               struct lttng_ust_event_counter *event_counter)
-{
-       if (lttng_desc_match_enabler(event_counter->parent->priv->desc,
-                       &event_counter_enabler->parent.parent)
-                       && event_counter->chan == event_counter_enabler->chan
-                       && match_event_session_token(&event_counter->priv->parent, event_counter_enabler->parent.parent.user_token))
-               return 1;
+       if (lttng_desc_match_enabler(event_session_priv->parent.desc, &event_enabler_session->parent)
+                       && event_session_priv->chan == event_enabler_session->chan
+                       && match_event_session_token(event_session_priv, event_enabler_session->parent.user_token))
+               return true;
        else
-               return 0;
+               return false;
 }
 
 static
 int lttng_event_notifier_enabler_match_event_notifier(
                struct lttng_event_notifier_enabler *event_notifier_enabler,
-               struct lttng_ust_event_notifier *event_notifier)
+               struct lttng_ust_event_notifier_private *event_notifier_priv)
 {
-       int desc_matches = lttng_desc_match_enabler(event_notifier->priv->parent.desc,
+       int desc_matches = lttng_desc_match_enabler(event_notifier_priv->parent.desc,
                lttng_event_notifier_enabler_as_enabler(event_notifier_enabler));
 
-       if (desc_matches && event_notifier->priv->group == event_notifier_enabler->group &&
-                       event_notifier->priv->parent.user_token == event_notifier_enabler->parent.user_token)
+       if (desc_matches && event_notifier_priv->group == event_notifier_enabler->group &&
+                       event_notifier_priv->parent.user_token == event_notifier_enabler->parent.user_token)
                return 1;
        else
                return 0;
 }
 
 static
-int lttng_event_enabler_match_event(
+bool lttng_event_enabler_match_event(
                struct lttng_event_enabler_common *event_enabler,
                struct lttng_ust_event_common *event)
 {
        switch (event_enabler->enabler_type) {
-       case LTTNG_EVENT_ENABLER_TYPE_RECORDER:
+       case LTTNG_EVENT_ENABLER_TYPE_RECORDER:         /* Fall-through */
+       case LTTNG_EVENT_ENABLER_TYPE_COUNTER:
        {
-               struct lttng_event_recorder_enabler *event_recorder_enabler =
-                       caa_container_of(event_enabler, struct lttng_event_recorder_enabler, parent.parent);
-               struct lttng_ust_event_recorder *event_recorder =
-                       (struct lttng_ust_event_recorder *) event->child;
-               return lttng_event_recorder_enabler_match_event_recorder(event_recorder_enabler, event_recorder);
+               struct lttng_event_enabler_session_common *event_enabler_session =
+                       caa_container_of(event_enabler, struct lttng_event_enabler_session_common, parent);
+               struct lttng_ust_event_session_common_private *event_session_priv =
+                       caa_container_of(event->priv, struct lttng_ust_event_session_common_private, parent);
+               return lttng_event_session_enabler_match_event_session(event_enabler_session, event_session_priv);
        }
        case LTTNG_EVENT_ENABLER_TYPE_NOTIFIER:
        {
                struct lttng_event_notifier_enabler *event_notifier_enabler =
                        caa_container_of(event_enabler, struct lttng_event_notifier_enabler, parent);
-               struct lttng_ust_event_notifier *event_notifier =
-                       (struct lttng_ust_event_notifier *) event->child;
-               return lttng_event_notifier_enabler_match_event_notifier(event_notifier_enabler, event_notifier);
-       }
-       case LTTNG_EVENT_ENABLER_TYPE_COUNTER:
-       {
-               struct lttng_event_counter_enabler *event_counter_enabler =
-                       caa_container_of(event_enabler, struct lttng_event_counter_enabler, parent.parent);
-               struct lttng_ust_event_counter *event_counter =
-                       (struct lttng_ust_event_counter *) event->child;
-               return lttng_event_counter_enabler_match_event_counter(event_counter_enabler, event_counter);
+               struct lttng_ust_event_notifier_private *event_notifier_priv =
+                       caa_container_of(event->priv, struct lttng_ust_event_notifier_private, parent);
+               return lttng_event_notifier_enabler_match_event_notifier(event_notifier_enabler, event_notifier_priv);
        }
        }
-       return 0;
+       return false;
 }
 
 static
This page took 0.027232 seconds and 4 git commands to generate.