Introduce bt_plugin and bt_component_class
[babeltrace.git] / include / babeltrace / plugin / component-factory-internal.h
index 69c16419396c908949e9f4ce91af87c113f76582..257ff0f5716781550cacaebb9b887d7f6d060331 100644 (file)
  */
 
 #include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/plugin/component-internal.h>
+#include <babeltrace/ref-internal.h>
+#include <babeltrace/plugin/component-factory.h>
+#include <babeltrace/plugin/component.h>
+#include <babeltrace/plugin/component-class-internal.h>
 #include <babeltrace/plugin/plugin-system.h>
+#include <babeltrace/plugin/plugin.h>
+#include <glib.h>
 
-/** Component initialization functions */
-/**
- * Allocate a source component.
- *
- * @param name                 Component instance name (will be copied)
- * @param private_data         Private component implementation data
- * @param destroy_cb           Component private data clean-up callback
- * @param iterator_init_cb     Iterator initialization callback
- * @returns                    A source component instance
- */
-BT_HIDDEN
-extern struct bt_component *bt_component_source_create(const char *name,
-               void *private_data, bt_component_destroy_cb destroy_func,
-               bt_component_source_iterator_init_cb iterator_init_cb);
-
-/**
- * Allocate a sink component.
- *
- * @param name                 Component instance name (will be copied)
- * @param private_data         Private component implementation data
- * @param destroy_cb           Component private data clean-up callback
- * @param notification_cb      Notification handling callback
- * @returns                    A sink component instance
- */
-BT_HIDDEN
-extern struct bt_component *bt_component_sink_create(const char *name,
-               void *private_data, bt_component_destroy_cb destroy_func,
-               bt_component_sink_handle_notification_cb notification_cb);
+struct bt_component_factory {
+       /** Array of pointers to struct plugin */
+       GPtrArray *plugins;
+       /** Array of pointers to struct bt_component_class */
+       GPtrArray *components;
+};
 
 #endif /* BABELTRACE_PLUGIN_COMPONENT_FACTORY_INTERNAL_H */
This page took 0.023133 seconds and 4 git commands to generate.