X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=plugins%2Futils%2Fplugin.c;h=d6b5b24486db613c28f18dce0722db5591f33ed9;hb=68b66a256a54d32992dfefeaad11eea88b7df234;hp=6dd7c85293e6d80ad473d06aced432dd8758e266;hpb=0d8b4d8edb6b11ddd7f4e6adc77b9390a0db0b20;p=babeltrace.git diff --git a/plugins/utils/plugin.c b/plugins/utils/plugin.c index 6dd7c852..d6b5b244 100644 --- a/plugins/utils/plugin.c +++ b/plugins/utils/plugin.c @@ -20,34 +20,63 @@ * SOFTWARE. */ -#include +#include #include "dummy/dummy.h" +#include "counter/counter.h" +#include "muxer/muxer.h" #include "trimmer/trimmer.h" -#include "trimmer/iterator.h" + +#ifndef BT_BUILT_IN_PLUGINS +BT_PLUGIN_MODULE(); +#endif BT_PLUGIN(utils); -BT_PLUGIN_DESCRIPTION("Utilities."); -BT_PLUGIN_AUTHOR("Philippe Proulx"); +BT_PLUGIN_DESCRIPTION("Graph utilities"); +BT_PLUGIN_AUTHOR("Julien Desfossez, Jérémie Galarneau, Philippe Proulx"); BT_PLUGIN_LICENSE("MIT"); -/* dummy sink */ +/* sink.utils.dummy */ BT_PLUGIN_SINK_COMPONENT_CLASS(dummy, dummy_consume); BT_PLUGIN_SINK_COMPONENT_CLASS_INIT_METHOD(dummy, dummy_init); BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(dummy, dummy_finalize); -BT_PLUGIN_SINK_COMPONENT_CLASS_PORT_CONNECTED_METHOD(dummy, - dummy_port_connected); +BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD(dummy, + dummy_graph_is_configured); BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(dummy, - "Dummy sink component class: does absolutely nothing!"); + "Consume messages and discard them."); + +/* sink.utils.counter */ +BT_PLUGIN_SINK_COMPONENT_CLASS(counter, counter_consume); +BT_PLUGIN_SINK_COMPONENT_CLASS_INIT_METHOD(counter, counter_init); +BT_PLUGIN_SINK_COMPONENT_CLASS_FINALIZE_METHOD(counter, counter_finalize); +BT_PLUGIN_SINK_COMPONENT_CLASS_GRAPH_IS_CONFIGURED_METHOD(counter, + counter_graph_is_configured); +BT_PLUGIN_SINK_COMPONENT_CLASS_DESCRIPTION(counter, + "Count messages and print the results."); -/* trimmer filter */ -BT_PLUGIN_FILTER_COMPONENT_CLASS(trimmer, trimmer_iterator_next); +/* flt.utils.trimmer */ +BT_PLUGIN_FILTER_COMPONENT_CLASS(trimmer, trimmer_msg_iter_next); BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(trimmer, - "Ensure that trace notifications outside of a given range are filtered-out."); -BT_PLUGIN_FILTER_COMPONENT_CLASS_INIT_METHOD(trimmer, trimmer_component_init); -BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(trimmer, finalize_trimmer); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_INIT_METHOD(trimmer, - trimmer_iterator_init); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_FINALIZE_METHOD(trimmer, - trimmer_iterator_finalize); -BT_PLUGIN_FILTER_COMPONENT_CLASS_NOTIFICATION_ITERATOR_SEEK_TIME_METHOD(trimmer, - trimmer_iterator_seek_time); + "Keep messages that occur within a specific time range."); +BT_PLUGIN_FILTER_COMPONENT_CLASS_INIT_METHOD(trimmer, trimmer_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(trimmer, trimmer_finalize); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(trimmer, + trimmer_msg_iter_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(trimmer, + trimmer_msg_iter_finalize); + +/* flt.utils.muxer */ +BT_PLUGIN_FILTER_COMPONENT_CLASS(muxer, muxer_msg_iter_next); +BT_PLUGIN_FILTER_COMPONENT_CLASS_DESCRIPTION(muxer, + "Sort messages from multiple input ports to a single output port by time."); +BT_PLUGIN_FILTER_COMPONENT_CLASS_INIT_METHOD(muxer, muxer_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_FINALIZE_METHOD(muxer, muxer_finalize); +BT_PLUGIN_FILTER_COMPONENT_CLASS_INPUT_PORT_CONNECTED_METHOD(muxer, + muxer_input_port_connected); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_INIT_METHOD(muxer, + muxer_msg_iter_init); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_FINALIZE_METHOD(muxer, + muxer_msg_iter_finalize); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_SEEK_BEGINNING_METHOD(muxer, + muxer_msg_iter_seek_beginning); +BT_PLUGIN_FILTER_COMPONENT_CLASS_MESSAGE_ITERATOR_CAN_SEEK_BEGINNING_METHOD(muxer, + muxer_msg_iter_can_seek_beginning);