X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Flttng-utils%2Fplugin.c;h=7d24bf5666ddd03b223bf26e14e9ceb267a1c39d;hb=d27a81b29c34b4855f02b31f291d8c885760b3a2;hp=16323137655f1f0c42ab738cc568f2170fcf0de8;hpb=b4d4912ff0147ecc7f4f3b714529337a4a4e4095;p=deliverable%2Fbabeltrace.git diff --git a/plugins/lttng-utils/plugin.c b/plugins/lttng-utils/plugin.c index 163231376..7d24bf566 100644 --- a/plugins/lttng-utils/plugin.c +++ b/plugins/lttng-utils/plugin.c @@ -29,21 +29,9 @@ #define BT_LOG_TAG "PLUGIN-CTF-LTTNG-UTILS-DEBUG-INFO-FLT" #include "logging.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include -#include +#include #include "debug-info.h" #include "copy.h" @@ -66,9 +54,9 @@ void destroy_debug_info_data(struct debug_info_component *debug_info) } static -void destroy_debug_info_component(struct bt_private_component *component) +void destroy_debug_info_component(struct bt_self_component *component) { - void *data = bt_private_component_get_user_data(component); + void *data = bt_self_component_get_user_data(component); destroy_debug_info_data(data); } @@ -90,17 +78,17 @@ end: static void unref_trace(struct debug_info_trace *di_trace) { - bt_put(di_trace->writer_trace); + bt_object_put_ref(di_trace->writer_trace); g_free(di_trace); } static -void debug_info_iterator_destroy(struct bt_private_notification_iterator *it) +void debug_info_iterator_destroy(struct bt_self_notification_iterator *it) { struct debug_info_iterator *it_data; - it_data = bt_private_notification_iterator_get_user_data(it); - assert(it_data); + it_data = bt_self_notification_iterator_get_user_data(it); + BT_ASSERT(it_data); if (it_data->input_iterator_group) { g_ptr_array_free(it_data->input_iterator_group, TRUE); @@ -110,8 +98,8 @@ void debug_info_iterator_destroy(struct bt_private_notification_iterator *it) empty_trace_map, it_data); g_hash_table_destroy(it_data->trace_map); - bt_put(it_data->current_notification); - bt_put(it_data->input_iterator); + bt_object_put_ref(it_data->current_notification); + bt_object_put_ref(it_data->input_iterator); g_free(it_data); } @@ -126,47 +114,47 @@ struct bt_notification *handle_notification(FILE *err, switch (bt_notification_get_type(notification)) { case BT_NOTIFICATION_TYPE_PACKET_BEGIN: { - struct bt_ctf_packet *packet = + struct bt_packet *packet = bt_notification_packet_begin_get_packet(notification); - struct bt_ctf_packet *writer_packet; + struct bt_packet *writer_packet; if (!packet) { goto end; } writer_packet = debug_info_new_packet(debug_it, packet); - assert(writer_packet); + BT_ASSERT(writer_packet); new_notification = bt_notification_packet_begin_create( writer_packet); - assert(new_notification); - bt_put(packet); - bt_put(writer_packet); + BT_ASSERT(new_notification); + bt_object_put_ref(packet); + bt_object_put_ref(writer_packet); break; } case BT_NOTIFICATION_TYPE_PACKET_END: { - struct bt_ctf_packet *packet = + struct bt_packet *packet = bt_notification_packet_end_get_packet(notification); - struct bt_ctf_packet *writer_packet; + struct bt_packet *writer_packet; if (!packet) { goto end; } writer_packet = debug_info_close_packet(debug_it, packet); - assert(writer_packet); + BT_ASSERT(writer_packet); new_notification = bt_notification_packet_end_create( writer_packet); - assert(new_notification); - bt_put(packet); - bt_put(writer_packet); + BT_ASSERT(new_notification); + bt_object_put_ref(packet); + bt_object_put_ref(writer_packet); break; } case BT_NOTIFICATION_TYPE_EVENT: { - struct bt_ctf_event *event = bt_notification_event_get_event( + struct bt_event *event = bt_notification_event_get_event( notification); - struct bt_ctf_event *writer_event; + struct bt_event *writer_event; struct bt_clock_class_priority_map *cc_prio_map = bt_notification_event_get_clock_class_priority_map( notification); @@ -175,55 +163,55 @@ struct bt_notification *handle_notification(FILE *err, goto end; } writer_event = debug_info_output_event(debug_it, event); - assert(writer_event); + BT_ASSERT(writer_event); new_notification = bt_notification_event_create(writer_event, cc_prio_map); - bt_put(cc_prio_map); - assert(new_notification); - bt_put(event); - bt_put(writer_event); + bt_object_put_ref(cc_prio_map); + BT_ASSERT(new_notification); + bt_object_put_ref(event); + bt_object_put_ref(writer_event); break; } case BT_NOTIFICATION_TYPE_STREAM_BEGIN: { - struct bt_ctf_stream *stream = + struct bt_stream *stream = bt_notification_stream_begin_get_stream(notification); - struct bt_ctf_stream *writer_stream; + struct bt_stream *writer_stream; if (!stream) { goto end; } writer_stream = debug_info_stream_begin(debug_it, stream); - assert(writer_stream); + BT_ASSERT(writer_stream); new_notification = bt_notification_stream_begin_create( writer_stream); - assert(new_notification); - bt_put(stream); - bt_put(writer_stream); + BT_ASSERT(new_notification); + bt_object_put_ref(stream); + bt_object_put_ref(writer_stream); break; } case BT_NOTIFICATION_TYPE_STREAM_END: { - struct bt_ctf_stream *stream = + struct bt_stream *stream = bt_notification_stream_end_get_stream(notification); - struct bt_ctf_stream *writer_stream; + struct bt_stream *writer_stream; if (!stream) { goto end; } writer_stream = debug_info_stream_end(debug_it, stream); - assert(writer_stream); + BT_ASSERT(writer_stream); new_notification = bt_notification_stream_end_create( writer_stream); - assert(new_notification); - bt_put(stream); - bt_put(writer_stream); + BT_ASSERT(new_notification); + bt_object_put_ref(stream); + bt_object_put_ref(writer_stream); break; } default: - new_notification = bt_get(notification); + new_notification = bt_object_get_ref(notification); break; } @@ -232,26 +220,26 @@ end: } static -struct bt_notification_iterator_next_return debug_info_iterator_next( - struct bt_private_notification_iterator *iterator) +struct bt_notification_iterator_next_method_return debug_info_iterator_next( + struct bt_self_notification_iterator *iterator) { struct debug_info_iterator *debug_it = NULL; - struct bt_private_component *component = NULL; + struct bt_self_component *component = NULL; struct debug_info_component *debug_info = NULL; struct bt_notification_iterator *source_it = NULL; struct bt_notification *notification; - struct bt_notification_iterator_next_return ret = { + struct bt_notification_iterator_next_method_return ret = { .status = BT_NOTIFICATION_ITERATOR_STATUS_OK, .notification = NULL, }; - debug_it = bt_private_notification_iterator_get_user_data(iterator); - assert(debug_it); + debug_it = bt_self_notification_iterator_get_user_data(iterator); + BT_ASSERT(debug_it); - component = bt_private_notification_iterator_get_private_component(iterator); - assert(component); - debug_info = bt_private_component_get_user_data(component); - assert(debug_info); + component = bt_self_notification_iterator_get_private_component(iterator); + BT_ASSERT(component); + debug_info = bt_self_component_get_user_data(component); + BT_ASSERT(debug_info); source_it = debug_it->input_iterator; @@ -269,17 +257,17 @@ struct bt_notification_iterator_next_return debug_info_iterator_next( ret.notification = handle_notification(debug_info->err, debug_it, notification); - assert(ret.notification); - bt_put(notification); + BT_ASSERT(ret.notification); + bt_object_put_ref(notification); end: - bt_put(component); + bt_object_put_ref(component); return ret; } static enum bt_notification_iterator_status debug_info_iterator_init( - struct bt_private_notification_iterator *iterator, + struct bt_self_notification_iterator *iterator, struct bt_private_port *port) { enum bt_notification_iterator_status ret = @@ -287,8 +275,8 @@ enum bt_notification_iterator_status debug_info_iterator_init( enum bt_notification_iterator_status it_ret; enum bt_connection_status conn_status; struct bt_private_connection *connection = NULL; - struct bt_private_component *component = - bt_private_notification_iterator_get_private_component(iterator); + struct bt_self_component *component = + bt_self_notification_iterator_get_private_component(iterator); struct debug_info_iterator *it_data = g_new0(struct debug_info_iterator, 1); struct bt_private_port *input_port; @@ -297,41 +285,41 @@ enum bt_notification_iterator_status debug_info_iterator_init( goto end; } - input_port = bt_private_component_filter_get_input_private_port_by_name( + input_port = bt_self_component_filter_get_input_port_by_name( component, "in"); if (!input_port) { ret = BT_NOTIFICATION_ITERATOR_STATUS_ERROR; goto end; } - connection = bt_private_port_get_private_connection(input_port); - bt_put(input_port); + connection = bt_private_port_get_connection(input_port); + bt_object_put_ref(input_port); if (!connection) { ret = BT_NOTIFICATION_ITERATOR_STATUS_ERROR; goto end; } conn_status = bt_private_connection_create_notification_iterator( - connection, NULL, &it_data->input_iterator); + connection, &it_data->input_iterator); if (conn_status != BT_CONNECTION_STATUS_OK) { ret = BT_NOTIFICATION_ITERATOR_STATUS_ERROR; goto end; } it_data->debug_info_component = (struct debug_info_component *) - bt_private_component_get_user_data(component); + bt_self_component_get_user_data(component); it_data->err = it_data->debug_info_component->err; it_data->trace_map = g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (GDestroyNotify) unref_trace); - it_ret = bt_private_notification_iterator_set_user_data(iterator, it_data); + it_ret = bt_self_notification_iterator_set_user_data(iterator, it_data); if (it_ret) { goto end; } end: - bt_put(connection); - bt_put(component); + bt_object_put_ref(connection); + bt_object_put_ref(component); return ret; } @@ -343,27 +331,23 @@ enum bt_component_status init_from_params( struct bt_value *value = NULL; enum bt_component_status ret = BT_COMPONENT_STATUS_OK; - assert(params); + BT_ASSERT(params); value = bt_value_map_get(params, "debug-info-field-name"); if (value) { enum bt_value_status value_ret; const char *tmp; - value_ret = bt_value_string_get(value, &tmp); - if (value_ret) { - ret = BT_COMPONENT_STATUS_INVALID; - BT_LOGE_STR("Failed to retrieve debug-info-field-name value. " - "Expecting a string."); - } + tmp = bt_value_string_get(value); strcpy(debug_info_component->arg_debug_info_field_name, tmp); - bt_put(value); + bt_object_put_ref(value); } else { debug_info_component->arg_debug_info_field_name = malloc(strlen("debug_info") + 1); if (!debug_info_component->arg_debug_info_field_name) { ret = BT_COMPONENT_STATUS_NOMEM; BT_LOGE_STR("Missing field name."); + goto end; } sprintf(debug_info_component->arg_debug_info_field_name, "debug_info"); @@ -372,19 +356,13 @@ enum bt_component_status init_from_params( goto end; } - value = bt_value_map_get(params, "debug-dir"); + value = bt_value_map_get(params, "debug-info-dir"); if (value) { enum bt_value_status value_ret; - value_ret = bt_value_string_get(value, - &debug_info_component->arg_debug_dir); - if (value_ret) { - ret = BT_COMPONENT_STATUS_INVALID; - BT_LOGE_STR("Failed to retrieve debug-dir value. " - "Expecting a string."); - } + debug_info_component->arg_debug_dir = bt_value_string_get(value); } - bt_put(value); + bt_object_put_ref(value); if (ret != BT_COMPONENT_STATUS_OK) { goto end; } @@ -393,15 +371,9 @@ enum bt_component_status init_from_params( if (value) { enum bt_value_status value_ret; - value_ret = bt_value_string_get(value, - &debug_info_component->arg_target_prefix); - if (value_ret) { - ret = BT_COMPONENT_STATUS_INVALID; - BT_LOGE_STR("Failed to retrieve target-prefix value. " - "Expecting a string."); - } + debug_info_component->arg_target_prefix = bt_value_string_get(value); } - bt_put(value); + bt_object_put_ref(value); if (ret != BT_COMPONENT_STATUS_OK) { goto end; } @@ -411,17 +383,11 @@ enum bt_component_status init_from_params( enum bt_value_status value_ret; bt_bool bool_val; - value_ret = bt_value_bool_get(value, - &bool_val); - if (value_ret) { - ret = BT_COMPONENT_STATUS_INVALID; - BT_LOGE_STR("Failed to retrieve full-path value. " - "Expecting a boolean."); - } + bool_val = bt_value_bool_get(value); debug_info_component->arg_full_path = bool_val; } - bt_put(value); + bt_object_put_ref(value); if (ret != BT_COMPONENT_STATUS_OK) { goto end; } @@ -431,7 +397,7 @@ end: } enum bt_component_status debug_info_component_init( - struct bt_private_component *component, struct bt_value *params, + struct bt_self_component *component, struct bt_value *params, UNUSED_VAR void *init_method_data) { enum bt_component_status ret; @@ -442,18 +408,18 @@ enum bt_component_status debug_info_component_init( goto end; } - ret = bt_private_component_set_user_data(component, debug_info); + ret = bt_self_component_set_user_data(component, debug_info); if (ret != BT_COMPONENT_STATUS_OK) { goto error; } - ret = bt_private_component_filter_add_input_private_port( + ret = bt_self_component_filter_add_input_port( component, "in", NULL, NULL); if (ret != BT_COMPONENT_STATUS_OK) { goto end; } - ret = bt_private_component_filter_add_output_private_port( + ret = bt_self_component_filter_add_output_port( component, "out", NULL, NULL); if (ret != BT_COMPONENT_STATUS_OK) { goto end;