Component creation
[babeltrace.git] / include / babeltrace / plugin / plugin-system.h
index 1423f04f699d3526c6a42e3d134f7e8c4755b8a9..0de0676818390f7bb1bdd3972a9df6a08af294db 100644 (file)
@@ -37,6 +37,11 @@ extern "C" {
 struct bt_notification;
 struct bt_notification_iterator;
 struct bt_component;
+struct bt_component_factory;
+
+typedef enum bt_component_status (*bt_plugin_init_func)(
+               struct bt_component_factory *factory);
+typedef void (*bt_plugin_exit_func)(void);
 
 /**
  * Component private data deallocation function type.
@@ -46,39 +51,17 @@ struct bt_component;
 typedef void (*bt_component_destroy_cb)(struct bt_component *component);
 
 /**
- * Source component initialization function type.
- *
- * A source component's iterator initialization callback, private data and
- * deinitialization callback must be set by this function.
- *
- * @param component    Component instance
- * @returns            One of #bt_component_status values
- */
-typedef enum bt_component_status (*bt_component_source_init_cb)(
-               struct bt_component *component);
-
-/**
- * Sink component initialization function type.
+ * Component initialization function type.
  *
- * A sink component's notification handling callback, private data and
- * deinitialization callback must be set by this function.
+ * A component's private data and required callbacks must be set by this
+ * function.
  *
  * @param component    Component instance
  * @returns            One of #bt_component_status values
  */
-typedef enum bt_component_status (*bt_component_sink_init_cb)(
+typedef enum bt_component_status (*bt_component_init_cb)(
                struct bt_component *component);
 
-/**
- * Iterator initialization function type.
- *
- * @param component    Component instance
- * @param iterator     Iterator instance
- */
-typedef enum bt_component_status (*bt_component_source_iterator_init_cb)(
-               struct bt_component *component,
-               struct bt_notification_iterator *iterator);
-
 /**
  * Get a component's private data.
  *
This page took 0.025129 seconds and 4 git commands to generate.