lib: Add functions to borrow specialized component classes from specialized components
[babeltrace.git] / lib / graph / component-source.c
index b1e441399bce3993c8238fff8023d97d2ae31e5d..b638c33247b7c45c77cbc19f3e8811e6fc5ce307 100644 (file)
@@ -32,7 +32,7 @@
 #include <babeltrace/graph/component-source-internal.h>
 #include <babeltrace/graph/component-internal.h>
 #include <babeltrace/graph/port-internal.h>
-#include <babeltrace/graph/message-iterator.h>
+#include <babeltrace/graph/message-iterator-const.h>
 #include <babeltrace/graph/message-iterator-internal.h>
 #include <babeltrace/graph/graph.h>
 
@@ -57,6 +57,22 @@ end:
        return (void *) source;
 }
 
+const bt_component_class_source *
+bt_component_source_borrow_class_const(
+               const bt_component_source *component)
+{
+       struct bt_component_class *cls;
+
+       BT_ASSERT_PRE_NON_NULL(component, "Component");
+
+       cls = component->parent.class;
+
+       BT_ASSERT(cls);
+       BT_ASSERT(cls->type == BT_COMPONENT_CLASS_TYPE_SOURCE);
+
+       return (bt_component_class_source *) cls;
+}
+
 uint64_t bt_component_source_get_output_port_count(
                const struct bt_component_source *comp)
 {
This page took 0.024699 seconds and 4 git commands to generate.