-#ifndef BABELTRACE_COMPONENT_COMPONENT_H
-#define BABELTRACE_COMPONENT_COMPONENT_H
+#ifndef BABELTRACE_GRAPH_COMPONENT_H
+#define BABELTRACE_GRAPH_COMPONENT_H
/*
* BabelTrace - Babeltrace Component Interface
#include <babeltrace/graph/component-class.h>
#include <babeltrace/graph/notification-iterator.h>
#include <babeltrace/values.h>
-#include <stdio.h>
+#include <babeltrace/types.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.
*
extern enum bt_component_class_type bt_component_get_class_type(
struct bt_component *component);
+static inline
+bt_bool bt_component_is_source(struct bt_component *component)
+{
+ return bt_component_get_class_type(component) ==
+ BT_COMPONENT_CLASS_TYPE_SOURCE;
+}
+
+static inline
+bt_bool bt_component_is_filter(struct bt_component *component)
+{
+ return bt_component_get_class_type(component) ==
+ BT_COMPONENT_CLASS_TYPE_FILTER;
+}
+
+static inline
+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);
#ifdef __cplusplus
}
#endif
-#endif /* BABELTRACE_COMPONENT_COMPONENT_H */
+#endif /* BABELTRACE_GRAPH_COMPONENT_H */