lib: add bt_{graph,query_executor}_add_interrupter()
[babeltrace.git] / src / lib / graph / graph.h
index 74c794707206e6770fa12f616ead62c74e3bfa9e..4e500d49002417b44854a324134c1e8b2f90f698 100644 (file)
@@ -67,6 +67,7 @@ enum bt_graph_configuration_state {
        BT_GRAPH_CONFIGURATION_STATE_PARTIALLY_CONFIGURED,
        BT_GRAPH_CONFIGURATION_STATE_CONFIGURED,
        BT_GRAPH_CONFIGURATION_STATE_FAULTY,
+       BT_GRAPH_CONFIGURATION_STATE_DESTROYING,
 };
 
 struct bt_graph {
@@ -89,7 +90,19 @@ struct bt_graph {
        /* Queue of pointers (weak references) to sink bt_components. */
        GQueue *sinks_to_consume;
 
-       bool canceled;
+       /*
+        * Array of `struct bt_interrupter *`, each one owned by this.
+        * If any interrupter is set, then this graph is deemed
+        * interrupted.
+        */
+       GPtrArray *interrupters;
+
+       /*
+        * Default interrupter to support bt_graph_interrupt(); owned
+        * by this.
+        */
+       struct bt_interrupter *default_interrupter;
+
        bool in_remove_listener;
        bool has_sink;
 
@@ -184,6 +197,9 @@ BT_HIDDEN
 void bt_graph_add_message(struct bt_graph *graph,
                struct bt_message *msg);
 
+BT_HIDDEN
+bool bt_graph_is_interrupted(const struct bt_graph *graph);
+
 static inline
 const char *bt_graph_configuration_state_string(
                enum bt_graph_configuration_state state)
This page took 0.023899 seconds and 4 git commands to generate.