lib: add seeking (beginning, ns from origin), with auto-seeking support
[babeltrace.git] / include / babeltrace / graph / component-class-filter.h
index 890cfdfaa57a12a41c649d6445956d9106fc3863..cf001bf8cd9d49d809814c1727fc54e4df2d9bad 100644 (file)
@@ -42,7 +42,8 @@
  * For bt_component_class, bt_component_class_filter, bt_port_input,
  * bt_port_output, bt_query_executor, bt_self_component_class_filter,
  * bt_self_component_filter, bt_self_component_port_input,
- * bt_self_component_port_output, bt_value, bt_message_array_const
+ * bt_self_component_port_output, bt_value, bt_message_array_const,
+ * bt_bool, bt_self_message_iterator
  */
 #include <babeltrace/types.h>
 
@@ -74,6 +75,24 @@ typedef bt_self_message_iterator_status
                bt_message_array_const msgs, uint64_t capacity,
                uint64_t *count);
 
+typedef bt_self_message_iterator_status
+(*bt_component_class_filter_message_iterator_seek_ns_from_origin_method)(
+               bt_self_message_iterator *message_iterator,
+               int64_t ns_from_origin);
+
+typedef bt_self_message_iterator_status
+(*bt_component_class_filter_message_iterator_seek_beginning_method)(
+               bt_self_message_iterator *message_iterator);
+
+typedef bt_bool
+(*bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method)(
+               bt_self_message_iterator *message_iterator,
+               int64_t ns_from_origin);
+
+typedef bt_bool
+(*bt_component_class_filter_message_iterator_can_seek_beginning_method)(
+               bt_self_message_iterator *message_iterator);
+
 typedef bt_query_status
 (*bt_component_class_filter_query_method)(
                bt_self_component_class_filter *comp_class,
@@ -162,6 +181,26 @@ bt_component_class_filter_set_message_iterator_finalize_method(
                bt_component_class_filter *comp_class,
                bt_component_class_filter_message_iterator_finalize_method method);
 
+extern bt_component_class_status
+bt_component_class_filter_set_message_iterator_seek_ns_from_origin_method(
+               bt_component_class_filter *comp_class,
+               bt_component_class_filter_message_iterator_seek_ns_from_origin_method method);
+
+extern bt_component_class_status
+bt_component_class_filter_set_message_iterator_seek_beginning_method(
+               bt_component_class_filter *comp_class,
+               bt_component_class_filter_message_iterator_seek_beginning_method method);
+
+extern bt_bool
+bt_component_class_filter_set_message_iterator_can_seek_ns_from_origin_method(
+               bt_component_class_filter *comp_class,
+               bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method method);
+
+extern bt_bool
+bt_component_class_filter_set_message_iterator_can_seek_beginning_method(
+               bt_component_class_filter *comp_class,
+               bt_component_class_filter_message_iterator_can_seek_beginning_method method);
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.025744 seconds and 4 git commands to generate.