lib: make it mandatory to have seek_X if can_seek_X is defined
[babeltrace.git] / include / babeltrace2 / graph / component-class-source.h
index 8d67bcb8c8c1115518f91039910ed66456794d9c..bdc85180b4759113092489ee8a45900f5d908033 100644 (file)
 extern "C" {
 #endif
 
-typedef bt_component_class_init_method_status
-(*bt_component_class_source_init_method)(
+typedef bt_component_class_get_supported_mip_versions_method_status
+(*bt_component_class_source_get_supported_mip_versions_method)(
+               bt_self_component_class_source *comp_class,
+               const bt_value *params, void *init_method_data,
+               bt_logging_level log_level,
+               bt_integer_range_set_unsigned *supported_versions);
+
+typedef bt_component_class_initialize_method_status
+(*bt_component_class_source_initialize_method)(
                bt_self_component_source *self_component,
+               bt_self_component_source_configuration *config,
                const bt_value *params, void *init_method_data);
 
 typedef void (*bt_component_class_source_finalize_method)(
                bt_self_component_source *self_component);
 
-typedef bt_component_class_message_iterator_init_method_status
-(*bt_component_class_source_message_iterator_init_method)(
+typedef bt_component_class_message_iterator_initialize_method_status
+(*bt_component_class_source_message_iterator_initialize_method)(
                bt_self_message_iterator *message_iterator,
+               bt_self_message_iterator_configuration *config,
                bt_self_component_source *self_component,
                bt_self_component_port_output *port);
 
@@ -70,14 +79,14 @@ typedef bt_component_class_message_iterator_seek_beginning_method_status
 (*bt_component_class_source_message_iterator_seek_beginning_method)(
                bt_self_message_iterator *message_iterator);
 
-typedef bt_bool
+typedef bt_component_class_message_iterator_can_seek_ns_from_origin_method_status
 (*bt_component_class_source_message_iterator_can_seek_ns_from_origin_method)(
                bt_self_message_iterator *message_iterator,
-               int64_t ns_from_origin);
+               int64_t ns_from_origin, bt_bool *can_seek);
 
-typedef bt_bool
+typedef bt_component_class_message_iterator_can_seek_beginning_method_status
 (*bt_component_class_source_message_iterator_can_seek_beginning_method)(
-               bt_self_message_iterator *message_iterator);
+               bt_self_message_iterator *message_iterator, bt_bool *can_seek);
 
 typedef bt_component_class_query_method_status
 (*bt_component_class_source_query_method)(
@@ -105,9 +114,14 @@ bt_component_class_source *bt_component_class_source_create(
                bt_component_class_source_message_iterator_next_method method);
 
 extern bt_component_class_set_method_status
-bt_component_class_source_set_init_method(
+bt_component_class_source_set_get_supported_mip_versions_method(
+               bt_component_class_source *comp_class,
+               bt_component_class_source_get_supported_mip_versions_method method);
+
+extern bt_component_class_set_method_status
+bt_component_class_source_set_initialize_method(
                bt_component_class_source *comp_class,
-               bt_component_class_source_init_method method);
+               bt_component_class_source_initialize_method method);
 
 extern bt_component_class_set_method_status
 bt_component_class_source_set_finalize_method(
@@ -125,9 +139,9 @@ bt_component_class_source_set_query_method(
                bt_component_class_source_query_method method);
 
 extern bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_init_method(
+bt_component_class_source_set_message_iterator_initialize_method(
                bt_component_class_source *comp_class,
-               bt_component_class_source_message_iterator_init_method method);
+               bt_component_class_source_message_iterator_initialize_method method);
 
 extern bt_component_class_set_method_status
 bt_component_class_source_set_message_iterator_finalize_method(
@@ -135,24 +149,16 @@ bt_component_class_source_set_message_iterator_finalize_method(
                bt_component_class_source_message_iterator_finalize_method method);
 
 extern bt_component_class_set_method_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_set_method_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_component_class_set_method_status
-bt_component_class_source_set_message_iterator_can_seek_ns_from_origin_method(
+bt_component_class_source_set_message_iterator_seek_ns_from_origin_methods(
                bt_component_class_source *comp_class,
-               bt_component_class_source_message_iterator_can_seek_ns_from_origin_method method);
+               bt_component_class_source_message_iterator_seek_ns_from_origin_method seek_method,
+               bt_component_class_source_message_iterator_can_seek_ns_from_origin_method can_seek_method);
 
 extern bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_can_seek_beginning_method(
+bt_component_class_source_set_message_iterator_seek_beginning_methods(
                bt_component_class_source *comp_class,
-               bt_component_class_source_message_iterator_can_seek_beginning_method method);
+               bt_component_class_source_message_iterator_seek_beginning_method seek_method,
+               bt_component_class_source_message_iterator_can_seek_beginning_method can_seek_method);
 
 #ifdef __cplusplus
 }
This page took 0.025756 seconds and 4 git commands to generate.