Re-organize sources
[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
71c5da58 18#include <babeltrace2/babeltrace.h>
57952005 19#include "common/assert.h"
cbb9e0b1 20
ee78f405 21static bt_self_component_status sink_consume(
8eee8ea2 22 bt_self_component_sink *self_comp)
cbb9e0b1 23{
834e9996 24 return BT_SELF_COMPONENT_STATUS_OK;
cbb9e0b1
PP
25}
26
ee78f405 27static bt_self_message_iterator_status src_dummy_iterator_init_method(
b09a5592 28 bt_self_message_iterator *self_msg_iter,
8eee8ea2
PP
29 bt_self_component_source *self_comp,
30 bt_self_component_port_output *self_port)
cbb9e0b1 31{
b09a5592 32 return BT_SELF_MESSAGE_ITERATOR_STATUS_OK;
834e9996
PP
33}
34
ee78f405 35static bt_self_message_iterator_status flt_dummy_iterator_init_method(
b09a5592 36 bt_self_message_iterator *self_msg_iter,
8eee8ea2
PP
37 bt_self_component_filter *self_comp,
38 bt_self_component_port_output *self_port)
834e9996 39{
b09a5592 40 return BT_SELF_MESSAGE_ITERATOR_STATUS_OK;
d3eb6e8f
PP
41}
42
64cadc66 43static void dummy_iterator_finalize_method(
b09a5592 44 bt_self_message_iterator *self_msg_iter)
d3eb6e8f
PP
45{
46}
47
ee78f405 48static bt_self_message_iterator_status dummy_iterator_next_method(
b09a5592
PP
49 bt_self_message_iterator *self_msg_iter,
50 bt_message_array_const msgs, uint64_t capacity,
3fd7b79d 51 uint64_t *count)
d3eb6e8f 52{
b09a5592 53 return BT_SELF_MESSAGE_ITERATOR_STATUS_ERROR;
d3eb6e8f
PP
54}
55
ee78f405 56static bt_query_status flt_query_method(
8eee8ea2
PP
57 bt_self_component_class_filter *component_class,
58 const bt_query_executor *query_exec,
59 const char *object, const bt_value *params,
60 const bt_value **result)
5933c0f2 61{
8eee8ea2
PP
62 bt_value *res = bt_value_array_create();
63 bt_value *val;
ce141536 64 *result = res;
1286dcbb 65 int iret;
5933c0f2 66
834e9996 67 BT_ASSERT(*result);
ce141536
PP
68 iret = bt_value_array_append_string_element(res, object);
69 BT_ASSERT(iret == 0);
6284461f 70 iret = bt_value_copy(params, &val);
b8f13b8b 71 BT_ASSERT(iret == 0);
ce141536 72 iret = bt_value_array_append_element(res, val);
b8f13b8b 73 BT_ASSERT(iret == 0);
8c6884d9 74 bt_value_put_ref(val);
834e9996 75 return BT_QUERY_STATUS_OK;
5933c0f2
PP
76}
77
edb2ec3c 78BT_PLUGIN_MODULE();
6ba0b073 79BT_PLUGIN(test_sfs);
cbb9e0b1
PP
80BT_PLUGIN_DESCRIPTION("Babeltrace plugin with source, sink, and filter component classes");
81BT_PLUGIN_AUTHOR("Janine Sutto");
82BT_PLUGIN_LICENSE("Beerware");
458e8e1d 83BT_PLUGIN_VERSION(1, 2, 3, "yes");
cbb9e0b1 84
41a2b7ae 85BT_PLUGIN_SOURCE_COMPONENT_CLASS(source, dummy_iterator_next_method);
d3e4dcd8 86BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION(source, "A source.");
b09a5592 87BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(source,
834e9996 88 src_dummy_iterator_init_method);
b09a5592 89BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(source,
64cadc66 90 dummy_iterator_finalize_method);
6ba0b073 91
d3e4dcd8
PP
92BT_PLUGIN_SINK_COMPONENT_CLASS(sink, sink_consume);
93BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(sink, "A sink.");
a889b89f
PP
94BT_PLUGIN_SINK_COMPONENT_CLASS_HELP(sink,
95 "Bacon ipsum dolor amet strip steak cupim pastrami venison shoulder.\n"
96 "Prosciutto beef ribs flank meatloaf pancetta brisket kielbasa drumstick\n"
97 "venison tenderloin cow tail. Beef short loin shoulder meatball, sirloin\n"
98 "ground round brisket salami cupim pork bresaola turkey bacon boudin.\n"
99);
6ba0b073 100
41a2b7ae 101BT_PLUGIN_FILTER_COMPONENT_CLASS(filter, dummy_iterator_next_method);
d3e4dcd8 102BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(filter, "A filter.");
b09a5592 103BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(filter,
834e9996 104 flt_dummy_iterator_init_method);
b09a5592 105BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(filter,
64cadc66 106 dummy_iterator_finalize_method);
834e9996 107BT_PLUGIN_FILTER_COMPONENT_CLASS_QUERY_METHOD(filter, flt_query_method);
This page took 0.043172 seconds and 4 git commands to generate.