Document libbabeltrace2's C API
[babeltrace.git] / src / lib / trace-ir / event.c
index 7f93d065eb0e1f8ea8e1ddaf2b203a766588a6db..d110aed85397088277ae79731da4d54de424d5c9 100644 (file)
  */
 
 #define BT_LOG_TAG "LIB/EVENT"
-#include "lib/lib-logging.h"
+#include "lib/logging.h"
 
 #include "lib/assert-pre.h"
-#include <babeltrace2/trace-ir/event-const.h>
+#include <babeltrace2/trace-ir/event.h>
 #include <babeltrace2/trace-ir/event-class.h>
 #include <babeltrace2/trace-ir/stream-class.h>
-#include <babeltrace2/trace-ir/stream-class-const.h>
 #include <babeltrace2/trace-ir/packet.h>
 #include <babeltrace2/trace-ir/trace.h>
 #include "common/assert.h"
 #include "compat/compiler.h"
 #include <inttypes.h>
+#include <stdbool.h>
 
 #include "field.h"
 #include "field-class.h"
@@ -49,7 +49,7 @@
 BT_HIDDEN
 void _bt_event_set_is_frozen(const struct bt_event *event, bool is_frozen)
 {
-       BT_ASSERT(event);
+       BT_ASSERT_DBG(event);
        BT_LIB_LOGD("Setting event's frozen state: %!+e, is-frozen=%d",
                event, is_frozen);
 
@@ -72,8 +72,11 @@ void _bt_event_set_is_frozen(const struct bt_event *event, bool is_frozen)
        }
 
        ((struct bt_event *) event)->frozen = is_frozen;
-       BT_LOGD_STR("Setting event's packet's frozen state.");
-       bt_packet_set_is_frozen(event->packet, is_frozen);
+
+       if (event->packet) {
+               BT_LOGD_STR("Setting event's packet's frozen state.");
+               bt_packet_set_is_frozen(event->packet, is_frozen);
+       }
 }
 
 BT_HIDDEN
@@ -86,7 +89,7 @@ struct bt_event *bt_event_new(struct bt_event_class *event_class)
        BT_ASSERT(event_class);
        event = g_new0(struct bt_event, 1);
        if (!event) {
-               BT_LOGE_STR("Failed to allocate one event.");
+               BT_LIB_LOGE_APPEND_CAUSE("Failed to allocate one event.");
                goto error;
        }
 
@@ -134,7 +137,7 @@ end:
 
 struct bt_event_class *bt_event_borrow_class(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->class;
 }
 
@@ -146,8 +149,8 @@ const struct bt_event_class *bt_event_borrow_class_const(
 
 struct bt_stream *bt_event_borrow_stream(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
-       return event->packet ? event->packet->stream : NULL;
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
+       return event->stream;
 }
 
 const struct bt_stream *bt_event_borrow_stream_const(
@@ -158,40 +161,40 @@ const struct bt_stream *bt_event_borrow_stream_const(
 
 struct bt_field *bt_event_borrow_common_context_field(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->common_context_field;
 }
 
 const struct bt_field *bt_event_borrow_common_context_field_const(
                const struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->common_context_field;
 }
 
 struct bt_field *bt_event_borrow_specific_context_field(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->specific_context_field;
 }
 
 const struct bt_field *bt_event_borrow_specific_context_field_const(
                const struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->specific_context_field;
 }
 
 struct bt_field *bt_event_borrow_payload_field(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->payload_field;
 }
 
 const struct bt_field *bt_event_borrow_payload_field_const(
                const struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->payload_field;
 }
 
@@ -223,12 +226,14 @@ void bt_event_destroy(struct bt_event *event)
        bt_object_put_ref(event->class);
        BT_LOGD_STR("Putting event's packet.");
        BT_OBJECT_PUT_REF_AND_RESET(event->packet);
+       BT_LOGD_STR("Putting event's stream.");
+       BT_OBJECT_PUT_REF_AND_RESET(event->stream);
        g_free(event);
 }
 
 struct bt_packet *bt_event_borrow_packet(struct bt_event *event)
 {
-       BT_ASSERT_PRE_NON_NULL(event, "Event");
+       BT_ASSERT_PRE_DEV_NON_NULL(event, "Event");
        return event->packet;
 }
 
This page took 0.026092 seconds and 4 git commands to generate.