-#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" {
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 */