Document libbabeltrace2's C API
[babeltrace.git] / doc / api / libbabeltrace2 / examples / vestige-plugin.c
1 /* Component class method declarations */
2 #include "vestige.h"
3
4 /* Always start with this line */
5 BT_PLUGIN_MODULE();
6
7 /* Declare the `vestige` plugin */
8 BT_PLUGIN(vestige);
9
10 /* Set some optional plugin properties */
11 BT_PLUGIN_DESCRIPTION("Input and output for the Vestige format.");
12 BT_PLUGIN_AUTHOR("Denis Rondeau");
13 BT_PLUGIN_LICENSE("MIT");
14
15 /* Add the `input` source component class */
16 BT_PLUGIN_SOURCE_COMPONENT_CLASS(input, vestige_in_iter_next);
17
18 /* Set the source component class's optional description */
19 BT_PLUGIN_SOURCE_COMPONENT_CLASS_DESCRIPTION(input,
20 "Read a Vestige trace file.");
21
22 /* Set some optional methods of the source component class */
23 BT_PLUGIN_SOURCE_COMPONENT_CLASS_INITIALIZE_METHOD(input,
24 vestige_in_init);
25 BT_PLUGIN_SOURCE_COMPONENT_CLASS_FINALIZE_METHOD(input,
26 vestige_in_finalize);
27 BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_INITIALIZE_METHOD(
28 input, vestige_in_iter_init);
29 BT_PLUGIN_SOURCE_COMPONENT_CLASS_MESSAGE_ITERATOR_CLASS_FINALIZE_METHOD(
30 input, vestige_in_iter_fini);
31
32 /* Add the `output` sink component class */
33 BT_PLUGIN_SINK_COMPONENT_CLASS(output, vestige_out_consume);
34
35 /* Set the sink component class's optional description */
36 BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(output,
37 "Write a Vestige trace file.");
38
39 /* Set some optional methods of the sink component class */
40 BT_PLUGIN_SINK_COMPONENT_CLASS_INITIALIZE_METHOD(output,
41 vestige_out_init);
42 BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(output,
43 vestige_out_finalize);
44 BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD(output,
45 vestige_out_graph_is_configured);
This page took 0.031314 seconds and 4 git commands to generate.