Plug-in API corrections
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 4 Mar 2015 17:24:24 +0000 (12:24 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 27 May 2017 16:54:30 +0000 (12:54 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
include/babeltrace/plugin/notification/iterator.h
include/babeltrace/plugin/plugin.h
include/babeltrace/plugin/source.h

index baf62f0475ccf54a2954fa4a5ef0adc41d6553a1..47e8bae5b1f5116e3fe865e8cb17a8648c5f139b 100644 (file)
@@ -44,8 +44,13 @@ struct bt_notification *bt_notification_iterator_get_notification(
 void bt_notification_iterator_get(struct bt_notification_iterator *iterator);
 void bt_notification_iterator_put(struct bt_notification_iterator *iterator);
 
+/* API for plug-in authors */
+struct bt_notification_iterator *bt_notification_iterator_create(
+       struct bt_plugin *plugin);
+
+
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* BABELTRACE_PLUGIN_NOTIFICATION_H */
+#endif /* BABELTRACE_PLUGIN_NOTIFICATION_ITERATOR_H */
index 9c2c5f00606bb581b397e8a243bba9aeff30d7a6..a8aada4eb3eadf8884437154bd0ee116e192db7c 100644 (file)
@@ -46,6 +46,8 @@ enum bt_plugin_type {
        BT_PLUGIN_TYPE_FILTER = 2,
 };
 
+typedef void (*bt_plugin_destroy_func)(struct bt_plugin *);
+
 /**
  * Plug-in discovery functions.
  *
@@ -56,13 +58,16 @@ enum bt_plugin_type {
  * The functions marked as mandatory MUST be exported by the shared object
  * to be considered a valid plug-in.
  */
-enum bt_plugin_type bt_plugin_get_type(void);
-const char *bt_plugin_get_name(void);
+/* Plug-in discovery functions... find a better name */
+enum bt_plugin_type bt_plugin_lib_get_type(void);
+const char *bt_plugin_lib_get_format_name(void);
 
 /* TODO: document mandatory fields and their expected types */
-int bt_plugin_set_parameters(struct bt_plugin *plugin,
-               struct bt_ctf_field *field);
+struct bt_plugin *bt_plugin_create(struct bt_ctf_field *params);
+void *bt_plugin_get_user_data(struct bt_plugin *plugin);
+int bt_plugin_set_error_stream(struct bt_plugin *plugin, FILE *error_stream);
 
+/* Refcounting */
 void bt_plugin_get(struct bt_plugin *plugin);
 void bt_plugin_put(struct bt_plugin *plugin);
 
index 581b7893d48c9765d5b32ca4ea62b0fa4d0aa5ef..ade5cc4e95246b4563674c12f55f4743eab42516 100644 (file)
@@ -35,15 +35,16 @@ extern "C" {
 
 struct bt_plugin;
 struct bt_notification_iterator;
-typedef struct bt_iterator *(*bt_plugin_source_iterator_create_func)(struct bt_plugin *);
+typedef struct bt_notification_iterator *(
+               *bt_plugin_source_iterator_create_func)(struct bt_plugin *);
 
 struct bt_notification_iterator *bt_plugin_source_get_iterator(
                struct bt_plugin *plugin);
 
 /* Plug-in initialization functions */
-struct bt_plugin *bt_plugin_source_create(void *data);
-int bt_plugin_source_set_iterator_create_function(struct bt_plugin *plugin,
-               bt_plugin_source_iterator_create_func func);
+struct bt_plugin *bt_plugin_source_create(const char *name, void *user_data,
+               bt_plugin_destroy_func destroy_func,
+               bt_plugin_source_iterator_create_func iterator_create_func);
 
 #ifdef __cplusplus
 }
This page took 0.02575 seconds and 5 git commands to generate.