List detected component classes
[babeltrace.git] / include / babeltrace / plugin / source-internal.h
index 54af8b703abe3148dc074e68388d47fc2b17c8e9..70c0196df82ce81321af95a4f9db6664e513265d 100644 (file)
 
 #include <babeltrace/babeltrace-internal.h>
 #include <babeltrace/plugin/component-internal.h>
+#include <babeltrace/plugin/component-class-internal.h>
 #include <babeltrace/plugin/plugin-system.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+struct bt_value;
+
+struct bt_component_source_class {
+       struct bt_component_class parent;
+};
 
 struct bt_component_source {
        struct bt_component parent;
 
        /* Component implementation callbacks */
-       bt_component_source_iterator_create_cb create_iterator;
+       bt_component_source_init_iterator_cb init_iterator;
 };
 
-#ifdef __cplusplus
-}
-#endif
+/**
+ * Allocate a source component.
+ *
+ * @param class                        Component class
+ * @param params               A dictionary of component parameters
+ * @returns                    A source component instance
+ */
+BT_HIDDEN
+struct bt_component *bt_component_source_create(
+               struct bt_component_class *class, struct bt_value *params);
+
+/**
+ * Validate a source component.
+ *
+ * @param component            Source component instance to validate
+ * @returns                    One of #bt_component_status
+ */
+BT_HIDDEN
+enum bt_component_status bt_component_source_validate(
+               struct bt_component *component);
 
 #endif /* BABELTRACE_PLUGIN_SOURCE_INTERNAL_H */
This page took 0.024092 seconds and 4 git commands to generate.