lib: introduce bt_message_iterator_class
[babeltrace.git] / src / lib / graph / component-class.h
index bded3328a3981eb0e0a0f85ac822de128d2f2cbf..2b4b9454f4cd9eb1ca64a03f8db86ee8596d935e 100644 (file)
@@ -35,6 +35,7 @@
 #include "lib/object.h"
 #include "common/list.h"
 #include <babeltrace2/types.h>
+#include <stdbool.h>
 #include <glib.h>
 
 struct bt_component_class;
@@ -54,6 +55,7 @@ struct bt_component_class {
        GString *name;
        GString *description;
        GString *help;
+       GString *plugin_name;
 
        /* Array of struct bt_component_class_destroy_listener */
        GArray *destroy_listeners;
@@ -65,24 +67,20 @@ struct bt_component_class {
 struct bt_component_class_source {
        struct bt_component_class parent;
        struct {
-               bt_component_class_source_init_method init;
+               bt_component_class_source_get_supported_mip_versions_method get_supported_mip_versions;
+               bt_component_class_source_initialize_method init;
                bt_component_class_source_finalize_method finalize;
-               bt_component_class_source_message_iterator_init_method msg_iter_init;
-               bt_component_class_source_message_iterator_finalize_method msg_iter_finalize;
-               bt_component_class_source_message_iterator_next_method msg_iter_next;
-               bt_component_class_source_message_iterator_seek_ns_from_origin_method msg_iter_seek_ns_from_origin;
-               bt_component_class_source_message_iterator_seek_beginning_method msg_iter_seek_beginning;
-               bt_component_class_source_message_iterator_can_seek_ns_from_origin_method msg_iter_can_seek_ns_from_origin;
-               bt_component_class_source_message_iterator_can_seek_beginning_method msg_iter_can_seek_beginning;
                bt_component_class_source_query_method query;
                bt_component_class_source_output_port_connected_method output_port_connected;
        } methods;
+       bt_message_iterator_class *msg_iter_cls;
 };
 
 struct bt_component_class_sink {
        struct bt_component_class parent;
        struct {
-               bt_component_class_sink_init_method init;
+               bt_component_class_sink_get_supported_mip_versions_method get_supported_mip_versions;
+               bt_component_class_sink_initialize_method init;
                bt_component_class_sink_finalize_method finalize;
                bt_component_class_sink_query_method query;
                bt_component_class_sink_input_port_connected_method input_port_connected;
@@ -94,19 +92,14 @@ struct bt_component_class_sink {
 struct bt_component_class_filter {
        struct bt_component_class parent;
        struct {
-               bt_component_class_filter_init_method init;
+               bt_component_class_filter_get_supported_mip_versions_method get_supported_mip_versions;
+               bt_component_class_filter_initialize_method init;
                bt_component_class_filter_finalize_method finalize;
-               bt_component_class_filter_message_iterator_init_method msg_iter_init;
-               bt_component_class_filter_message_iterator_finalize_method msg_iter_finalize;
-               bt_component_class_filter_message_iterator_next_method msg_iter_next;
-               bt_component_class_filter_message_iterator_seek_ns_from_origin_method msg_iter_seek_ns_from_origin;
-               bt_component_class_filter_message_iterator_seek_beginning_method msg_iter_seek_beginning;
-               bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method msg_iter_can_seek_ns_from_origin;
-               bt_component_class_filter_message_iterator_can_seek_beginning_method msg_iter_can_seek_beginning;
                bt_component_class_filter_query_method query;
                bt_component_class_filter_input_port_connected_method input_port_connected;
                bt_component_class_filter_output_port_connected_method output_port_connected;
        } methods;
+       bt_message_iterator_class *msg_iter_cls;
 };
 
 BT_HIDDEN
@@ -128,11 +121,11 @@ const char *bt_component_class_type_string(enum bt_component_class_type type)
 {
        switch (type) {
        case BT_COMPONENT_CLASS_TYPE_SOURCE:
-               return "BT_COMPONENT_CLASS_TYPE_SOURCE";
+               return "SOURCE";
        case BT_COMPONENT_CLASS_TYPE_SINK:
-               return "BT_COMPONENT_CLASS_TYPE_SINK";
+               return "SINK";
        case BT_COMPONENT_CLASS_TYPE_FILTER:
-               return "BT_COMPONENT_CLASS_TYPE_FILTER";
+               return "FILTER";
        default:
                return "(unknown)";
        }
This page took 0.024772 seconds and 4 git commands to generate.