#define BABELTRACE_PLUGIN_SOURCE_INTERNAL_H
/*
- * BabelTrace - Source Plug-in internal
+ * BabelTrace - Source Component internal
*
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
*/
#include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/plugin/plugin-internal.h>
+#include <babeltrace/plugin/component-internal.h>
+#include <babeltrace/plugin/plugin-system.h>
-#ifdef __cplusplus
-extern "C" {
-#endif
+struct bt_component_source {
+ struct bt_component parent;
-struct bt_plugin_source {
- struct bt_plugin parent;
-
- /* Plug-in implementation callbacks */
- bt_plugin_source_iterator_create_func create_iterator;
+ /* Component implementation callbacks */
+ bt_component_source_init_iterator_cb init_iterator;
};
-#ifdef __cplusplus
-}
-#endif
+/**
+ * Allocate a source component.
+ *
+ * @param name Component instance name (will be copied)
+ * @returns A source component instance
+ */
+BT_HIDDEN
+extern struct bt_component *bt_component_source_create(const char *name);
#endif /* BABELTRACE_PLUGIN_SOURCE_INTERNAL_H */