lib: make it mandatory to have seek_X if can_seek_X is defined
[babeltrace.git] / src / lib / graph / component-class.c
index 5ede96f08a730bb532e97dbe4bb57a971d2a5f6b..9bbf4172e751845d0c1afc2b32fe11457249fef4 100644 (file)
@@ -262,9 +262,51 @@ end:
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_source_set_init_method(
+bt_component_class_source_set_get_supported_mip_versions_method(
                struct bt_component_class_source *comp_cls,
-               bt_component_class_source_init_method method)
+               bt_component_class_source_get_supported_mip_versions_method method)
+{
+       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
+       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
+       comp_cls->methods.get_supported_mip_versions = method;
+       BT_LIB_LOGD("Set source component class's \"get supported MIP versions\" method: "
+               "%!+C", comp_cls);
+       return BT_FUNC_STATUS_OK;
+}
+
+enum bt_component_class_set_method_status
+bt_component_class_filter_set_get_supported_mip_versions_method(
+               struct bt_component_class_filter *comp_cls,
+               bt_component_class_filter_get_supported_mip_versions_method method)
+{
+       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
+       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
+       comp_cls->methods.get_supported_mip_versions = method;
+       BT_LIB_LOGD("Set filter component class's \"get supported MIP versions\" method: "
+               "%!+C", comp_cls);
+       return BT_FUNC_STATUS_OK;
+}
+
+enum bt_component_class_set_method_status
+bt_component_class_sink_set_get_supported_mip_versions_method(
+               struct bt_component_class_sink *comp_cls,
+               bt_component_class_sink_get_supported_mip_versions_method method)
+{
+       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
+       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
+       comp_cls->methods.get_supported_mip_versions = method;
+       BT_LIB_LOGD("Set sink component class's \"get supported MIP versions\" method: "
+               "%!+C", comp_cls);
+       return BT_FUNC_STATUS_OK;
+}
+
+enum bt_component_class_set_method_status
+bt_component_class_source_set_initialize_method(
+               struct bt_component_class_source *comp_cls,
+               bt_component_class_source_initialize_method method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
@@ -276,9 +318,9 @@ bt_component_class_source_set_init_method(
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_filter_set_init_method(
+bt_component_class_filter_set_initialize_method(
                struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_init_method method)
+               bt_component_class_filter_initialize_method method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
@@ -290,9 +332,9 @@ bt_component_class_filter_set_init_method(
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_sink_set_init_method(
+bt_component_class_sink_set_initialize_method(
                struct bt_component_class_sink *comp_cls,
-               bt_component_class_sink_init_method method)
+               bt_component_class_sink_initialize_method method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
@@ -458,28 +500,28 @@ bt_component_class_sink_set_graph_is_configured_method(
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_init_method(
+bt_component_class_source_set_message_iterator_initialize_method(
                struct bt_component_class_source *comp_cls,
-               bt_component_class_source_message_iterator_init_method method)
+               bt_component_class_source_message_iterator_initialize_method method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_init = method;
+       comp_cls->methods.msg_iter_initialize = method;
        BT_LIB_LOGD("Set source component class's message iterator initialization method"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_filter_set_message_iterator_init_method(
+bt_component_class_filter_set_message_iterator_initialize_method(
                struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_message_iterator_init_method method)
+               bt_component_class_filter_message_iterator_initialize_method method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
        BT_ASSERT_PRE_NON_NULL(method, "Method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_init = method;
+       comp_cls->methods.msg_iter_initialize = method;
        BT_LIB_LOGD("Set filter component class's message iterator initialization method"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
@@ -514,113 +556,65 @@ bt_component_class_filter_set_message_iterator_finalize_method(
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_filter_set_message_iterator_seek_ns_from_origin_method(
+bt_component_class_filter_set_message_iterator_seek_ns_from_origin_methods(
                struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_message_iterator_seek_ns_from_origin_method method)
+               bt_component_class_filter_message_iterator_seek_ns_from_origin_method seek_method,
+               bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method can_seek_method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_NON_NULL(seek_method, "Seek method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_seek_ns_from_origin = method;
+       comp_cls->methods.msg_iter_seek_ns_from_origin = seek_method;
+       comp_cls->methods.msg_iter_can_seek_ns_from_origin = can_seek_method;
        BT_LIB_LOGD("Set filter component class's message iterator \"seek nanoseconds from origin\" method"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_seek_ns_from_origin_method(
-               struct bt_component_class_source *comp_cls,
-               bt_component_class_source_message_iterator_seek_ns_from_origin_method method)
-{
-       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
-       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_seek_ns_from_origin = method;
-       BT_LIB_LOGD("Set source component class's message iterator \"seek nanoseconds from origin\" method"
-               ": %!+C", comp_cls);
-       return BT_FUNC_STATUS_OK;
-}
-
-enum bt_component_class_set_method_status
-bt_component_class_filter_set_message_iterator_seek_beginning_method(
-               struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_message_iterator_seek_beginning_method method)
-{
-       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
-       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_seek_beginning = method;
-       BT_LIB_LOGD("Set filter component class's message iterator \"seek beginning\" method"
-               ": %!+C", comp_cls);
-       return BT_FUNC_STATUS_OK;
-}
-
-enum bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_seek_beginning_method(
+bt_component_class_source_set_message_iterator_seek_ns_from_origin_methods(
                struct bt_component_class_source *comp_cls,
-               bt_component_class_source_message_iterator_seek_beginning_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)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_NON_NULL(seek_method, "Seek method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_seek_beginning = method;
-       BT_LIB_LOGD("Set source component class's message iterator \"seek beginning\" method"
+       comp_cls->methods.msg_iter_seek_ns_from_origin = seek_method;
+       comp_cls->methods.msg_iter_can_seek_ns_from_origin = can_seek_method;
+       BT_LIB_LOGD("Set source component class's message iterator \"seek nanoseconds from origin\" methods"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
 }
 
 enum bt_component_class_set_method_status
-bt_component_class_filter_set_message_iterator_can_seek_beginning_method(
+bt_component_class_filter_set_message_iterator_seek_beginning_methods(
                struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_message_iterator_can_seek_beginning_method method)
+               bt_component_class_filter_message_iterator_seek_beginning_method seek_method,
+               bt_component_class_filter_message_iterator_can_seek_beginning_method can_seek_method)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_NON_NULL(seek_method, "Seek method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_can_seek_beginning = method;
-       BT_LIB_LOGD("Set filter component class's message iterator \"can seek beginning\" method"
+       comp_cls->methods.msg_iter_seek_beginning = seek_method;
+       comp_cls->methods.msg_iter_can_seek_beginning = can_seek_method;
+       BT_LIB_LOGD("Set filter component class's message iterator \"seek beginning\" methods"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
 }
 
 enum 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(
                struct bt_component_class_source *comp_cls,
-               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)
 {
        BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
-       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_can_seek_beginning = method;
-       BT_LIB_LOGD("Set source component class's message iterator \"can seek beginning\" method"
-               ": %!+C", comp_cls);
-       return BT_FUNC_STATUS_OK;
-}
-
-enum bt_component_class_set_method_status
-bt_component_class_filter_set_message_iterator_can_seek_ns_from_origin_method(
-               struct bt_component_class_filter *comp_cls,
-               bt_component_class_filter_message_iterator_can_seek_ns_from_origin_method method)
-{
-       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
-       BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_can_seek_ns_from_origin = method;
-       BT_LIB_LOGD("Set filter component class's message iterator \"can seek nanoseconds from origin\" method"
-               ": %!+C", comp_cls);
-       return BT_FUNC_STATUS_OK;
-}
-
-enum bt_component_class_set_method_status
-bt_component_class_source_set_message_iterator_can_seek_ns_from_origin_method(
-               struct bt_component_class_source *comp_cls,
-               bt_component_class_source_message_iterator_can_seek_ns_from_origin_method method)
-{
-       BT_ASSERT_PRE_NON_NULL(comp_cls, "Component class");
-       BT_ASSERT_PRE_NON_NULL(method, "Method");
+       BT_ASSERT_PRE_NON_NULL(seek_method, "Seek method");
        BT_ASSERT_PRE_DEV_COMP_CLS_HOT(comp_cls);
-       comp_cls->methods.msg_iter_can_seek_ns_from_origin = method;
-       BT_LIB_LOGD("Set source component class's message iterator \"can seek nanoseconds from origin\" method"
+       comp_cls->methods.msg_iter_seek_beginning = seek_method;
+       comp_cls->methods.msg_iter_can_seek_beginning = can_seek_method;
+       BT_LIB_LOGD("Set source component class's message iterator \"seek beginning\" methods"
                ": %!+C", comp_cls);
        return BT_FUNC_STATUS_OK;
 }
This page took 0.027505 seconds and 4 git commands to generate.