Remove unnecessary inclusions of "internal public" headers
[babeltrace.git] / src / ctf-writer / trace.c
index 6639798546d4779686c412974cea479349ac174e..e2e9d4deaba3239902d803f0d991875e065b94e3 100644 (file)
@@ -1,38 +1,22 @@
 /*
+ * SPDX-License-Identifier: MIT
+ *
  * Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  * Copyright 2017-2018 Philippe Proulx <pproulx@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
  */
 
 #define BT_LOG_TAG "CTF-WRITER/TRACE"
 #include "logging.h"
 
 #include <inttypes.h>
+#include <stdbool.h>
 #include <stdint.h>
 #include <stdlib.h>
 #include <string.h>
 
-#include <babeltrace2/ctf-writer/event.h>
-#include <babeltrace2/ctf-writer/object.h>
-#include <babeltrace2/ctf-writer/utils.h>
-#include <babeltrace2/types.h>
+#include <babeltrace2-ctf-writer/event.h>
+#include <babeltrace2-ctf-writer/object.h>
+#include <babeltrace2-ctf-writer/utils.h>
 
 #include "common/assert.h"
 #include "compat/compiler.h"
@@ -58,7 +42,6 @@
 #define DEFAULT_IDENTIFIER_SIZE                128
 #define DEFAULT_METADATA_STRING_SIZE   4096
 
-BT_HIDDEN
 int bt_ctf_trace_common_initialize(struct bt_ctf_trace_common *trace,
                bt_ctf_object_release_func release_func)
 {
@@ -105,7 +88,6 @@ end:
        return ret;
 }
 
