Fix: macro name for "get supported mip versions method" attribute descriptor
[babeltrace.git] / tests / lib / test-plugin-plugins / sfs.c
index d8794832c69a23112982cfec4c58aedcb9c35cac..6fbd76dc3ec589b2199383ca736df1945996c441 100644 (file)
@@ -1,70 +1,82 @@
 /*
- * Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
+ * SPDX-License-Identifier: GPL-2.0-only
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; under version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * Copyright (C) 2017 Philippe Proulx <pproulx@efficios.com>
  */
 
-#include <babeltrace/plugin/plugin-dev.h>
-#include <babeltrace/graph/component-class.h>
-#include <babeltrace/values.h>
-#include <babeltrace/ref.h>
-#include <babeltrace/assert-internal.h>
-#include <babeltrace/assert-internal.h>
+#include <babeltrace2/babeltrace.h>
+#include "common/assert.h"
+
+static bt_component_class_sink_consume_method_status sink_consume(
+               bt_self_component_sink *self_comp)
+{
+       return BT_COMPONENT_CLASS_SINK_CONSUME_METHOD_STATUS_OK;
+}
 
-static enum bt_component_status sink_consume(
-               struct bt_private_component *private_component)
+static bt_component_class_get_supported_mip_versions_method_status
+sink_get_supported_mip_versions(
+               bt_self_component_class_sink *source_component_class,
+               const bt_value *params, void *initialize_method_data,
+               bt_logging_level logging_level,
+               bt_integer_range_set_unsigned *supported_versions)
 {
-       return BT_COMPONENT_STATUS_OK;
+       return (int) bt_integer_range_set_unsigned_add_range(
+               supported_versions, 0, 0);
 }
 
-static enum bt_notification_iterator_status dummy_iterator_init_method(
-               struct bt_private_connection_private_notification_iterator *private_iterator,
-               struct bt_private_port *private_port)
+static bt_message_iterator_class_initialize_method_status
+src_dummy_iterator_init_method(
+               bt_self_message_iterator *self_msg_iter,
+               bt_self_message_iterator_configuration *config,
+               bt_self_component_port_output *self_port)
 {
-       return BT_NOTIFICATION_ITERATOR_STATUS_OK;
+       return BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_OK;
+}
+
+static bt_message_iterator_class_initialize_method_status
+flt_dummy_iterator_init_method(
+               bt_self_message_iterator *self_msg_iter,
+               bt_self_message_iterator_configuration *config,
+               bt_self_component_port_output *self_port)
+{
+       return BT_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD_STATUS_OK;
 }
 
 static void dummy_iterator_finalize_method(
-               struct bt_private_connection_private_notification_iterator *private_iterator)
+               bt_self_message_iterator *self_msg_iter)
 {
 }
 
-static enum bt_notification_iterator_status dummy_iterator_next_method(
-               struct bt_private_connection_private_notification_iterator *private_iterator,
-               bt_notification_array notifs, uint64_t capacity,
+static bt_message_iterator_class_next_method_status
+dummy_iterator_next_method(
+               bt_self_message_iterator *self_msg_iter,
+               bt_message_array_const msgs, uint64_t capacity,
                uint64_t *count)
 {
-       return BT_NOTIFICATION_ITERATOR_STATUS_ERROR;
+       return BT_MESSAGE_ITERATOR_CLASS_NEXT_METHOD_STATUS_OK;
 }
 
-static struct bt_component_class_query_method_return query_method(
-               struct bt_component_class *component_class,
-               struct bt_query_executor *query_exec,
-               const char *object, struct bt_value *params)
+static bt_component_class_query_method_status flt_query_method(
+               bt_self_component_class_filter *component_class,
+               bt_private_query_executor *priv_query_exec,
+               const char *object, const bt_value *params,
+               __attribute__((unused)) void *method_data,
+               const bt_value **result)
 {
-       struct bt_component_class_query_method_return ret = {
-               .status = BT_QUERY_STATUS_OK,
-               .result = bt_value_array_create(),
-       };
+       bt_value *res = bt_value_array_create();
+       bt_value *val;
+       *result = res;
        int iret;
 
-       BT_ASSERT(ret.result);
-       iret = bt_value_array_append_string_element(ret.result, object);
+       BT_ASSERT(*result);
+       iret = bt_value_array_append_string_element(res, object);
+       BT_ASSERT(iret == 0);
+       iret = bt_value_copy(params, &val);
        BT_ASSERT(iret == 0);
-       iret = bt_value_array_append_element(ret.result, params);
+       iret = bt_value_array_append_element(res, val);
        BT_ASSERT(iret == 0);
-       return ret;
+       bt_value_put_ref(val);
+       return BT_COMPONENT_CLASS_QUERY_METHOD_STATUS_OK;
 }
 
 BT_PLUGIN_MODULE();
@@ -76,9 +88,9 @@ BT_PLUGIN_VERSION(1, 2, 3, "yes");
 
 BT_PLUGIN_SOURCE_COMPONENT_CLASS(source, dummy_iterator_next_method);
 BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION(source, "A source.");
-BT_PLUGIN_SOURCE_COMPONENT_CLASS_NOTIFICATION_ITERATOR_INIT_METHOD(source,
-       dummy_iterator_init_method);
-BT_PLUGIN_SOURCE_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(source,
+BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(source,
+       src_dummy_iterator_init_method);
+BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(source,
        dummy_iterator_finalize_method);
 
 BT_PLUGIN_SINK_COMPONENT_CLASS(sink, sink_consume);
@@ -89,11 +101,13 @@ BT_PLUGIN_SINK_COMPONENT_CLASS_HELP(sink,
        "venison tenderloin cow tail. Beef short loin shoulder meatball, sirloin\n"
        "ground round brisket salami cupim pork bresaola turkey bacon boudin.\n"
 );
+BT_PLUGIN_SINK_COMPONENT_CLASS_GET_SUPPORTED_MIP_VERSIONS_METHOD(sink,
+       sink_get_supported_mip_versions);
 
 BT_PLUGIN_FILTER_COMPONENT_CLASS(filter, dummy_iterator_next_method);
 BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(filter, "A filter.");
-BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_INIT_METHOD(filter,
-       dummy_iterator_init_method);
-BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(filter,
+BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(filter,
+       flt_dummy_iterator_init_method);
+BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(filter,
        dummy_iterator_finalize_method);
-BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD(filter, query_method);
+BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD(filter, flt_query_method);
This page took 0.025936 seconds and 4 git commands to generate.