X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Ftext%2Fpretty%2Fpretty.c;h=d7346de1ed92bd202dbd37a34c9ffa8ee39d3e0c;hb=7cdc2bab17acd56d035b204518ef845fa5a9f1c7;hp=cea5fe688f080511e9b5c63903f020864380f86c;hpb=b9d103befd837c4411112257c2619ef8d68225dd;p=babeltrace.git diff --git a/plugins/text/pretty/pretty.c b/plugins/text/pretty/pretty.c index cea5fe68..d7346de1 100644 --- a/plugins/text/pretty/pretty.c +++ b/plugins/text/pretty/pretty.c @@ -130,8 +130,20 @@ enum bt_component_status handle_notification(struct pretty_component *pretty, assert(pretty); - if (bt_notification_get_type(notification) == BT_NOTIFICATION_TYPE_EVENT) { + switch (bt_notification_get_type(notification)) { + case BT_NOTIFICATION_TYPE_EVENT: ret = pretty_print_event(pretty, notification); + break; + case BT_NOTIFICATION_TYPE_INACTIVITY: + fprintf(stderr, "Inactivity notification\n"); + break; + case BT_NOTIFICATION_TYPE_PACKET_BEGIN: + case BT_NOTIFICATION_TYPE_PACKET_END: + case BT_NOTIFICATION_TYPE_STREAM_BEGIN: + case BT_NOTIFICATION_TYPE_STREAM_END: + break; + default: + fprintf(stderr, "Unhandled notification type\n"); } return ret; @@ -145,6 +157,10 @@ void pretty_port_connected( { struct bt_private_connection *connection; struct pretty_component *pretty; + static const enum bt_notification_type notif_types[] = { + BT_NOTIFICATION_TYPE_EVENT, + BT_NOTIFICATION_TYPE_SENTINEL, + }; pretty = bt_private_component_get_user_data(component); assert(pretty); @@ -152,7 +168,8 @@ void pretty_port_connected( connection = bt_private_port_get_private_connection(self_port); assert(connection); pretty->input_iterator = - bt_private_connection_create_notification_iterator(connection); + bt_private_connection_create_notification_iterator(connection, + notif_types); if (!pretty->input_iterator) { pretty->error = true; @@ -180,9 +197,6 @@ enum bt_component_status pretty_consume(struct bt_private_component *component) it_ret = bt_notification_iterator_next(it); switch (it_ret) { - case BT_NOTIFICATION_ITERATOR_STATUS_ERROR: - ret = BT_COMPONENT_STATUS_ERROR; - goto end; case BT_NOTIFICATION_ITERATOR_STATUS_END: ret = BT_COMPONENT_STATUS_END; BT_PUT(pretty->input_iterator); @@ -230,7 +244,7 @@ end: } static -bool check_param_exists(const char *key, struct bt_value *object, void *data) +bt_bool check_param_exists(const char *key, struct bt_value *object, void *data) { struct pretty_component *pretty = data; struct bt_value *plugin_opt_map = pretty->plugin_opt_map; @@ -239,7 +253,7 @@ bool check_param_exists(const char *key, struct bt_value *object, void *data) fprintf(pretty->err, "[warning] Parameter \"%s\" unknown to \"text.pretty\" sink component\n", key); } - return true; + return BT_TRUE; } static @@ -282,12 +296,13 @@ enum bt_component_status apply_one_bool(const char *key, enum bt_component_status ret = BT_COMPONENT_STATUS_OK; struct bt_value *value = NULL; enum bt_value_status status; + bt_bool bool_val; value = bt_value_map_get(params, key); if (!value) { goto end; } - status = bt_value_bool_get(value, option); + status = bt_value_bool_get(value, &bool_val); switch (status) { case BT_VALUE_STATUS_OK: break; @@ -295,6 +310,7 @@ enum bt_component_status apply_one_bool(const char *key, ret = BT_COMPONENT_STATUS_ERROR; goto end; } + *option = (bool) bool_val; if (found) { *found = true; }