lib: make it mandatory to have seek_X if can_seek_X is defined
[babeltrace.git] / src / lib / graph / message / iterator.h
index 8014d1fad536c27d8fbd97772a7c014035f17e43..52a1c046530c3e018d23a44a5dae88c90b78f33e 100644 (file)
@@ -85,6 +85,11 @@ typedef enum bt_component_class_message_iterator_can_seek_beginning_method_statu
 (*bt_self_component_port_input_message_iterator_can_seek_beginning_method)(
                void *, bt_bool *);
 
+struct bt_self_message_iterator_configuration {
+       bool frozen;
+       bool can_seek_forward;
+};
+
 struct bt_self_component_port_input_message_iterator {
        struct bt_object base;
        GPtrArray *msgs;
@@ -92,6 +97,7 @@ struct bt_self_component_port_input_message_iterator {
        struct bt_port *upstream_port; /* Weak */
        struct bt_connection *connection; /* Weak */
        struct bt_graph *graph; /* Weak */
+       struct bt_self_message_iterator_configuration config;
 
        /*
         * Array of
@@ -116,9 +122,13 @@ struct bt_self_component_port_input_message_iterator {
 
        struct {
                bt_self_component_port_input_message_iterator_next_method next;
+
+               /* These two are always both set or both unset. */
                bt_self_component_port_input_message_iterator_seek_ns_from_origin_method seek_ns_from_origin;
-               bt_self_component_port_input_message_iterator_seek_beginning_method seek_beginning;
                bt_self_component_port_input_message_iterator_can_seek_ns_from_origin_method can_seek_ns_from_origin;
+
+               /* These two are always both set or both unset. */
+               bt_self_component_port_input_message_iterator_seek_beginning_method seek_beginning;
                bt_self_component_port_input_message_iterator_can_seek_beginning_method can_seek_beginning;
        } methods;
 
This page took 0.024664 seconds and 4 git commands to generate.