ir: add attributes support to event classes
[babeltrace.git] / formats / ctf / ir / stream-class.c
index 6ad2cfa1583aaae18374b3276d866de8eaae660f..0f823ea7aab6e209d9cc4811152ba4739a54ca37 100644 (file)
@@ -309,15 +309,35 @@ struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_name(
                struct bt_ctf_stream_class *stream_class, const char *name)
 {
        size_t i;
-       GQuark name_quark;
        struct bt_ctf_event_class *event_class = NULL;
 
        if (!stream_class || !name) {
                goto end;
        }
 
-       name_quark = g_quark_try_string(name);
-       if (!name_quark) {
+       for (i = 0; i < stream_class->event_classes->len; i++) {
+               struct bt_ctf_event_class *cur_event_class =
+                       g_ptr_array_index(stream_class->event_classes, i);
+               const char *cur_event_class_name =
+                       bt_ctf_event_class_get_name(cur_event_class);
+
+               if (!strcmp(name, cur_event_class_name)) {
+                       event_class = cur_event_class;
+                       bt_ctf_event_class_get(event_class);
+                       goto end;
+               }
+       }
+end:
+       return event_class;
+}
+
+struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_id(
+               struct bt_ctf_stream_class *stream_class, uint32_t id)
+{
+       size_t i;
+       struct bt_ctf_event_class *event_class = NULL;
+
+       if (!stream_class) {
                goto end;
        }
 
@@ -325,7 +345,7 @@ struct bt_ctf_event_class *bt_ctf_stream_class_get_event_class_by_name(
                struct bt_ctf_event_class *current_event_class =
                        g_ptr_array_index(stream_class->event_classes, i);
 
-               if (name_quark == current_event_class->name) {
+               if (bt_ctf_event_class_get_id(current_event_class) == id) {
                        event_class = current_event_class;
                        bt_ctf_event_class_get(event_class);
                        goto end;
This page took 0.030218 seconds and 4 git commands to generate.