+extern bt_graph_status bt_graph_add_sink_component_with_init_method_data(
+ bt_graph *graph, const bt_component_class_sink *component_class,
+ const char *name, const bt_value *params,
+ void *init_method_data,
+ const bt_component_sink **component);
+
+extern bt_graph_status bt_graph_connect_ports(bt_graph *graph,
+ const bt_port_output *upstream,
+ const bt_port_input *downstream,
+ const bt_connection **connection);
+
+extern bt_graph_status bt_graph_run(bt_graph *graph);
+
+extern bt_graph_status bt_graph_consume(bt_graph *graph);
+
+extern bt_graph_status bt_graph_add_filter_component_input_port_added_listener(
+ bt_graph *graph,
+ bt_graph_filter_component_input_port_added_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status bt_graph_add_sink_component_input_port_added_listener(
+ bt_graph *graph,
+ bt_graph_sink_component_input_port_added_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status bt_graph_add_source_component_output_port_added_listener(
+ bt_graph *graph,
+ bt_graph_source_component_output_port_added_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status bt_graph_add_filter_component_output_port_added_listener(
+ bt_graph *graph,
+ bt_graph_filter_component_output_port_added_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status
+bt_graph_add_source_filter_component_ports_connected_listener(
+ bt_graph *graph,
+ bt_graph_source_filter_component_ports_connected_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status
+bt_graph_add_filter_filter_component_ports_connected_listener(
+ bt_graph *graph,
+ bt_graph_filter_filter_component_ports_connected_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status
+bt_graph_add_source_sink_component_ports_connected_listener(
+ bt_graph *graph,
+ bt_graph_source_sink_component_ports_connected_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status
+bt_graph_add_filter_sink_component_ports_connected_listener(
+ bt_graph *graph,
+ bt_graph_filter_sink_component_ports_connected_listener_func listener,
+ bt_graph_listener_removed_func listener_removed, void *data,
+ int *listener_id);
+
+extern bt_graph_status bt_graph_cancel(bt_graph *graph);