-BT_HIDDEN
 void bt_ctf_trace_common_finalize(struct bt_ctf_trace_common *trace)
 {
        BT_LOGD("Finalizing common trace object: addr=%p, name=\"%s\"",
@@ -139,7 +121,6 @@ void bt_ctf_trace_common_finalize(struct bt_ctf_trace_common *trace)
        bt_ctf_object_put_ref(trace->packet_header_field_type);
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_name(struct bt_ctf_trace_common *trace, const char *name)
 {
        int ret = 0;
@@ -172,15 +153,14 @@ int bt_ctf_trace_common_set_name(struct bt_ctf_trace_common *trace, const char *
                goto end;
        }
 
-       BT_LOGV("Set trace's name: addr=%p, name=\"%s\"", trace, name);
+       BT_LOGT("Set trace's name: addr=%p, name=\"%s\"", trace, name);
 
 end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_uuid(struct bt_ctf_trace_common *trace,
-               const unsigned char *uuid)
+               const uint8_t *uuid)
 {
        int ret = 0;
 
@@ -204,33 +184,17 @@ int bt_ctf_trace_common_set_uuid(struct bt_ctf_trace_common *trace,
                goto end;
        }
 
-       memcpy(trace->uuid, uuid, BABELTRACE_UUID_LEN);
-       trace->uuid_set = BT_TRUE;
-       BT_LOGV("Set trace's UUID: addr=%p, name=\"%s\", "
-               "uuid=\"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\"",
+       bt_uuid_copy(trace->uuid, uuid);
+       trace->uuid_set = BT_CTF_TRUE;
+       BT_LOGT("Set trace's UUID: addr=%p, name=\"%s\", "
+               "uuid=\"" BT_UUID_FMT "\"",
                trace, bt_ctf_trace_common_get_name(trace),
-               (unsigned int) uuid[0],
-               (unsigned int) uuid[1],
-               (unsigned int) uuid[2],
-               (unsigned int) uuid[3],
-               (unsigned int) uuid[4],
-               (unsigned int) uuid[5],
-               (unsigned int) uuid[6],
-               (unsigned int) uuid[7],
-               (unsigned int) uuid[8],
-               (unsigned int) uuid[9],
-               (unsigned int) uuid[10],
-               (unsigned int) uuid[11],
-               (unsigned int) uuid[12],
-               (unsigned int) uuid[13],
-               (unsigned int) uuid[14],
-               (unsigned int) uuid[15]);
+               BT_UUID_FMT_VALUES(uuid));
 
 end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace,
                const char *name, struct bt_ctf_private_value *value)
 {
@@ -307,7 +271,7 @@ int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace,
                        "env-name=\"%s\"",
                        trace, bt_ctf_trace_common_get_name(trace), name);
        } else {
-               BT_LOGV("Set environment field's value: "
+               BT_LOGT("Set environment field's value: "
                        "trace-addr=%p, trace-name=\"%s\", "
                        "env-name=\"%s\", value-addr=%p",
                        trace, bt_ctf_trace_common_get_name(trace), name, value);
@@ -317,7 +281,6 @@ end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_environment_field_string(struct bt_ctf_trace_common *trace,
                const char *name, const char *value)
 {
@@ -346,7 +309,6 @@ end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_environment_field_integer(
                struct bt_ctf_trace_common *trace, const char *name, int64_t value)
 {
@@ -369,7 +331,6 @@ end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_add_clock_class(struct bt_ctf_trace_common *trace,
                struct bt_ctf_clock_class *clock_class)
 {
@@ -406,11 +367,11 @@ int bt_ctf_trace_common_add_clock_class(struct bt_ctf_trace_common *trace,
        g_ptr_array_add(trace->clock_classes, clock_class);
 
        if (trace->frozen) {
-               BT_LOGV_STR("Freezing added clock class because trace is frozen.");
+               BT_LOGT_STR("Freezing added clock class because trace is frozen.");
                bt_ctf_clock_class_freeze(clock_class);
        }
 
-       BT_LOGV("Added clock class to trace: "
+       BT_LOGT("Added clock class to trace: "
                "trace-addr=%p, trace-name=\"%s\", "
                "clock-class-addr=%p, clock-class-name=\"%s\"",
                trace, bt_ctf_trace_common_get_name(trace),
@@ -488,7 +449,7 @@ bool packet_header_field_type_is_valid(struct bt_ctf_trace_common *trace,
 
                ret = bt_ctf_field_type_common_structure_borrow_field_by_index(
                        packet_header_type, &field_name, NULL, 0);
-               BT_ASSERT(ret == 0);
+               BT_ASSERT_DBG(ret == 0);
 
                if (strcmp(field_name, "magic") != 0) {
                        BT_LOGW("Invalid packet header field type: `magic` field must be the first field: "
@@ -524,7 +485,7 @@ bool packet_header_field_type_is_valid(struct bt_ctf_trace_common *trace,
                }
 
                elem_ft = bt_ctf_field_type_common_array_borrow_element_field_type(field_type);
-               BT_ASSERT(elem_ft);
+               BT_ASSERT_DBG(elem_ft);
 
                if (elem_ft->id != BT_CTF_FIELD_TYPE_ID_INTEGER) {
                        BT_LOGW("Invalid packet header field type: `uuid` field's element field type must be an integer field type: "
@@ -614,8 +575,9 @@ end:
 }
 
 static
-bool packet_context_field_type_is_valid(struct bt_ctf_trace_common *trace,
-               struct bt_ctf_stream_class_common *stream_class,
+bool packet_context_field_type_is_valid(
+               struct bt_ctf_trace_common *trace __attribute__((unused)),
+               struct bt_ctf_stream_class_common *stream_class __attribute__((unused)),
                struct bt_ctf_field_type_common *packet_context_type,
                bool check_ts_begin_end_mapped)
 {
@@ -784,7 +746,8 @@ end:
 }
 
 static
-bool event_header_field_type_is_valid(struct bt_ctf_trace_common *trace,
+bool event_header_field_type_is_valid(
+               struct bt_ctf_trace_common *trace __attribute__((unused)),
                struct bt_ctf_stream_class_common *stream_class,
                struct bt_ctf_field_type_common *event_header_type)
 {
@@ -844,7 +807,7 @@ bool event_header_field_type_is_valid(struct bt_ctf_trace_common *trace,
                        goto invalid;
                }
 
-               BT_ASSERT(int_ft);
+               BT_ASSERT_DBG(int_ft);
                if (bt_ctf_field_type_common_integer_is_signed(int_ft)) {
                        BT_LOGW("Invalid event header field type: `id` field must be an unsigned integer or enumeration field type: "
                                "id-ft-addr=%p", int_ft);
@@ -890,7 +853,6 @@ int check_packet_header_type_has_no_clock_class(struct bt_ctf_trace_common *trac
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace,
                struct bt_ctf_stream_class_common *stream_class,
                bt_ctf_validation_flag_copy_field_type_func copy_field_type_func,
@@ -914,12 +876,12 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace,
        struct bt_ctf_field_type_common *packet_context_type = NULL;
        struct bt_ctf_field_type_common *event_header_type = NULL;
        struct bt_ctf_field_type_common *stream_event_ctx_type = NULL;
-       int64_t event_class_count;
+       int64_t event_class_count = 0;
        struct bt_ctf_trace_common *current_parent_trace = NULL;
        struct bt_ctf_clock_class *expected_clock_class =
                bt_ctf_object_get_ref(init_expected_clock_class);
 
-       BT_ASSERT(copy_field_type_func);
+       BT_ASSERT_DBG(copy_field_type_func);
 
        if (!trace) {
                BT_LOGW_STR("Invalid parameter: trace is NULL.");
@@ -955,7 +917,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace,
 
        event_class_count =
                bt_ctf_stream_class_common_get_event_class_count(stream_class);
-       BT_ASSERT(event_class_count >= 0);
+       BT_ASSERT_DBG(event_class_count >= 0);
 
        if (!stream_class->frozen) {
                /*
@@ -1254,7 +1216,9 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace,
 
 end:
        if (ret) {
-               bt_ctf_object_set_parent(&stream_class->base, NULL);
+               if (stream_class) {
+                       bt_ctf_object_set_parent(&stream_class->base, NULL);
+               }
 
                if (ec_validation_outputs) {
                        for (i = 0; i < event_class_count; i++) {
@@ -1270,20 +1234,18 @@ end:
        return ret;
 }
 
-BT_HIDDEN
-bt_bool bt_ctf_trace_common_has_clock_class(struct bt_ctf_trace_common *trace,
+bt_ctf_bool bt_ctf_trace_common_has_clock_class(struct bt_ctf_trace_common *trace,
                struct bt_ctf_clock_class *clock_class)
 {
        struct bt_ctf_search_query query = { .value = clock_class, .found = 0 };
 
-       BT_ASSERT(trace);
-       BT_ASSERT(clock_class);
+       BT_ASSERT_DBG(trace);
+       BT_ASSERT_DBG(clock_class);
 
        g_ptr_array_foreach(trace->clock_classes, value_exists, &query);
        return query.found;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_native_byte_order(struct bt_ctf_trace_common *trace,
                enum bt_ctf_byte_order byte_order, bool allow_unspecified)
 {
@@ -1323,7 +1285,7 @@ int bt_ctf_trace_common_set_native_byte_order(struct bt_ctf_trace_common *trace,
        }
 
        trace->native_byte_order = byte_order;
-       BT_LOGV("Set trace's native byte order: "
+       BT_LOGT("Set trace's native byte order: "
                "addr=%p, name=\"%s\", bo=%s",
                trace, bt_ctf_trace_common_get_name(trace),
                bt_ctf_byte_order_string(byte_order));
@@ -1332,7 +1294,6 @@ end:
        return ret;
 }
 
-BT_HIDDEN
 int bt_ctf_trace_common_set_packet_header_field_type(struct bt_ctf_trace_common *trace,
                struct bt_ctf_field_type_common *packet_header_type)
 {
@@ -1366,7 +1327,7 @@ int bt_ctf_trace_common_set_packet_header_field_type(struct bt_ctf_trace_common
 
        bt_ctf_object_put_ref(trace->packet_header_field_type);
        trace->packet_header_field_type = bt_ctf_object_get_ref(packet_header_type);
-       BT_LOGV("Set trace's packet header field type: "
+       BT_LOGT("Set trace's packet header field type: "
                "addr=%p, name=\"%s\", packet-context-ft-addr=%p",
                trace, bt_ctf_trace_common_get_name(trace), packet_header_type);
 end:
@@ -1414,7 +1375,7 @@ int bt_ctf_trace_visit(struct bt_ctf_trace *trace,
                goto end;
        }
 
-       BT_LOGV("Visiting trace: addr=%p, name=\"%s\"",
+       BT_LOGT("Visiting trace: addr=%p, name=\"%s\"",
                trace, bt_ctf_trace_get_name(trace));
        ret = bt_ctf_visitor_helper(&obj, get_stream_class_count,
                        get_stream_class, visit_stream_class, visitor, data);
@@ -1433,7 +1394,6 @@ void bt_ctf_trace_destroy(struct bt_ctf_object *obj)
        g_free(trace);
 }
 
-BT_HIDDEN
 struct bt_ctf_trace *bt_ctf_trace_create(void)
 {
        struct bt_ctf_trace *trace = NULL;
@@ -1461,17 +1421,20 @@ error:
        return trace;
 }
 
-const unsigned char *bt_ctf_trace_get_uuid(struct bt_ctf_trace *trace)
+BT_EXPORT
+const uint8_t *bt_ctf_trace_get_uuid(struct bt_ctf_trace *trace)
 {
        return bt_ctf_trace_common_get_uuid(BT_CTF_TO_COMMON(trace));
 }
 
+BT_EXPORT
 int bt_ctf_trace_set_uuid(struct bt_ctf_trace *trace,
-               const unsigned char *uuid)
+               const uint8_t *uuid)
 {
        return bt_ctf_trace_common_set_uuid(BT_CTF_TO_COMMON(trace), uuid);
 }
 
+BT_EXPORT
 int bt_ctf_trace_set_environment_field_string(struct bt_ctf_trace *trace,
                const char *name, const char *value)
 {
@@ -1479,6 +1442,7 @@ int bt_ctf_trace_set_environment_field_string(struct bt_ctf_trace *trace,
                name, value);
 }
 
+BT_EXPORT
 int bt_ctf_trace_set_environment_field_integer(
                struct bt_ctf_trace *trace, const char *name, int64_t value)
 {
@@ -1513,7 +1477,6 @@ struct bt_ctf_value *bt_ctf_trace_get_environment_field_value_by_name(
                BT_CTF_TO_COMMON(trace), name));
 }
 
-BT_HIDDEN
 int bt_ctf_trace_add_clock_class(struct bt_ctf_trace *trace,
                struct bt_ctf_clock_class *clock_class)
 {
@@ -1521,13 +1484,11 @@ int bt_ctf_trace_add_clock_class(struct bt_ctf_trace *trace,
                (void *) clock_class);
 }
 
-BT_HIDDEN
 int64_t bt_ctf_trace_get_clock_class_count(struct bt_ctf_trace *trace)
 {
        return bt_ctf_trace_common_get_clock_class_count(BT_CTF_TO_COMMON(trace));
 }
 
-BT_HIDDEN
 struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_index(
                struct bt_ctf_trace *trace, uint64_t index)
 {
@@ -1552,6 +1513,7 @@ int map_clock_classes_func(struct bt_ctf_stream_class_common *stream_class,
        return ret;
 }
 
+BT_EXPORT
 int bt_ctf_trace_add_stream_class(struct bt_ctf_trace *trace,
                struct bt_ctf_stream_class *stream_class)
 {
@@ -1640,11 +1602,13 @@ end:
        return ret;
 }
 
+BT_EXPORT
 int64_t bt_ctf_trace_get_stream_count(struct bt_ctf_trace *trace)
 {
        return bt_ctf_trace_common_get_stream_count(BT_CTF_TO_COMMON(trace));
 }
 
+BT_EXPORT
 struct bt_ctf_stream *bt_ctf_trace_get_stream_by_index(
                struct bt_ctf_trace *trace, uint64_t index)
 {
@@ -1652,11 +1616,13 @@ struct bt_ctf_stream *bt_ctf_trace_get_stream_by_index(
                BT_CTF_TO_COMMON(trace), index));
 }
 
+BT_EXPORT
 int64_t bt_ctf_trace_get_stream_class_count(struct bt_ctf_trace *trace)
 {
        return bt_ctf_trace_common_get_stream_class_count(BT_CTF_TO_COMMON(trace));
 }
 
+BT_EXPORT
 struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_index(
                struct bt_ctf_trace *trace, uint64_t index)
 {
@@ -1664,6 +1630,7 @@ struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_index(
                BT_CTF_TO_COMMON(trace), index));
 }
 
+BT_EXPORT
 struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_id(
                struct bt_ctf_trace *trace, uint64_t id)
 {
@@ -1671,7 +1638,6 @@ struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_id(
                BT_CTF_TO_COMMON(trace), id));
 }
 
-BT_HIDDEN
 struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_name(
                struct bt_ctf_trace *trace, const char *name)
 {
@@ -1684,7 +1650,7 @@ static
 int append_trace_metadata(struct bt_ctf_trace *trace,
                struct metadata_context *context)
 {
-       unsigned char *uuid = trace->common.uuid;
+       uint8_t *uuid = trace->common.uuid;
        int ret = 0;
 
        if (trace->common.native_byte_order == BT_CTF_BYTE_ORDER_NATIVE ||
@@ -1700,17 +1666,14 @@ int append_trace_metadata(struct bt_ctf_trace *trace,
        g_string_append(context->string, "trace {\n");
        g_string_append(context->string, "\tmajor = 1;\n");
        g_string_append(context->string, "\tminor = 8;\n");
-       BT_ASSERT(trace->common.native_byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ||
+       BT_ASSERT_DBG(trace->common.native_byte_order == BT_CTF_BYTE_ORDER_LITTLE_ENDIAN ||
                trace->common.native_byte_order == BT_CTF_BYTE_ORDER_BIG_ENDIAN ||
                trace->common.native_byte_order == BT_CTF_BYTE_ORDER_NETWORK);
 
        if (trace->common.uuid_set) {
                g_string_append_printf(context->string,
-                       "\tuuid = \"%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\";\n",
-                       uuid[0], uuid[1], uuid[2], uuid[3],
-                       uuid[4], uuid[5], uuid[6], uuid[7],
-                       uuid[8], uuid[9], uuid[10], uuid[11],
-                       uuid[12], uuid[13], uuid[14], uuid[15]);
+                       "\tuuid = \"" BT_UUID_FMT "\";\n",
+                       BT_UUID_FMT_VALUES(uuid));
        }
 
        g_string_append_printf(context->string, "\tbyte_order = %s;\n",
@@ -1758,8 +1721,8 @@ void append_env_metadata(struct bt_ctf_trace *trace,
                env_field_value_obj = bt_ctf_attributes_borrow_field_value(
                        trace->common.environment, i);
 
-               BT_ASSERT(entry_name);
-               BT_ASSERT(env_field_value_obj);
+               BT_ASSERT_DBG(entry_name);
+               BT_ASSERT_DBG(env_field_value_obj);
 
                switch (bt_ctf_value_get_type(
                        bt_ctf_private_value_as_value(env_field_value_obj))) {
@@ -1853,12 +1816,14 @@ end:
        return metadata;
 }
 
+BT_EXPORT
 enum bt_ctf_byte_order bt_ctf_trace_get_native_byte_order(
                struct bt_ctf_trace *trace)
 {
        return (int) bt_ctf_trace_common_get_native_byte_order(BT_CTF_TO_COMMON(trace));
 }
 
+BT_EXPORT
 int bt_ctf_trace_set_native_byte_order(struct bt_ctf_trace *trace,
                enum bt_ctf_byte_order byte_order)
 {
@@ -1866,6 +1831,7 @@ int bt_ctf_trace_set_native_byte_order(struct bt_ctf_trace *trace,
                (int) byte_order, false);
 }
 
+BT_EXPORT
 struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_field_type(
                struct bt_ctf_trace *trace)
 {
@@ -1873,6 +1839,7 @@ struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_field_type(
                BT_CTF_TO_COMMON(trace)));
 }
 
+BT_EXPORT
 int bt_ctf_trace_set_packet_header_field_type(struct bt_ctf_trace *trace,
                struct bt_ctf_field_type *packet_header_type)
 {
@@ -1880,6 +1847,7 @@ int bt_ctf_trace_set_packet_header_field_type(struct bt_ctf_trace *trace,
                (void *) packet_header_type);
 }
 
+BT_EXPORT
 const char *bt_ctf_trace_get_name(struct bt_ctf_trace *trace)
 {
        return bt_ctf_trace_common_get_name(BT_CTF_TO_COMMON(trace));
This page took 0.033565 seconds and 4 git commands to generate.