Add graph event listeners
[babeltrace.git] / include / babeltrace / component / graph.h
index 4524be3588d852e0b48293bbb79a1958d479deda..2d62484fa4bc220e9181269dcca1f3c44dd860e6 100644 (file)
@@ -54,6 +54,16 @@ enum bt_graph_status {
        BT_GRAPH_STATUS_ERROR = -5,
 };
 
+typedef void (*bt_graph_port_added_listener)(struct bt_port *port,
+               void *data);
+typedef void (*bt_graph_port_removed_listener)(struct bt_component *component,
+               struct bt_port *port, void *data);
+typedef void (*bt_graph_port_connected_listener)(struct bt_port *port,
+               void *data);
+typedef void (*bt_graph_port_disconnected_listener)(
+               struct bt_component *component, struct bt_port *port,
+               void *data);
+
 extern struct bt_graph *bt_graph_create(void);
 
 /**
@@ -88,6 +98,22 @@ extern enum bt_graph_status bt_graph_run(struct bt_graph *graph);
  */
 extern enum bt_graph_status bt_graph_consume(struct bt_graph *graph);
 
+extern enum bt_graph_status bt_graph_add_port_added_listener(
+               struct bt_graph *graph,
+               bt_graph_port_added_listener listener, void *data);
+
+extern enum bt_graph_status bt_graph_add_port_removed_listener(
+               struct bt_graph *graph,
+               bt_graph_port_removed_listener listener, void *data);
+
+extern enum bt_graph_status bt_graph_add_port_connected_listener(
+               struct bt_graph *graph,
+               bt_graph_port_connected_listener listener, void *data);
+
+extern enum bt_graph_status bt_graph_add_port_disconnected_listener(
+               struct bt_graph *graph,
+               bt_graph_port_disconnected_listener listener, void *data);
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.026379 seconds and 4 git commands to generate.