lib: graph: add "self" and some "private" APIs
[babeltrace.git] / include / babeltrace / graph / component-source.h
index 165ba0d248e5ed17b4bce3a2e06fc5dfe9c77bc1..91af914b95335a4a13cd728509e4d9cc43b8704f 100644 (file)
@@ -1,9 +1,7 @@
-#ifndef BABELTRACE_COMPONENT_SOURCE_H
-#define BABELTRACE_COMPONENT_SOURCE_H
+#ifndef BABELTRACE_GRAPH_COMPONENT_SOURCE_H
+#define BABELTRACE_GRAPH_COMPONENT_SOURCE_H
 
 /*
- * BabelTrace - Source Plug-in Interface
- *
  * Copyright 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
  * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
  */
 
 #include <stdint.h>
-#include <babeltrace/graph/component.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 struct bt_component;
-struct bt_notification_iterator;
+struct bt_component_source;
+struct bt_port_output;
+
+static inline
+struct bt_component *bt_component_source_borrow_component(
+               struct bt_component_source *component)
+{
+       return (void *) component;
+}
+
+extern uint64_t bt_component_source_get_output_port_count(
+               struct bt_component_source *component);
+
+extern struct bt_port_output *bt_component_source_borrow_output_port_by_name(
+               struct bt_component_source *component, const char *name);
 
-extern enum bt_component_status bt_component_source_get_output_port_count(
-               struct bt_component *component, uint64_t *count);
-extern struct bt_port *bt_component_source_get_output_port(
-               struct bt_component *component, const char *name);
-extern struct bt_port *bt_component_source_get_output_port_at_index(
-               struct bt_component *component, int index);
-extern struct bt_port *bt_component_source_get_default_output_port(
-               struct bt_component *component);
+extern struct bt_port_output *bt_component_source_borrow_output_port_by_index(
+               struct bt_component_source *component, uint64_t index);
 
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* BABELTRACE_COMPONENT_SOURCE_H */
+#endif /* BABELTRACE_GRAPH_COMPONENT_SOURCE_H */
This page took 0.024866 seconds and 4 git commands to generate.