tests/lib: remove `test_bt_values` and `test_graph_topo`
[babeltrace.git] / tests / lib / test-plugin-plugins / sfs.c
CommitLineData
cbb9e0b1
PP
1/*
2 * Copyright (c) 2017 Philippe Proulx <pproulx@efficios.com>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; under version 2 of the License.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
16 */
17
3fadfbc0 18#include <babeltrace2/babeltrace.h>
578e048b 19#include "common/assert.h"
cbb9e0b1 20
4cdfc5e8 21static bt_self_component_status sink_consume(
b19ff26f 22 bt_self_component_sink *self_comp)
cbb9e0b1 23{
d94d92ac 24 return BT_SELF_COMPONENT_STATUS_OK;
cbb9e0b1
PP
25}
26
4cdfc5e8 27static bt_self_message_iterator_status src_dummy_iterator_init_method(
d6e69534 28 bt_self_message_iterator *self_msg_iter,
b19ff26f
PP
29 bt_self_component_source *self_comp,
30 bt_self_component_port_output *self_port)
cbb9e0b1 31{
d6e69534 32 return BT_SELF_MESSAGE_ITERATOR_STATUS_OK;
d94d92ac
PP
33}
34
4cdfc5e8 35static bt_self_message_iterator_status flt_dummy_iterator_init_method(
d6e69534 36 bt_self_message_iterator *self_msg_iter,
b19ff26f
PP
37 bt_self_component_filter *self_comp,
38 bt_self_component_port_output *self_port)
d94d92ac 39{
d6e69534 40 return BT_SELF_MESSAGE_ITERATOR_STATUS_OK;
d3eb6e8f
PP
41}
42
64cadc66 43static void dummy_iterator_finalize_method(
d6e69534 44 bt_self_message_iterator *self_msg_iter)
d3eb6e8f
PP
45{
46}
47
4cdfc5e8 48static bt_self_message_iterator_status dummy_iterator_next_method(
d6e69534
PP
49 bt_self_message_iterator *self_msg_iter,
50 bt_message_array_const msgs, uint64_t capacity,
d4393e08 51 uint64_t *count)
d3eb6e8f 52{
d6e69534 53 return BT_SELF_MESSAGE_ITERATOR_STATUS_ERROR;
d3eb6e8f
PP
54}
55
4cdfc5e8 56static bt_query_status flt_query_method(
b19ff26f
PP
57 bt_self_component_class_filter *component_class,
58 const bt_query_executor *query_exec,
59 const char *object, const bt_value *params,
f4e38e70 60 __attribute__((unused)) bt_logging_level log_level,
b19ff26f 61 const bt_value **result)
5933c0f2 62{
b19ff26f
PP
63 bt_value *res = bt_value_array_create();
64 bt_value *val;
05e21286 65 *result = res;
c7eee084 66 int iret;
5933c0f2 67
d94d92ac 68 BT_ASSERT(*result);
05e21286
PP
69 iret = bt_value_array_append_string_element(res, object);
70 BT_ASSERT(iret == 0);
6be5a99e 71 iret = bt_value_copy(params, &val);
25583cd0 72 BT_ASSERT(iret == 0);
05e21286 73 iret = bt_value_array_append_element(res, val);
25583cd0 74 BT_ASSERT(iret == 0);
c5b9b441 75 bt_value_put_ref(val);
d94d92ac 76 return BT_QUERY_STATUS_OK;
5933c0f2
PP
77}
78
df5b5d01 79BT_PLUGIN_MODULE();
6ba0b073 80BT_PLUGIN(test_sfs);
cbb9e0b1
PP
81BT_PLUGIN_DESCRIPTION("Babeltrace plugin with source, sink, and filter component classes");
82BT_PLUGIN_AUTHOR("Janine Sutto");
83BT_PLUGIN_LICENSE("Beerware");
458e8e1d 84BT_PLUGIN_VERSION(1, 2, 3, "yes");
cbb9e0b1 85
41a2b7ae 86BT_PLUGIN_SOURCE_COMPONENT_CLASS(source, dummy_iterator_next_method);
d3e4dcd8 87BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION(source, "A source.");
d6e69534 88BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(source,
d94d92ac 89 src_dummy_iterator_init_method);
d6e69534 90BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(source,
64cadc66 91 dummy_iterator_finalize_method);
6ba0b073 92
d3e4dcd8
PP
93BT_PLUGIN_SINK_COMPONENT_CLASS(sink, sink_consume);
94BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(sink, "A sink.");
a889b89f
PP
95BT_PLUGIN_SINK_COMPONENT_CLASS_HELP(sink,
96 "Bacon ipsum dolor amet strip steak cupim pastrami venison shoulder.\n"
97 "Prosciutto beef ribs flank meatloaf pancetta brisket kielbasa drumstick\n"
98 "venison tenderloin cow tail. Beef short loin shoulder meatball, sirloin\n"
99 "ground round brisket salami cupim pork bresaola turkey bacon boudin.\n"
100);
6ba0b073 101
41a2b7ae 102BT_PLUGIN_FILTER_COMPONENT_CLASS(filter, dummy_iterator_next_method);
d3e4dcd8 103BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(filter, "A filter.");
d6e69534 104BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(filter,
d94d92ac 105 flt_dummy_iterator_init_method);
d6e69534 106BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(filter,
64cadc66 107 dummy_iterator_finalize_method);
d94d92ac 108BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD(filter, flt_query_method);
This page took 0.045906 seconds and 4 git commands to generate.