Move enum bt_component_type to component.h
[babeltrace.git] / plugins / text / text.c
index f5a62c63aeaa69ea82fb8758d7548f92e40c9589..370fb2d3478fdb9892e57d916314893a6a714be4 100644 (file)
  * SOFTWARE.
  */
 
-#include <babeltrace/plugin/plugin-macros.h>
-#include <babeltrace/plugin/component.h>
-#include <babeltrace/plugin/sink.h>
-#include <babeltrace/plugin/notification/notification.h>
-#include <babeltrace/plugin/notification/iterator.h>
-#include <babeltrace/plugin/notification/event.h>
+#include <babeltrace/plugin/plugin-dev.h>
+#include <babeltrace/component/component.h>
+#include <babeltrace/component/sink.h>
+#include <babeltrace/component/notification/notification.h>
+#include <babeltrace/component/notification/iterator.h>
+#include <babeltrace/component/notification/event.h>
 #include <babeltrace/values.h>
 #include <babeltrace/compiler.h>
 #include <stdio.h>
@@ -40,8 +40,6 @@
 #include <glib.h>
 #include "text.h"
 
-#define PLUGIN_NAME    "text"
-
 static
 const char *plugin_options[] = {
        "output-path",
@@ -119,7 +117,7 @@ enum bt_component_status handle_notification(struct text_component *text,
        }
 
        switch (bt_notification_get_type(notification)) {
-       case BT_NOTIFICATION_TYPE_PACKET_START:
+       case BT_NOTIFICATION_TYPE_PACKET_BEGIN:
                puts("<packet>");
                break;
        case BT_NOTIFICATION_TYPE_PACKET_END:
@@ -164,15 +162,21 @@ enum bt_component_status run(struct bt_component *component)
                goto end;
        }
 
-       if (!text->processed_first_event) {
-               ret = bt_notification_iterator_next(it);
-               if (ret != BT_COMPONENT_STATUS_OK) {
+       if (likely(text->processed_first_event)) {
+               enum bt_notification_iterator_status it_ret;
+
+               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;
                        goto end;
+               default:
+                       break;
                }
-       } else {
-               text->processed_first_event = true;
        }
-
        notification = bt_notification_iterator_get_notification(it);
        if (!notification) {
                ret = BT_COMPONENT_STATUS_ERROR;
@@ -180,6 +184,7 @@ enum bt_component_status run(struct bt_component *component)
        }
 
        ret = handle_notification(text, notification);
+       text->processed_first_event = true;
 end:
        bt_put(it);
        bt_put(notification);
@@ -217,8 +222,7 @@ bool check_param_exists(const char *key, struct bt_value *object, void *data)
 
        if (!bt_value_map_get(plugin_opt_map, key)) {
                fprintf(text->err,
-                       "[warning] Parameter \"%s\" unknown to \"%s\" plugin\n",
-                       key, PLUGIN_NAME);
+                       "[warning] Parameter \"%s\" unknown to \"text\" plugin\n", key);
        }
        return true;
 }
@@ -613,6 +617,12 @@ enum bt_component_status text_component_init(
        text->out = stdout;
        text->err = stderr;
 
+       text->delta_cycles = -1ULL;
+       text->last_cycles_timestamp = -1ULL;
+
+       text->delta_real_timestamp = -1ULL;
+       text->last_real_timestamp = -1ULL;
+
        ret = apply_params(text, params);
        if (ret != BT_COMPONENT_STATUS_OK) {
                goto error;
@@ -642,13 +652,11 @@ error:
 }
 
 /* Initialize plug-in entry points. */
-BT_PLUGIN_NAME("text");
+BT_PLUGIN(text);
 BT_PLUGIN_DESCRIPTION("Babeltrace text output plug-in.");
 BT_PLUGIN_AUTHOR("Jérémie Galarneau");
 BT_PLUGIN_LICENSE("MIT");
-
-BT_PLUGIN_COMPONENT_CLASSES_BEGIN
-BT_PLUGIN_SINK_COMPONENT_CLASS_ENTRY(PLUGIN_NAME,
-               "Formats CTF-IR to text. Formerly known as ctf-text.",
-               text_component_init)
-BT_PLUGIN_COMPONENT_CLASSES_END
+BT_PLUGIN_COMPONENT_CLASS(BT_COMPONENT_TYPE_SINK, text,
+               text_component_init);
+BT_PLUGIN_COMPONENT_CLASS_DESCRIPTION(BT_COMPONENT_TYPE_SINK, text,
+       "Formats CTF-IR to text. Formerly known as ctf-text.");
This page took 0.026009 seconds and 4 git commands to generate.