From 7a278c8e26014d9235e365b7aa3cf234fc9ea1ad Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Wed, 20 May 2015 13:54:01 -0400 Subject: [PATCH] Error stream is now an attribute of the base plugin class MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau --- include/babeltrace/plugin/plugin-internal.h | 3 +- include/babeltrace/plugin/plugin-system.h | 21 +------- plugins/ctf/reader.c | 53 +++++++++++---------- 3 files changed, 33 insertions(+), 44 deletions(-) diff --git a/include/babeltrace/plugin/plugin-internal.h b/include/babeltrace/plugin/plugin-internal.h index a0505318..91f36219 100644 --- a/include/babeltrace/plugin/plugin-internal.h +++ b/include/babeltrace/plugin/plugin-internal.h @@ -41,10 +41,11 @@ struct bt_plugin { struct bt_ctf_ref ref_count; GString *name; enum bt_plugin_type type; + /** No ownership taken */ + FILE *error_stream; /* Plug-in implementation callbacks */ bt_plugin_destroy_cb destroy; - bt_plugin_set_error_stream_cb set_error_stream; }; #ifdef __cplusplus diff --git a/include/babeltrace/plugin/plugin-system.h b/include/babeltrace/plugin/plugin-system.h index a606a459..7b955f4d 100644 --- a/include/babeltrace/plugin/plugin-system.h +++ b/include/babeltrace/plugin/plugin-system.h @@ -43,16 +43,6 @@ extern "C" { */ typedef void (*bt_plugin_destroy_cb)(struct bt_plugin *plugin); -/** - * Plug-in error stream registration function type. - * - * @param plugin Plug-in instance - * @param error_stream Error stream, ownership is not transferred - * @returns One of #bt_plugin_status values - */ -typedef enum bt_plugin_status (*bt_plugin_set_error_stream_cb)( - struct bt_plugin *plugin, FILE *error_stream); - /** * Get a plug-in's private (implementation) data. * @@ -61,15 +51,7 @@ typedef enum bt_plugin_status (*bt_plugin_set_error_stream_cb)( */ extern void *bt_plugin_get_private_data(struct bt_plugin *plugin); -/** - * Set a callback permiting the registration of an error stream. - * - * @param plugin Plug-in to which the callback should be registered - * @param cb Error stream registration callback - */ -extern int bt_plugin_set_error_stream_cb(struct bt_plugin *plugin, - bt_plugin_set_error_stream_cb cb); - + /* Plug-in initialization functions */ /** * Allocate a source plug-in. @@ -97,6 +79,7 @@ extern struct bt_plugin *bt_plugin_sink_create(const char *name, void *private_data, bt_plugin_destroy_func destroy_func, bt_plugin_sink_handle_notification_cb notification_cb); + /* Notification iterator functions */ /** * Allocate a notification iterator. diff --git a/plugins/ctf/reader.c b/plugins/ctf/reader.c index 181d400a..437de62f 100644 --- a/plugins/ctf/reader.c +++ b/plugins/ctf/reader.c @@ -1,3 +1,31 @@ +/* + * reader.c + * + * Babeltrace CTF Reader 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 @@ -6,7 +34,7 @@ const char *plugin_name = "ctf"; struct ctf_reader { - FILE *err; + int a; }; enum bt_plugin_type bt_plugin_lib_get_type(void) @@ -43,29 +71,6 @@ struct bt_notification_iterator *ctf_reader_iterator_create( return NULL; } -/* Move this to bt_plugin */ -static -enum bt_plugin_status ctf_reader_set_error_stream( - struct bt_plugin *plugin, FILE *stream) -{ - struct ctf_reader *reader; - enum bt_plugin_status ret = BT_PLUGIN_STATUS_OK; - - if (!plugin) { - ret = BT_PLUGIN_STATUS_INVAL; - goto end; - } - - reader = bt_plugin_get_private_data(plugin); - if (!reader) { - ret = BT_PLUGIN_STATUS_ERROR; - goto end; - } - - reader->stream = stream; -end: - return ret; -} struct bt_plugin *bt_plugin_lib_create(struct bt_object *params) { -- 2.34.1