X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Ftext%2Fpretty%2Fpretty.c;h=7c548391ab79e4cecf8d33a0fccd47715b011cf6;hb=3fadfbc0c91f82c46bd36e6e0657ea93570c9db1;hp=d9f1888bc1c1b8ed7000c2402faa6e2fae0ef3a4;hpb=b19ff26f04df428047676dd736bd7cc9473906fe;p=babeltrace.git diff --git a/plugins/text/pretty/pretty.c b/plugins/text/pretty/pretty.c index d9f1888b..7c548391 100644 --- a/plugins/text/pretty/pretty.c +++ b/plugins/text/pretty/pretty.c @@ -23,14 +23,17 @@ * SOFTWARE. */ -#include -#include -#include +#define BT_LOG_TAG "PLUGIN-TEXT-PRETTY-SINK" +#include "logging.h" + +#include +#include +#include #include #include #include #include -#include +#include #include "pretty.h" @@ -62,10 +65,13 @@ const char *plugin_options[] = { "field-callsite", }; +static +const char * const in_port_name = "in"; + static void destroy_pretty_data(struct pretty_component *pretty) { - bt_self_component_port_input_notification_iterator_put_ref(pretty->iterator); + bt_self_component_port_input_message_iterator_put_ref(pretty->iterator); if (pretty->string) { (void) g_string_free(pretty->string, TRUE); @@ -121,28 +127,29 @@ void pretty_finalize(bt_self_component_sink *comp) } static -enum bt_self_component_status handle_notification( +bt_self_component_status handle_message( struct pretty_component *pretty, - const bt_notification *notification) + const bt_message *message) { - enum bt_self_component_status ret = BT_SELF_COMPONENT_STATUS_OK; + bt_self_component_status ret = BT_SELF_COMPONENT_STATUS_OK; BT_ASSERT(pretty); - switch (bt_notification_get_type(notification)) { - case BT_NOTIFICATION_TYPE_PACKET_BEGINNING: - if (pretty_print_packet(pretty, notification)) { + switch (bt_message_get_type(message)) { + case BT_MESSAGE_TYPE_EVENT: + if (pretty_print_event(pretty, message)) { ret = BT_SELF_COMPONENT_STATUS_ERROR; } break; - case BT_NOTIFICATION_TYPE_EVENT: - if (pretty_print_event(pretty, notification)) { + case BT_MESSAGE_TYPE_MESSAGE_ITERATOR_INACTIVITY: + BT_LOGD_STR("Message iterator inactivity message."); + break; + case BT_MESSAGE_TYPE_DISCARDED_EVENTS: + case BT_MESSAGE_TYPE_DISCARDED_PACKETS: + if (pretty_print_discarded_items(pretty, message)) { ret = BT_SELF_COMPONENT_STATUS_ERROR; } break; - case BT_NOTIFICATION_TYPE_INACTIVITY: - fprintf(stderr, "Inactivity notification\n"); - break; default: break; } @@ -151,20 +158,19 @@ enum bt_self_component_status handle_notification( } BT_HIDDEN -enum bt_self_component_status pretty_port_connected( - bt_self_component_sink *comp, - bt_self_component_port_input *self_port, - const bt_port_output *other_port) +bt_self_component_status pretty_graph_is_configured( + bt_self_component_sink *comp) { - enum bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK; + bt_self_component_status status = BT_SELF_COMPONENT_STATUS_OK; struct pretty_component *pretty; pretty = bt_self_component_get_data( bt_self_component_sink_as_self_component(comp)); BT_ASSERT(pretty); BT_ASSERT(!pretty->iterator); - pretty->iterator = bt_self_component_port_input_notification_iterator_create( - self_port); + pretty->iterator = bt_self_component_port_input_message_iterator_create( + bt_self_component_sink_borrow_input_port_by_name(comp, + in_port_name)); if (!pretty->iterator) { status = BT_SELF_COMPONENT_STATUS_NOMEM; } @@ -173,34 +179,34 @@ enum bt_self_component_status pretty_port_connected( } BT_HIDDEN -enum bt_self_component_status pretty_consume( +bt_self_component_status pretty_consume( bt_self_component_sink *comp) { - enum bt_self_component_status ret; - bt_notification_array_const notifs; - bt_self_component_port_input_notification_iterator *it; + bt_self_component_status ret; + bt_message_array_const msgs; + bt_self_component_port_input_message_iterator *it; struct pretty_component *pretty = bt_self_component_get_data( bt_self_component_sink_as_self_component(comp)); - enum bt_notification_iterator_status it_ret; + bt_message_iterator_status it_ret; uint64_t count = 0; uint64_t i = 0; it = pretty->iterator; - it_ret = bt_self_component_port_input_notification_iterator_next(it, - ¬ifs, &count); + it_ret = bt_self_component_port_input_message_iterator_next(it, + &msgs, &count); switch (it_ret) { - case BT_NOTIFICATION_ITERATOR_STATUS_OK: + case BT_MESSAGE_ITERATOR_STATUS_OK: break; - case BT_NOTIFICATION_ITERATOR_STATUS_NOMEM: + case BT_MESSAGE_ITERATOR_STATUS_NOMEM: ret = BT_SELF_COMPONENT_STATUS_NOMEM; goto end; - case BT_NOTIFICATION_ITERATOR_STATUS_AGAIN: + case BT_MESSAGE_ITERATOR_STATUS_AGAIN: ret = BT_SELF_COMPONENT_STATUS_AGAIN; goto end; - case BT_NOTIFICATION_ITERATOR_STATUS_END: + case BT_MESSAGE_ITERATOR_STATUS_END: ret = BT_SELF_COMPONENT_STATUS_END; - BT_SELF_COMPONENT_PORT_INPUT_NOTIFICATION_ITERATOR_PUT_REF_AND_RESET( + BT_SELF_COMPONENT_PORT_INPUT_MESSAGE_ITERATOR_PUT_REF_AND_RESET( pretty->iterator); goto end; default: @@ -208,20 +214,20 @@ enum bt_self_component_status pretty_consume( goto end; } - BT_ASSERT(it_ret == BT_NOTIFICATION_ITERATOR_STATUS_OK); + BT_ASSERT(it_ret == BT_MESSAGE_ITERATOR_STATUS_OK); for (i = 0; i < count; i++) { - ret = handle_notification(pretty, notifs[i]); + ret = handle_message(pretty, msgs[i]); if (ret) { goto end; } - bt_notification_put_ref(notifs[i]); + bt_message_put_ref(msgs[i]); } end: for (; i < count; i++) { - bt_notification_put_ref(notifs[i]); + bt_message_put_ref(msgs[i]); } return ret; @@ -235,7 +241,7 @@ int add_params_to_map(bt_value *plugin_opt_map) for (i = 0; i < BT_ARRAY_SIZE(plugin_options); i++) { const char *key = plugin_options[i]; - enum bt_value_status status; + bt_value_status status; status = bt_value_map_insert_entry(plugin_opt_map, key, bt_value_null); @@ -340,7 +346,7 @@ static int apply_params(struct pretty_component *pretty, const bt_value *params) { int ret = 0; - enum bt_value_status status; + bt_value_status status; bool value, found; char *str = NULL; @@ -636,12 +642,12 @@ void init_stream_packet_context_quarks(void) } BT_HIDDEN -enum bt_self_component_status pretty_init( +bt_self_component_status pretty_init( bt_self_component_sink *comp, const bt_value *params, UNUSED_VAR void *init_method_data) { - enum bt_self_component_status ret; + bt_self_component_status ret; struct pretty_component *pretty = create_pretty(); if (!pretty) { @@ -649,7 +655,8 @@ enum bt_self_component_status pretty_init( goto end; } - ret = bt_self_component_sink_add_input_port(comp, "in", NULL, NULL); + ret = bt_self_component_sink_add_input_port(comp, in_port_name, + NULL, NULL); if (ret != BT_SELF_COMPONENT_STATUS_OK) { goto end; }