* SOFTWARE.
*/
-#include <babeltrace/graph/component-status.h>
+/* For BT_COMPONENT_CLASS_TYPE_* */
#include <babeltrace/graph/component-class.h>
-#include <babeltrace/graph/notification-iterator.h>
-#include <babeltrace/values.h>
-#include <stdbool.h>
+
+/* For bt_bool */
+#include <babeltrace/types.h>
+
+/* For bt_get */
+#include <babeltrace/ref.h>
#ifdef __cplusplus
extern "C" {
struct bt_value;
struct bt_port;
-/**
- * Create an instance of a component from a component class.
- *
- * @param component_class Component class of which to create an instance
- * @param name Name of the new component instance, optional
- * @param params A dictionary of component parameters
- * @returns Returns a pointer to a new component instance
- */
-extern struct bt_component *bt_component_create(
- struct bt_component_class *component_class, const char *name,
- struct bt_value *params);
-
-extern struct bt_component *bt_component_create_with_init_method_data(
- struct bt_component_class *component_class, const char *name,
- struct bt_value *params, void *init_method_data);
-
/**
* Get component's name.
*
struct bt_component *component);
static inline
-bool bt_component_is_source(struct bt_component *component)
+bt_bool bt_component_is_source(struct bt_component *component)
{
return bt_component_get_class_type(component) ==
BT_COMPONENT_CLASS_TYPE_SOURCE;
}
static inline
-bool bt_component_is_filter(struct bt_component *component)
+bt_bool bt_component_is_filter(struct bt_component *component)
{
return bt_component_get_class_type(component) ==
BT_COMPONENT_CLASS_TYPE_FILTER;
}
static inline
-bool bt_component_is_sink(struct bt_component *component)
+bt_bool bt_component_is_sink(struct bt_component *component)
{
return bt_component_get_class_type(component) ==
BT_COMPONENT_CLASS_TYPE_SINK;
}
-extern struct bt_graph *bt_component_get_graph(struct bt_component *component);
+extern struct bt_graph *bt_component_borrow_graph(struct bt_component *component);
+
+static inline
+struct bt_graph *bt_component_get_graph(struct bt_component *component)
+{
+ return bt_get(bt_component_borrow_graph(component));
+}
#ifdef __cplusplus
}