lib: add seeking (beginning, ns from origin), with auto-seeking support
[babeltrace.git] / include / babeltrace / graph / component-class-source.h
index 845a341eaede1d0336742859be55f5e5daf45a4d..8697faaa9dfcd985e9af454e983786369e6639cf 100644 (file)
@@ -42,7 +42,7 @@
  * For bt_component_class, bt_component_class_source, bt_port_input,
  * bt_query_executor, bt_self_component_class_source,
  * bt_self_component_source, bt_self_component_port_output, bt_value,
- * bt_message_array_const
+ * bt_message_array_const, bt_bool, bt_self_message_iterator
  */
 #include <babeltrace/types.h>
 
@@ -74,6 +74,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_source_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_source_message_iterator_seek_beginning_method)(
+               bt_self_message_iterator *message_iterator);
+
+typedef bt_bool
+(*bt_component_class_source_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_source_message_iterator_can_seek_beginning_method)(
+               bt_self_message_iterator *message_iterator);
+
 typedef bt_query_status (*bt_component_class_source_query_method)(
                bt_self_component_class_source *comp_class,
                const bt_query_executor *query_executor,
@@ -139,6 +157,26 @@ bt_component_class_source_set_message_iterator_finalize_method(
                bt_component_class_source *comp_class,
                bt_component_class_source_message_iterator_finalize_method method);
 
+extern bt_component_class_status
+bt_component_class_source_set_message_iterator_seek_ns_from_origin_method(
+               bt_component_class_source *comp_class,
+               bt_component_class_source_message_iterator_seek_ns_from_origin_method method);
+
+extern bt_component_class_status
+bt_component_class_source_set_message_iterator_seek_beginning_method(
+               bt_component_class_source *comp_class,
+               bt_component_class_source_message_iterator_seek_beginning_method method);
+
+extern bt_bool
+bt_component_class_source_set_message_iterator_can_seek_ns_from_origin_method(
+               bt_component_class_source *comp_class,
+               bt_component_class_source_message_iterator_can_seek_ns_from_origin_method method);
+
+extern bt_bool
+bt_component_class_source_set_message_iterator_can_seek_beginning_method(
+               bt_component_class_source *comp_class,
+               bt_component_class_source_message_iterator_can_seek_beginning_method method);
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.025851 seconds and 4 git commands to generate.