lib: make trace IR API const-correct
[babeltrace.git] / lib / trace-ir / packet.c
index 3c01165fbd08e0ace523116f350b4bf68798be68..d71c62ed98e30e323532619fd82446520873cd17 100644 (file)
@@ -25,7 +25,7 @@
 
 #include <babeltrace/assert-pre-internal.h>
 #include <babeltrace/trace-ir/fields-internal.h>
-#include <babeltrace/trace-ir/private-packet.h>
+#include <babeltrace/trace-ir/packet-const.h>
 #include <babeltrace/trace-ir/packet.h>
 #include <babeltrace/trace-ir/packet-internal.h>
 #include <babeltrace/trace-ir/field-wrapper-internal.h>
@@ -50,10 +50,10 @@ struct bt_stream *bt_packet_borrow_stream(struct bt_packet *packet)
        return packet->stream;
 }
 
-struct bt_private_stream *bt_private_packet_borrow_stream(
-               struct bt_private_packet *packet)
+const struct bt_stream *bt_packet_borrow_stream_const(
+               const struct bt_packet *packet)
 {
-       return (void *) bt_packet_borrow_stream((void *) packet);
+       return bt_packet_borrow_stream((void *) packet);
 }
 
 struct bt_field *bt_packet_borrow_header_field(struct bt_packet *packet)
@@ -62,10 +62,10 @@ struct bt_field *bt_packet_borrow_header_field(struct bt_packet *packet)
        return packet->header_field ? packet->header_field->field : NULL;
 }
 
-struct bt_private_field *bt_private_packet_borrow_header_field(
-               struct bt_private_packet *packet)
+const struct bt_field *bt_packet_borrow_header_field_const(
+               const struct bt_packet *packet)
 {
-       return (void *) bt_packet_borrow_header_field((void *) packet);
+       return bt_packet_borrow_header_field((void *) packet);
 }
 
 struct bt_field *bt_packet_borrow_context_field(struct bt_packet *packet)
@@ -74,14 +74,14 @@ struct bt_field *bt_packet_borrow_context_field(struct bt_packet *packet)
        return packet->context_field ? packet->context_field->field : NULL;
 }
 
-struct bt_private_field *bt_private_packet_borrow_context_field(
-               struct bt_private_packet *packet)
+const struct bt_field *bt_packet_borrow_context_field_const(
+               const struct bt_packet *packet)
 {
-       return (void *) bt_packet_borrow_context_field((void *) packet);
+       return bt_packet_borrow_context_field((void *) packet);
 }
 
 BT_HIDDEN
-void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen)
+void _bt_packet_set_is_frozen(const struct bt_packet *packet, bool is_frozen)
 {
        if (!packet) {
                return;
@@ -102,7 +102,7 @@ void _bt_packet_set_is_frozen(struct bt_packet *packet, bool is_frozen)
                        is_frozen);
        }
 
-       packet->frozen = is_frozen;
+       ((struct bt_packet *) packet)->frozen = is_frozen;
 }
 
 static inline
@@ -218,6 +218,8 @@ void bt_packet_destroy(struct bt_packet *packet)
                } else {
                        bt_field_wrapper_destroy(packet->header_field);
                }
+
+               packet->header_field = NULL;
        }
 
        if (packet->context_field) {
@@ -228,20 +230,24 @@ void bt_packet_destroy(struct bt_packet *packet)
                } else {
                        bt_field_wrapper_destroy(packet->context_field);
                }
+
+               packet->context_field = NULL;
        }
 
        if (packet->default_beginning_cv) {
                BT_LOGD_STR("Recycling beginning clock value.");
                bt_clock_value_recycle(packet->default_beginning_cv);
+               packet->default_beginning_cv = NULL;
        }
 
        if (packet->default_end_cv) {
                BT_LOGD_STR("Recycling end clock value.");
                bt_clock_value_recycle(packet->default_end_cv);
+               packet->default_end_cv = NULL;
        }
 
        BT_LOGD_STR("Putting packet's stream.");
-       bt_object_put_ref(packet->stream);
+       BT_OBJECT_PUT_REF_AND_RESET(packet->stream);
        g_free(packet);
 }
 
@@ -261,7 +267,8 @@ struct bt_packet *bt_packet_new(struct bt_stream *stream)
 
        bt_object_init_shared(&packet->base,
                (bt_object_release_func) bt_packet_recycle);
-       packet->stream = bt_object_get_ref(stream);
+       packet->stream = stream;
+       bt_object_get_no_null_check(stream);
        trace = bt_stream_class_borrow_trace_inline(stream->class);
        BT_ASSERT(trace);
 
@@ -318,10 +325,8 @@ end:
        return packet;
 }
 
-struct bt_private_packet *bt_private_packet_create(
-               struct bt_private_stream *priv_stream)
+struct bt_packet *bt_packet_create(struct bt_stream *stream)
 {
-       struct bt_stream *stream = (void *) priv_stream;
        struct bt_packet *packet = NULL;
 
        BT_ASSERT_PRE_NON_NULL(stream, "Stream");
@@ -342,11 +347,9 @@ end:
        return (void *) packet;
 }
 
