X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=lib%2Fctf-writer%2Ftrace.c;h=5957c1e893f494a9d3cd3843d40ec59ff152f048;hb=2d95225e39cde6999e67a74662b36c834191afd2;hp=25055383b2c8431a66fa5997ef4f39b43c937f61;hpb=086dc475ceb130777725ddd30dff168f62a3d3ea;p=babeltrace.git diff --git a/lib/ctf-writer/trace.c b/lib/ctf-writer/trace.c index 25055383..5957c1e8 100644 --- a/lib/ctf-writer/trace.c +++ b/lib/ctf-writer/trace.c @@ -44,10 +44,9 @@ #include #include #include -#include +#include #include -#include -#include +#include #include #include #include @@ -58,29 +57,29 @@ BT_HIDDEN int bt_ctf_trace_common_initialize(struct bt_ctf_trace_common *trace, - bt_object_release_func release_func) + bt_ctf_object_release_func release_func) { int ret = 0; BT_LOGD_STR("Initializing common trace object."); trace->native_byte_order = BT_CTF_BYTE_ORDER_UNSPECIFIED; - bt_object_init_shared_with_parent(&trace->base, release_func); + bt_ctf_object_init_shared_with_parent(&trace->base, release_func); trace->clock_classes = g_ptr_array_new_with_free_func( - (GDestroyNotify) bt_put); + (GDestroyNotify) bt_ctf_object_put_ref); if (!trace->clock_classes) { BT_LOGE_STR("Failed to allocate one GPtrArray."); goto error; } trace->streams = g_ptr_array_new_with_free_func( - (GDestroyNotify) bt_object_try_spec_release); + (GDestroyNotify) bt_ctf_object_try_spec_release); if (!trace->streams) { BT_LOGE_STR("Failed to allocate one GPtrArray."); goto error; } trace->stream_classes = g_ptr_array_new_with_free_func( - (GDestroyNotify) bt_object_try_spec_release); + (GDestroyNotify) bt_ctf_object_try_spec_release); if (!trace->stream_classes) { BT_LOGE_STR("Failed to allocate one GPtrArray."); goto error; @@ -134,7 +133,7 @@ void bt_ctf_trace_common_finalize(struct bt_ctf_trace_common *trace) } BT_LOGD_STR("Putting packet header field type."); - bt_put(trace->packet_header_field_type); + bt_ctf_object_put_ref(trace->packet_header_field_type); } BT_HIDDEN @@ -230,7 +229,7 @@ end: BT_HIDDEN int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace, - const char *name, struct bt_value *value) + const char *name, struct bt_ctf_private_value *value) { int ret = 0; @@ -261,12 +260,15 @@ int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace, goto end; } - if (!bt_value_is_integer(value) && !bt_value_is_string(value)) { + if (!bt_ctf_value_is_integer(bt_ctf_private_value_as_value(value)) && + !bt_ctf_value_is_string(bt_ctf_private_value_as_value(value))) { BT_LOGW("Invalid parameter: environment field's value is not an integer or string value: " "trace-addr=%p, trace-name=\"%s\", " "env-name=\"%s\", env-value-type=%s", trace, bt_ctf_trace_common_get_name(trace), name, - bt_value_type_string(bt_value_get_type(value))); + bt_ctf_value_type_string( + bt_ctf_value_get_type( + bt_ctf_private_value_as_value(value)))); ret = -1; goto end; } @@ -278,7 +280,7 @@ int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace, * * The object passed is frozen like all other attributes. */ - struct bt_value *attribute = + struct bt_ctf_private_value *attribute = bt_ctf_attributes_borrow_field_value_by_name( trace->environment, name); @@ -291,7 +293,7 @@ int bt_ctf_trace_common_set_environment_field(struct bt_ctf_trace_common *trace, goto end; } - bt_value_freeze(value); + bt_ctf_value_freeze(bt_ctf_private_value_as_value(value)); } ret = bt_ctf_attributes_set_field_value(trace->environment, name, @@ -317,7 +319,7 @@ int bt_ctf_trace_common_set_environment_field_string(struct bt_ctf_trace_common const char *name, const char *value) { int ret = 0; - struct bt_value *env_value_string_obj = NULL; + struct bt_ctf_private_value *env_value_string_obj = NULL; if (!value) { BT_LOGW_STR("Invalid parameter: value is NULL."); @@ -325,7 +327,7 @@ int bt_ctf_trace_common_set_environment_field_string(struct bt_ctf_trace_common goto end; } - env_value_string_obj = bt_value_string_create_init(value); + env_value_string_obj = bt_ctf_private_value_string_create_init(value); if (!env_value_string_obj) { BT_LOGE_STR("Cannot create string value object."); ret = -1; @@ -337,7 +339,7 @@ int bt_ctf_trace_common_set_environment_field_string(struct bt_ctf_trace_common env_value_string_obj); end: - bt_put(env_value_string_obj); + bt_ctf_object_put_ref(env_value_string_obj); return ret; } @@ -346,9 +348,9 @@ int bt_ctf_trace_common_set_environment_field_integer( struct bt_ctf_trace_common *trace, const char *name, int64_t value) { int ret = 0; - struct bt_value *env_value_integer_obj = NULL; + struct bt_ctf_private_value *env_value_integer_obj = NULL; - env_value_integer_obj = bt_value_integer_create_init(value); + env_value_integer_obj = bt_ctf_private_value_integer_create_init(value); if (!env_value_integer_obj) { BT_LOGE_STR("Cannot create integer value object."); ret = -1; @@ -360,7 +362,7 @@ int bt_ctf_trace_common_set_environment_field_integer( env_value_integer_obj); end: - bt_put(env_value_integer_obj); + bt_ctf_object_put_ref(env_value_integer_obj); return ret; } @@ -397,7 +399,7 @@ int bt_ctf_trace_common_add_clock_class(struct bt_ctf_trace_common *trace, goto end; } - bt_get(clock_class); + bt_ctf_object_get_ref(clock_class); g_ptr_array_add(trace->clock_classes, clock_class); if (trace->frozen) { @@ -867,7 +869,7 @@ int check_packet_header_type_has_no_clock_class(struct bt_ctf_trace_common *trac ret = bt_ctf_field_type_common_validate_single_clock_class( trace->packet_header_field_type, &clock_class); - bt_put(clock_class); + bt_ctf_object_put_ref(clock_class); if (ret || clock_class) { BT_LOGW("Trace's packet header field type cannot " "contain a field type which is mapped to " @@ -912,7 +914,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, int64_t event_class_count; struct bt_ctf_trace_common *current_parent_trace = NULL; struct bt_ctf_clock_class *expected_clock_class = - bt_get(init_expected_clock_class); + bt_ctf_object_get_ref(init_expected_clock_class); BT_ASSERT(copy_field_type_func); @@ -1188,7 +1190,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, } } - bt_object_set_parent(&stream_class->base, &trace->base); + bt_ctf_object_set_parent(&stream_class->base, &trace->base); g_ptr_array_add(trace->stream_classes, stream_class); /* @@ -1236,7 +1238,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, * now because the stream class is frozen. */ if (expected_clock_class) { - BT_MOVE(stream_class->clock_class, expected_clock_class); + BT_CTF_OBJECT_MOVE_REF(stream_class->clock_class, expected_clock_class); } BT_LOGD("Added stream class to trace: " @@ -1249,7 +1251,7 @@ int bt_ctf_trace_common_add_stream_class(struct bt_ctf_trace_common *trace, end: if (ret) { - bt_object_set_parent(&stream_class->base, NULL); + bt_ctf_object_set_parent(&stream_class->base, NULL); if (ec_validation_outputs) { for (i = 0; i < event_class_count; i++) { @@ -1261,7 +1263,7 @@ end: g_free(ec_validation_outputs); bt_ctf_validation_output_put_types(&trace_sc_validation_output); - bt_put(expected_clock_class); + bt_ctf_object_put_ref(expected_clock_class); return ret; } @@ -1359,8 +1361,8 @@ int bt_ctf_trace_common_set_packet_header_field_type(struct bt_ctf_trace_common goto end; } - bt_put(trace->packet_header_field_type); - trace->packet_header_field_type = bt_get(packet_header_type); + 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: " "addr=%p, name=\"%s\", packet-context-ft-addr=%p", trace, bt_ctf_trace_common_get_name(trace), packet_header_type); @@ -1411,14 +1413,14 @@ int bt_ctf_trace_visit(struct bt_ctf_trace *trace, BT_LOGV("Visiting trace: addr=%p, name=\"%s\"", trace, bt_ctf_trace_get_name(trace)); - ret = visitor_helper(&obj, get_stream_class_count, + ret = bt_ctf_visitor_helper(&obj, get_stream_class_count, get_stream_class, visit_stream_class, visitor, data); end: return ret; } static -void bt_ctf_trace_destroy(struct bt_object *obj) +void bt_ctf_trace_destroy(struct bt_ctf_object *obj) { struct bt_ctf_trace *trace = (void *) obj; @@ -1452,7 +1454,7 @@ struct bt_ctf_trace *bt_ctf_trace_create(void) return trace; error: - BT_PUT(trace); + BT_CTF_OBJECT_PUT_REF_AND_RESET(trace); return trace; } @@ -1467,13 +1469,6 @@ int bt_ctf_trace_set_uuid(struct bt_ctf_trace *trace, return bt_ctf_trace_common_set_uuid(BT_CTF_TO_COMMON(trace), uuid); } -int bt_ctf_trace_set_environment_field(struct bt_ctf_trace *trace, - const char *name, struct bt_value *value) -{ - return bt_ctf_trace_common_set_environment_field(BT_CTF_TO_COMMON(trace), - name, value); -} - int bt_ctf_trace_set_environment_field_string(struct bt_ctf_trace *trace, const char *name, const char *value) { @@ -1501,17 +1496,17 @@ bt_ctf_trace_get_environment_field_name_by_index(struct bt_ctf_trace *trace, BT_CTF_TO_COMMON(trace), index); } -struct bt_value *bt_ctf_trace_get_environment_field_value_by_index( +struct bt_ctf_value *bt_ctf_trace_get_environment_field_value_by_index( struct bt_ctf_trace *trace, uint64_t index) { - return bt_get(bt_ctf_trace_common_borrow_environment_field_value_by_index( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_environment_field_value_by_index( BT_CTF_TO_COMMON(trace), index)); } -struct bt_value *bt_ctf_trace_get_environment_field_value_by_name( +struct bt_ctf_value *bt_ctf_trace_get_environment_field_value_by_name( struct bt_ctf_trace *trace, const char *name) { - return bt_get(bt_ctf_trace_common_borrow_environment_field_value_by_name( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_environment_field_value_by_name( BT_CTF_TO_COMMON(trace), name)); } @@ -1533,7 +1528,7 @@ BT_HIDDEN struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_index( struct bt_ctf_trace *trace, uint64_t index) { - return bt_get(bt_ctf_trace_common_borrow_clock_class_by_index( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_clock_class_by_index( BT_CTF_TO_COMMON(trace), index)); } @@ -1650,7 +1645,7 @@ int64_t bt_ctf_trace_get_stream_count(struct bt_ctf_trace *trace) struct bt_ctf_stream *bt_ctf_trace_get_stream_by_index( struct bt_ctf_trace *trace, uint64_t index) { - return bt_get(bt_ctf_trace_common_borrow_stream_by_index( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_stream_by_index( BT_CTF_TO_COMMON(trace), index)); } @@ -1662,14 +1657,14 @@ int64_t bt_ctf_trace_get_stream_class_count(struct bt_ctf_trace *trace) struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_index( struct bt_ctf_trace *trace, uint64_t index) { - return bt_get(bt_ctf_trace_common_borrow_stream_class_by_index( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_stream_class_by_index( BT_CTF_TO_COMMON(trace), index)); } struct bt_ctf_stream_class *bt_ctf_trace_get_stream_class_by_id( struct bt_ctf_trace *trace, uint64_t id) { - return bt_get(bt_ctf_trace_common_borrow_stream_class_by_id( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_stream_class_by_id( BT_CTF_TO_COMMON(trace), id)); } @@ -1677,7 +1672,7 @@ BT_HIDDEN struct bt_ctf_clock_class *bt_ctf_trace_get_clock_class_by_name( struct bt_ctf_trace *trace, const char *name) { - return bt_get( + return bt_ctf_object_get_ref( bt_ctf_trace_common_borrow_clock_class_by_name(BT_CTF_TO_COMMON(trace), name)); } @@ -1752,7 +1747,7 @@ void append_env_metadata(struct bt_ctf_trace *trace, g_string_append(context->string, "env {\n"); for (i = 0; i < env_size; i++) { - struct bt_value *env_field_value_obj = NULL; + struct bt_ctf_private_value *env_field_value_obj = NULL; const char *entry_name; entry_name = bt_ctf_attributes_get_field_name( @@ -1763,29 +1758,28 @@ void append_env_metadata(struct bt_ctf_trace *trace, BT_ASSERT(entry_name); BT_ASSERT(env_field_value_obj); - switch (bt_value_get_type(env_field_value_obj)) { - case BT_VALUE_TYPE_INTEGER: + switch (bt_ctf_value_get_type( + bt_ctf_private_value_as_value(env_field_value_obj))) { + case BT_CTF_VALUE_TYPE_INTEGER: { - int ret; int64_t int_value; - ret = bt_value_integer_get(env_field_value_obj, - &int_value); - BT_ASSERT(ret == 0); + int_value = bt_ctf_value_integer_get( + bt_ctf_private_value_as_value( + env_field_value_obj)); g_string_append_printf(context->string, "\t%s = %" PRId64 ";\n", entry_name, int_value); break; } - case BT_VALUE_TYPE_STRING: + case BT_CTF_VALUE_TYPE_STRING: { - int ret; const char *str_value; char *escaped_str = NULL; - ret = bt_value_string_get(env_field_value_obj, - &str_value); - BT_ASSERT(ret == 0); + str_value = bt_ctf_value_string_get( + bt_ctf_private_value_as_value( + env_field_value_obj)); escaped_str = g_strescape(str_value, NULL); if (!escaped_str) { BT_LOGE("Cannot escape string: string=\"%s\"", @@ -1872,7 +1866,7 @@ int bt_ctf_trace_set_native_byte_order(struct bt_ctf_trace *trace, struct bt_ctf_field_type *bt_ctf_trace_get_packet_header_field_type( struct bt_ctf_trace *trace) { - return bt_get(bt_ctf_trace_common_borrow_packet_header_field_type( + return bt_ctf_object_get_ref(bt_ctf_trace_common_borrow_packet_header_field_type( BT_CTF_TO_COMMON(trace))); }