From 5dac767adc60ba7690207ebd3220e9b0837527f5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Thu, 21 May 2015 17:13:44 -0400 Subject: [PATCH] Implement ctf text output plug-in stub MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau --- configure.ac | 3 +- include/babeltrace/plugin/plugin-system.h | 8 +- plugins/ctf/ctf-text/text.c | 0 plugins/ctf/{ctf-live => live}/live.c | 0 .../{ctf-reader => reader}/reader-internal.h | 0 plugins/ctf/{ctf-reader => reader}/reader.c | 0 plugins/ctf/text/text.c | 94 +++++++++++++++++++ 7 files changed, 99 insertions(+), 6 deletions(-) delete mode 100644 plugins/ctf/ctf-text/text.c rename plugins/ctf/{ctf-live => live}/live.c (100%) rename plugins/ctf/{ctf-reader => reader}/reader-internal.h (100%) rename plugins/ctf/{ctf-reader => reader}/reader.c (100%) create mode 100644 plugins/ctf/text/text.c diff --git a/configure.ac b/configure.ac index 30147db1..6acf1deb 100644 --- a/configure.ac +++ b/configure.ac @@ -371,7 +371,8 @@ AC_CONFIG_FILES([ extras/valgrind/Makefile plugins/Makefile plugins/ctf/Makefile - plugins/ctf/ctf-reader/Makefile + plugins/ctf/reader/Makefile + plugins/ctf/text/Makefile babeltrace.pc babeltrace-ctf.pc ]) diff --git a/include/babeltrace/plugin/plugin-system.h b/include/babeltrace/plugin/plugin-system.h index fea024fd..e66e1aba 100644 --- a/include/babeltrace/plugin/plugin-system.h +++ b/include/babeltrace/plugin/plugin-system.h @@ -60,12 +60,10 @@ typedef struct bt_notification_iterator *( * * @param plugin Plug-in instance * @param notificattion Notification to handle + * @returns One of #bt_plugin_status values */ -typedef int (*bt_plugin_sink_handle_notification_cb)(struct bt_plugin *, - struct bt_notification *); - -typedef struct bt_notification *(bt_notification_iterator_get_notification_cb)( - struct bt_notification_iterator *); +typedef enum bt_plugin_status (*bt_plugin_sink_handle_notification_cb)( + struct bt_plugin *, struct bt_notification *); typedef struct bt_notification *(bt_notification_iterator_get_notification_cb)( struct bt_notification_iterator *); diff --git a/plugins/ctf/ctf-text/text.c b/plugins/ctf/ctf-text/text.c deleted file mode 100644 index e69de29b..00000000 diff --git a/plugins/ctf/ctf-live/live.c b/plugins/ctf/live/live.c similarity index 100% rename from plugins/ctf/ctf-live/live.c rename to plugins/ctf/live/live.c diff --git a/plugins/ctf/ctf-reader/reader-internal.h b/plugins/ctf/reader/reader-internal.h similarity index 100% rename from plugins/ctf/ctf-reader/reader-internal.h rename to plugins/ctf/reader/reader-internal.h diff --git a/plugins/ctf/ctf-reader/reader.c b/plugins/ctf/reader/reader.c similarity index 100% rename from plugins/ctf/ctf-reader/reader.c rename to plugins/ctf/reader/reader.c diff --git a/plugins/ctf/text/text.c b/plugins/ctf/text/text.c new file mode 100644 index 00000000..60997526 --- /dev/null +++ b/plugins/ctf/text/text.c @@ -0,0 +1,94 @@ +/* + * text.c + * + * Babeltrace CTF Text Output Plugin + * + * Copyright 2015 Jérémie Galarneau + * + * Author: Jérémie Galarneau + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include +#include +#include +#include +#include + +const char *plugin_name = "ctf-text"; + +struct ctf_text { + int a; +}; + +static +void ctf_text_destroy(struct bt_plugin *plugin) +{ + struct ctf_text *text; + + if (!plugin) { + return; + } + + text = bt_plugin_get_private_data(plugin); + if (!text) { + return; + } + + g_free(text); +} + +static +int ctf_text_handle_notification(struct bt_plugin *plugin, + struct bt_notification *notification) +{ + return BT_PLUGIN_STATUS_OK; +} + +enum bt_plugin_type bt_plugin_lib_get_type(void) +{ + return BT_PLUGIN_TYPE_SINK; +} + +const char *bt_plugin_lib_get_format_name(void) +{ + return plugin_name; +} + +struct bt_plugin *bt_plugin_lib_create(struct bt_object *params) +{ + struct bt_plugin *plugin = NULL; + struct ctf_text *text = g_new0(struct ctf_text, 1); + + plugin = bt_plugin_sink_create(plugin_name, text, + ctf_text_destroy, ctf_text_handle_notification); + if (!plugin) { + goto error; + } + +end: + return plugin; +error: + if (text) { + g_free(text); + } + goto end; +} -- 2.34.1