-int bt_private_packet_move_header_field(
-               struct bt_private_packet *priv_packet,
-               struct bt_private_packet_header_field *header_field)
+int bt_packet_move_header_field(struct bt_packet *packet,
+               struct bt_packet_header_field *header_field)
 {
-       struct bt_packet *packet = (void *) priv_packet;
        struct bt_trace *trace;
        struct bt_field_wrapper *field_wrapper = (void *) header_field;
 
@@ -372,11 +375,9 @@ int bt_private_packet_move_header_field(
        return 0;
 }
 
-int bt_private_packet_move_context_field(
-               struct bt_private_packet *priv_packet,
-               struct bt_private_packet_context_field *context_field)
+int bt_packet_move_context_field(struct bt_packet *packet,
+               struct bt_packet_context_field *context_field)
 {
-       struct bt_packet *packet = (void *) priv_packet;
        struct bt_stream_class *stream_class;
        struct bt_field_wrapper *field_wrapper = (void *) context_field;
 
@@ -402,11 +403,9 @@ int bt_private_packet_move_context_field(
        return 0;
 }
 
-int bt_private_packet_set_default_beginning_clock_value(
-               struct bt_private_packet *priv_packet,
+void bt_packet_set_default_beginning_clock_value(struct bt_packet *packet,
                uint64_t value_cycles)
 {
-       struct bt_packet *packet = (void *) priv_packet;
        struct bt_stream_class *sc;
 
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
@@ -421,14 +420,15 @@ int bt_private_packet_set_default_beginning_clock_value(
                "no default beginning clock value: %![packet-]+a, %![sc-]+S",
                packet, sc);
        BT_ASSERT(packet->default_beginning_cv);
-       bt_clock_value_set_value_inline(packet->default_beginning_cv, value_cycles);
+       bt_clock_value_set_value_inline(packet->default_beginning_cv,
+               value_cycles);
        BT_LIB_LOGV("Set packet's default beginning clock value: "
                "%![packet-]+a, value=%" PRIu64, packet, value_cycles);
-       return 0;
 }
 
 enum bt_clock_value_status bt_packet_borrow_default_beginning_clock_value(
-               struct bt_packet *packet, struct bt_clock_value **clock_value)
+               const struct bt_packet *packet,
+               const struct bt_clock_value **clock_value)
 {
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value (output)");
@@ -436,11 +436,9 @@ enum bt_clock_value_status bt_packet_borrow_default_beginning_clock_value(
        return BT_CLOCK_VALUE_STATUS_KNOWN;
 }
 
-int bt_private_packet_set_default_end_clock_value(
-               struct bt_private_packet *priv_packet,
+void bt_packet_set_default_end_clock_value(struct bt_packet *packet,
                uint64_t value_cycles)
 {
-       struct bt_packet *packet = (void *) priv_packet;
        struct bt_stream_class *sc;
 
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
@@ -458,11 +456,11 @@ int bt_private_packet_set_default_end_clock_value(
        bt_clock_value_set_value_inline(packet->default_end_cv, value_cycles);
        BT_LIB_LOGV("Set packet's default end clock value: "
                "%![packet-]+a, value=%" PRIu64, packet, value_cycles);
-       return 0;
 }
 
 enum bt_clock_value_status bt_packet_borrow_default_end_clock_value(
-               struct bt_packet *packet, struct bt_clock_value **clock_value)
+               const struct bt_packet *packet,
+               const struct bt_clock_value **clock_value)
 {
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_NON_NULL(clock_value, "Clock value (output)");
@@ -471,7 +469,7 @@ enum bt_clock_value_status bt_packet_borrow_default_end_clock_value(
 }
 
 enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
-               struct bt_packet *packet, uint64_t *value)
+               const struct bt_packet *packet, uint64_t *value)
 {
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_NON_NULL(value, "Value (output)");
@@ -479,22 +477,19 @@ enum bt_property_availability bt_packet_get_discarded_event_counter_snapshot(
        return packet->discarded_event_counter_snapshot.base.avail;
 }
 
-int bt_private_packet_set_discarded_event_counter_snapshot(
-               struct bt_private_packet *priv_packet, uint64_t value)
+void bt_packet_set_discarded_event_counter_snapshot(struct bt_packet *packet,
+               uint64_t value)
 {
-       struct bt_packet *packet = (void *) priv_packet;
-
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_PACKET_HOT(packet);
        BT_ASSERT_PRE(packet->stream->class->packets_have_discarded_event_counter_snapshot,
                "Packet's stream's discarded event counter is not enabled: "
                "%![packet-]+a", packet);
        bt_property_uint_set(&packet->discarded_event_counter_snapshot, value);
-       return 0;
 }
 
 enum bt_property_availability bt_packet_get_packet_counter_snapshot(
-               struct bt_packet *packet, uint64_t *value)
+               const struct bt_packet *packet, uint64_t *value)
 {
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_NON_NULL(value, "Value (output)");
@@ -502,22 +497,13 @@ enum bt_property_availability bt_packet_get_packet_counter_snapshot(
        return packet->packet_counter_snapshot.base.avail;
 }
 
-int bt_private_packet_set_packet_counter_snapshot(
-               struct bt_private_packet *priv_packet, uint64_t value)
+void bt_packet_set_packet_counter_snapshot(struct bt_packet *packet,
+               uint64_t value)
 {
-       struct bt_packet *packet = (void *) priv_packet;
-
        BT_ASSERT_PRE_NON_NULL(packet, "Packet");
        BT_ASSERT_PRE_PACKET_HOT(packet);
        BT_ASSERT_PRE(packet->stream->class->packets_have_packet_counter_snapshot,
                "Packet's stream's packet counter is not enabled: "
                "%![packet-]+a", packet);
        bt_property_uint_set(&packet->packet_counter_snapshot, value);
-       return 0;
-}
-
-struct bt_packet *bt_packet_borrow_from_private(
-               struct bt_private_packet *priv_packet)
-{
-       return (void *) priv_packet;
 }
This page took 0.027267 seconds and 4 git commands to generate.