lib: make trace IR API const-correct
[babeltrace.git] / plugins / ctf / common / notif-iter / notif-iter.c
index 8fa8877bee77ab7acf1ce03ffba1547e22c99c95..e6b4f8b77931a1256372c78fcc87294b0fc7aa84 100644 (file)
@@ -103,7 +103,7 @@ struct bt_notif_iter {
        struct stack *stack;
 
        /* Current notification iterator to create notifications (weak) */
-       struct bt_private_connection_private_notification_iterator *notif_iter;
+       struct bt_self_notification_iterator *notif_iter;
 
        /*
         * Current dynamic scope field pointer.
@@ -145,7 +145,7 @@ struct bt_notif_iter {
        struct bt_event *event;
 
        /* Current event notification (NULL if not created yet) */
-       struct bt_notification *event_notif;
+       struct bt_private_notification *event_notif;
 
        /* Database of current dynamic scopes */
        struct {
@@ -681,8 +681,9 @@ enum bt_notif_iter_status read_packet_header_begin_state(
                 * 3. We need the packet header field's content to know
                 *    the ID of the stream class to select.
                 */
-               notit->packet_header_field = bt_packet_header_field_create(
-                       notit->meta.tc->ir_tc);
+               notit->packet_header_field =
+                       bt_packet_header_field_create(
+                               notit->meta.tc->ir_tc);
                if (!notit->packet_header_field) {
                        BT_LOGE_STR("Cannot create packet header field wrapper from trace.");
                        ret = BT_NOTIF_ITER_STATUS_ERROR;
@@ -690,7 +691,8 @@ enum bt_notif_iter_status read_packet_header_begin_state(
                }
 
                notit->dscopes.trace_packet_header =
-                       bt_packet_header_field_borrow_field(notit->packet_header_field);
+                       bt_packet_header_field_borrow_field(
+                               notit->packet_header_field);
                BT_ASSERT(notit->dscopes.trace_packet_header);
        }
 
@@ -803,9 +805,10 @@ enum bt_notif_iter_status set_current_stream(struct bt_notif_iter *notit)
                "stream-class-addr=%p, stream-class-id=%" PRId64,
                notit, notit->meta.sc,
                notit->meta.sc->id);
-       stream = bt_object_get_ref(notit->medium.medops.borrow_stream(
+       stream = notit->medium.medops.borrow_stream(
                notit->meta.sc->ir_sc, notit->cur_data_stream_id,
-               notit->medium.data));
+               notit->medium.data);
+       bt_object_get_ref(stream);
        BT_LOGV("User function returned: stream-addr=%p", stream);
        if (!stream) {
                BT_LOGW_STR("User function failed to return a stream object "
@@ -916,7 +919,8 @@ enum bt_notif_iter_status read_packet_context_begin_state(
                 * (bt_notif_iter_borrow_packet_header_context_fields()).
                 */
                notit->packet_context_field =
-                       bt_packet_context_field_create(notit->meta.sc->ir_sc);
+                       bt_packet_context_field_create(
+                               notit->meta.sc->ir_sc);
                if (!notit->packet_context_field) {
                        BT_LOGE_STR("Cannot create packet context field wrapper from stream class.");
                        status = BT_NOTIF_ITER_STATUS_ERROR;
@@ -924,7 +928,8 @@ enum bt_notif_iter_status read_packet_context_begin_state(
                }
 
                notit->dscopes.stream_packet_context =
-                       bt_packet_context_field_borrow_field(notit->packet_context_field);
+                       bt_packet_context_field_borrow_field(
+                               notit->packet_context_field);
                BT_ASSERT(notit->dscopes.stream_packet_context);
        }
 
@@ -1091,8 +1096,9 @@ enum bt_notif_iter_status read_event_header_begin_state(
 
        if (event_header_fc->in_ir) {
                BT_ASSERT(!notit->event_header_field);
-               notit->event_header_field = bt_event_header_field_create(
-                       notit->meta.sc->ir_sc);
+               notit->event_header_field =
+                       bt_event_header_field_create(
+                               notit->meta.sc->ir_sc);
                if (!notit->event_header_field) {
                        BT_LOGE_STR("Cannot create event header field wrapper from trace.");
                        status = BT_NOTIF_ITER_STATUS_ERROR;
@@ -1100,7 +1106,8 @@ enum bt_notif_iter_status read_event_header_begin_state(
                }
 
                notit->dscopes.event_header =
-                       bt_event_header_field_borrow_field(notit->event_header_field);
+                       bt_event_header_field_borrow_field(
+                               notit->event_header_field);
                BT_ASSERT(notit->dscopes.event_header);
        }
 
@@ -1192,7 +1199,7 @@ enum bt_notif_iter_status set_current_event_notification(
                struct bt_notif_iter *notit)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
-       struct bt_notification *notif = NULL;
+       struct bt_private_notification *notif = NULL;
 
        BT_ASSERT(notit->meta.ec);
        BT_ASSERT(notit->packet);
@@ -1202,7 +1209,7 @@ enum bt_notif_iter_status set_current_event_notification(
                notit->meta.ec->name->str,
                notit->packet);
        BT_ASSERT(notit->notif_iter);
-       notif = bt_notification_event_create(notit->notif_iter,
+       notif = bt_private_notification_event_create(notit->notif_iter,
                notit->meta.ec->ir_ec, notit->packet);
        if (!notif) {
                BT_LOGE("Cannot create event notification: "
@@ -1241,14 +1248,15 @@ enum bt_notif_iter_status after_event_header_state(
                goto end;
        }
 
-       notit->event = bt_notification_event_borrow_event(notit->event_notif);
+       notit->event = bt_private_notification_event_borrow_event(
+               notit->event_notif);
        BT_ASSERT(notit->event);
 
        if (notit->event_header_field) {
                int ret;
 
                BT_ASSERT(notit->event);
-               ret = bt_event_move_header(notit->event,
+               ret = bt_event_move_header_field(notit->event,
                        notit->event_header_field);
                if (ret) {
                        status = BT_NOTIF_ITER_STATUS_ERROR;
@@ -1262,8 +1270,8 @@ enum bt_notif_iter_status after_event_header_state(
                 * the same value as the event header field within
                 * notit->event.
                 */
-               BT_ASSERT(bt_event_borrow_header_field(notit->event) ==
-                       notit->dscopes.event_header);
+               BT_ASSERT(bt_event_borrow_header_field(
+                       notit->event) == notit->dscopes.event_header);
        }
 
        notit->state = STATE_DSCOPE_EVENT_COMMON_CONTEXT_BEGIN;
@@ -1288,7 +1296,8 @@ enum bt_notif_iter_status read_event_common_context_begin_state(
        if (event_common_context_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_common_context);
                notit->dscopes.event_common_context =
-                       bt_event_borrow_common_context_field(notit->event);
+                       bt_event_borrow_common_context_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_common_context);
        }
 
@@ -1339,8 +1348,9 @@ enum bt_notif_iter_status read_event_spec_context_begin_state(
 
        if (event_spec_context_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_spec_context);
-               notit->dscopes.event_spec_context = bt_event_borrow_specific_context_field(
-                       notit->event);
+               notit->dscopes.event_spec_context =
+                       bt_event_borrow_specific_context_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_spec_context);
        }
 
@@ -1394,8 +1404,9 @@ enum bt_notif_iter_status read_event_payload_begin_state(
 
        if (event_payload_fc->in_ir) {
                BT_ASSERT(!notit->dscopes.event_payload);
-               notit->dscopes.event_payload = bt_event_borrow_payload_field(
-                       notit->event);
+               notit->dscopes.event_payload =
+                       bt_event_borrow_payload_field(
+                               notit->event);
                BT_ASSERT(notit->dscopes.event_payload);
        }
 
@@ -1673,14 +1684,14 @@ struct bt_field *borrow_next_field(struct bt_notif_iter *notit)
 {
        struct bt_field *next_field = NULL;
        struct bt_field *base_field;
-       struct bt_field_class *base_fc;
+       const struct bt_field_class *base_fc;
        size_t index;
 
        BT_ASSERT(!stack_empty(notit->stack));
        index = stack_top(notit->stack)->index;
        base_field = stack_top(notit->stack)->base;
        BT_ASSERT(base_field);
-       base_fc = bt_field_borrow_class(base_field);
+       base_fc = bt_field_borrow_class_const(base_field);
        BT_ASSERT(base_fc);
 
        switch (bt_field_class_get_type(base_fc)) {
@@ -1688,9 +1699,11 @@ struct bt_field *borrow_next_field(struct bt_notif_iter *notit)
        {
                BT_ASSERT(index <
                        bt_field_class_structure_get_member_count(
-                               bt_field_borrow_class(base_field)));
-               next_field = bt_field_structure_borrow_member_field_by_index(
-                       base_field, index);
+                               bt_field_borrow_class_const(
+                                               base_field)));
+               next_field =
+                       bt_field_structure_borrow_member_field_by_index(
+                               base_field, index);
                break;
        }
        case BT_FIELD_CLASS_TYPE_STATIC_ARRAY:
@@ -1829,9 +1842,11 @@ update_def_clock:
 
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_class(field) == fc->ir_fc);
-       BT_ASSERT(bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
-               bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+       BT_ASSERT(bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_UNSIGNED_INTEGER ||
+                 bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_UNSIGNED_ENUMERATION);
        bt_field_unsigned_integer_set_value(field, value);
        stack_top(notit->stack)->index++;
 
@@ -1872,7 +1887,8 @@ enum bt_bfcr_status bfcr_unsigned_int_char_cb(uint64_t value,
        }
 
        string_field = stack_top(notit->stack)->base;
-       BT_ASSERT(bt_field_get_class_type(string_field) == BT_FIELD_CLASS_TYPE_STRING);
+       BT_ASSERT(bt_field_get_class_type(string_field) ==
+                 BT_FIELD_CLASS_TYPE_STRING);
 
        /* Append character */
        str[0] = (char) value;
@@ -1915,9 +1931,11 @@ enum bt_bfcr_status bfcr_signed_int_cb(int64_t value,
 
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_class(field) == fc->ir_fc);
-       BT_ASSERT(bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_SIGNED_INTEGER ||
-               bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+       BT_ASSERT(bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_SIGNED_INTEGER ||
+                 bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_SIGNED_ENUMERATION);
        bt_field_signed_integer_set_value(field, value);
        stack_top(notit->stack)->index++;
 
@@ -1940,8 +1958,9 @@ enum bt_bfcr_status bfcr_floating_point_cb(double value,
        BT_ASSERT(fc->in_ir);
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_class(field) == fc->ir_fc);
-       BT_ASSERT(bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_REAL);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+       BT_ASSERT(bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_REAL);
        bt_field_real_set_value(field, value);
        stack_top(notit->stack)->index++;
        return status;
@@ -1963,8 +1982,9 @@ enum bt_bfcr_status bfcr_string_begin_cb(
        BT_ASSERT(fc->in_ir);
        field = borrow_next_field(notit);
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_class(field) == fc->ir_fc);
-       BT_ASSERT(bt_field_get_class_type(field) == BT_FIELD_CLASS_TYPE_STRING);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
+       BT_ASSERT(bt_field_get_class_type(field) ==
+                 BT_FIELD_CLASS_TYPE_STRING);
        ret = bt_field_string_clear(field);
        BT_ASSERT(ret == 0);
 
@@ -2055,7 +2075,7 @@ enum bt_bfcr_status bfcr_compound_begin_cb(
 
        /* Push field */
        BT_ASSERT(field);
-       BT_ASSERT(bt_field_borrow_class(field) == fc->ir_fc);
+       BT_ASSERT(bt_field_borrow_class_const(field) == fc->ir_fc);
        stack_push(notit->stack, field);
 
        /*
@@ -2070,7 +2090,7 @@ enum bt_bfcr_status bfcr_compound_begin_cb(
                        int ret;
 
                        BT_ASSERT(bt_field_get_class_type(field) ==
-                               BT_FIELD_CLASS_TYPE_STRING);
+                                 BT_FIELD_CLASS_TYPE_STRING);
                        notit->done_filling_string = false;
                        ret = bt_field_string_clear(field);
                        BT_ASSERT(ret == 0);
@@ -2098,7 +2118,7 @@ enum bt_bfcr_status bfcr_compound_end_cb(
        }
 
        BT_ASSERT(!stack_empty(notit->stack));
-       BT_ASSERT(bt_field_borrow_class(stack_top(notit->stack)->base) ==
+       BT_ASSERT(bt_field_borrow_class_const(stack_top(notit->stack)->base) ==
                fc->ir_fc);
 
        /*
@@ -2112,7 +2132,7 @@ enum bt_bfcr_status bfcr_compound_end_cb(
                if (array_fc->is_text) {
                        BT_ASSERT(bt_field_get_class_type(
                                stack_top(notit->stack)->base) ==
-                                       BT_FIELD_CLASS_TYPE_STRING);
+                               BT_FIELD_CLASS_TYPE_STRING);
                        bt_bfcr_set_unsigned_int_cb(notit->bfcr,
                                bfcr_unsigned_int_cb);
                }
@@ -2215,8 +2235,8 @@ struct ctf_field_class *bfcr_borrow_variant_selected_field_class_cb(
        if (selected_option->fc->in_ir) {
                struct bt_field *var_field = stack_top(notit->stack)->base;
 
-               ret = bt_field_variant_select_option_field(var_field,
-                       option_index);
+               ret = bt_field_variant_select_option_field(
+                       var_field, option_index);
                if (ret) {
                        BT_LOGW("Cannot select variant field's option field: "
                                "notit-addr=%p, var-field-addr=%p, "
@@ -2235,26 +2255,25 @@ end:
 static
 void set_event_default_clock_value(struct bt_notif_iter *notit)
 {
-       struct bt_event *event = bt_notification_event_borrow_event(
-               notit->event_notif);
+       struct bt_event *event =
+               bt_private_notification_event_borrow_event(
+                       notit->event_notif);
        struct bt_stream_class *sc = notit->meta.sc->ir_sc;
 
        BT_ASSERT(event);
 
        if (bt_stream_class_borrow_default_clock_class(sc)) {
-               int ret = bt_event_set_default_clock_value(event,
+               bt_event_set_default_clock_value(event,
                        notit->default_clock_val);
-
-               BT_ASSERT(ret == 0);
        }
 }
 
 static
 void notify_new_stream(struct bt_notif_iter *notit,
-               struct bt_notification **notification)
+               struct bt_private_notification **notification)
 {
        enum bt_notif_iter_status status;
-       struct bt_notification *ret = NULL;
+       struct bt_private_notification *ret = NULL;
 
        status = set_current_stream(notit);
        if (status != BT_NOTIF_ITER_STATUS_OK) {
@@ -2264,7 +2283,7 @@ void notify_new_stream(struct bt_notif_iter *notit,
 
        BT_ASSERT(notit->stream);
        BT_ASSERT(notit->notif_iter);
-       ret = bt_notification_stream_begin_create(notit->notif_iter,
+       ret = bt_private_notification_stream_begin_create(notit->notif_iter,
                notit->stream);
        if (!ret) {
                BT_LOGE("Cannot create stream beginning notification: "
@@ -2279,9 +2298,9 @@ end:
 
 static
 void notify_end_of_stream(struct bt_notif_iter *notit,
-               struct bt_notification **notification)
+               struct bt_private_notification **notification)
 {
-       struct bt_notification *ret;
+       struct bt_private_notification *ret;
 
        if (!notit->stream) {
                BT_LOGE("Cannot create stream for stream notification: "
@@ -2290,7 +2309,7 @@ void notify_end_of_stream(struct bt_notif_iter *notit,
        }
 
        BT_ASSERT(notit->notif_iter);
-       ret = bt_notification_stream_end_create(notit->notif_iter,
+       ret = bt_private_notification_stream_end_create(notit->notif_iter,
                notit->stream);
        if (!ret) {
                BT_LOGE("Cannot create stream beginning notification: "
@@ -2303,12 +2322,12 @@ void notify_end_of_stream(struct bt_notif_iter *notit,
 
 static
 void notify_new_packet(struct bt_notif_iter *notit,
-               struct bt_notification **notification)
+               struct bt_private_notification **notification)
 {
        int ret;
        enum bt_notif_iter_status status;
-       struct bt_notification *notif = NULL;
-       struct bt_stream_class *sc;
+       struct bt_private_notification *notif = NULL;
+       const struct bt_stream_class *sc;
 
        status = set_current_packet(notit);
        if (status != BT_NOTIF_ITER_STATUS_OK) {
@@ -2321,35 +2340,31 @@ void notify_new_packet(struct bt_notif_iter *notit,
 
        if (bt_stream_class_packets_have_discarded_event_counter_snapshot(sc)) {
                BT_ASSERT(notit->snapshots.discarded_events != UINT64_C(-1));
-               ret = bt_packet_set_discarded_event_counter_snapshot(
+               bt_packet_set_discarded_event_counter_snapshot(
                        notit->packet, notit->snapshots.discarded_events);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_packet_counter_snapshot(sc)) {
                BT_ASSERT(notit->snapshots.packets != UINT64_C(-1));
-               ret = bt_packet_set_packet_counter_snapshot(
+               bt_packet_set_packet_counter_snapshot(
                        notit->packet, notit->snapshots.packets);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_default_beginning_clock_value(sc)) {
                BT_ASSERT(notit->snapshots.beginning_clock != UINT64_C(-1));
-               ret = bt_packet_set_default_beginning_clock_value(
+               bt_packet_set_default_beginning_clock_value(
                        notit->packet, notit->snapshots.beginning_clock);
-               BT_ASSERT(ret == 0);
        }
 
        if (bt_stream_class_packets_have_default_end_clock_value(sc)) {
                BT_ASSERT(notit->snapshots.end_clock != UINT64_C(-1));
-               ret = bt_packet_set_default_end_clock_value(
+               bt_packet_set_default_end_clock_value(
                        notit->packet, notit->snapshots.end_clock);
-               BT_ASSERT(ret == 0);
        }
 
        if (notit->packet_header_field) {
-               ret = bt_packet_move_header_field(notit->packet,
-                       notit->packet_header_field);
+               ret = bt_packet_move_header_field(
+                       notit->packet, notit->packet_header_field);
                if (ret) {
                        goto end;
                }
@@ -2361,13 +2376,14 @@ void notify_new_packet(struct bt_notif_iter *notit,
                 * the same value as the packet header field within
                 * notit->packet.
                 */
-               BT_ASSERT(bt_packet_borrow_header_field(notit->packet) ==
+               BT_ASSERT(bt_packet_borrow_header_field(
+                       notit->packet) ==
                        notit->dscopes.trace_packet_header);
        }
 
        if (notit->packet_context_field) {
-               ret = bt_packet_move_context_field(notit->packet,
-                       notit->packet_context_field);
+               ret = bt_packet_move_context_field(
+                       notit->packet, notit->packet_context_field);
                if (ret) {
                        goto end;
                }
@@ -2379,12 +2395,13 @@ void notify_new_packet(struct bt_notif_iter *notit,
                 * the same value as the packet header field within
                 * notit->packet.
                 */
-               BT_ASSERT(bt_packet_borrow_context_field(notit->packet) ==
+               BT_ASSERT(bt_packet_borrow_context_field(
+                       notit->packet) ==
                        notit->dscopes.stream_packet_context);
        }
 
        BT_ASSERT(notit->notif_iter);
-       notif = bt_notification_packet_begin_create(notit->notif_iter,
+       notif = bt_private_notification_packet_begin_create(notit->notif_iter,
                notit->packet);
        if (!notif) {
                BT_LOGE("Cannot create packet beginning notification: "
@@ -2401,9 +2418,9 @@ end:
 
 static
 void notify_end_of_packet(struct bt_notif_iter *notit,
-               struct bt_notification **notification)
+               struct bt_private_notification **notification)
 {
-       struct bt_notification *notif;
+       struct bt_private_notification *notif;
 
        if (!notit->packet) {
                return;
@@ -2415,7 +2432,7 @@ void notify_end_of_packet(struct bt_notif_iter *notit,
        }
 
        BT_ASSERT(notit->notif_iter);
-       notif = bt_notification_packet_end_create(notit->notif_iter,
+       notif = bt_private_notification_packet_end_create(notit->notif_iter,
                notit->packet);
        if (!notif) {
                BT_LOGE("Cannot create packet end notification: "
@@ -2526,8 +2543,8 @@ void bt_notif_iter_destroy(struct bt_notif_iter *notit)
 
 enum bt_notif_iter_status bt_notif_iter_get_next_notification(
                struct bt_notif_iter *notit,
-               struct bt_private_connection_private_notification_iterator *notif_iter,
-               struct bt_notification **notification)
+               struct bt_self_notification_iterator *notif_iter,
+               struct bt_private_notification **notification)
 {
        enum bt_notif_iter_status status = BT_NOTIF_ITER_STATUS_OK;
 
This page took 0.031644 seconds and 4 git commands to generate.