lib: make graph API const-correct
[babeltrace.git] / include / babeltrace / graph / connection-internal.h
index 2a85296831089a06e3f46bc1d4326b5efbca7abd..784ca643a4864e5908325cb29377303755e6c6b3 100644 (file)
@@ -1,9 +1,7 @@
-#ifndef BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H
-#define BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H
+#ifndef BABELTRACE_GRAPH_CONNECTION_INTERNAL_H
+#define BABELTRACE_GRAPH_CONNECTION_INTERNAL_H
 
 /*
- * BabelTrace - Component Connection Internal
- *
  * Copyright 2017 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
  * Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
  * SOFTWARE.
  */
 
-#include <babeltrace/graph/connection.h>
-#include <babeltrace/graph/private-connection.h>
+#include <babeltrace/graph/connection-const.h>
+#include <babeltrace/graph/notification-iterator.h>
+#include <babeltrace/graph/notification-iterator-internal.h>
 #include <babeltrace/object-internal.h>
+#include <babeltrace/assert-internal.h>
+#include <stdbool.h>
 
 struct bt_graph;
 
@@ -54,21 +55,14 @@ struct bt_connection {
         * created on this connection.
         */
        GPtrArray *iterators;
-};
 
-static inline
-struct bt_connection *bt_connection_from_private(
-               struct bt_private_connection *private_connection)
-{
-       return (void *) private_connection;
-}
-
-static inline
-struct bt_private_connection *bt_private_connection_from_connection(
-               struct bt_connection *connection)
-{
-       return (void *) connection;
-}
+       bool notified_upstream_port_connected;
+       bool notified_upstream_port_disconnected;
+       bool notified_downstream_port_connected;
+       bool notified_downstream_port_disconnected;
+       bool notified_graph_ports_connected;
+       bool notified_graph_ports_disconnected;
+};
 
 BT_HIDDEN
 struct bt_connection *bt_connection_create(struct bt_graph *graph,
@@ -76,10 +70,17 @@ struct bt_connection *bt_connection_create(struct bt_graph *graph,
                struct bt_port *downstream_port);
 
 BT_HIDDEN
-void bt_connection_disconnect_ports(struct bt_connection *conn);
+void bt_connection_end(struct bt_connection *conn, bool try_remove_from_graph);
 
 BT_HIDDEN
 void bt_connection_remove_iterator(struct bt_connection *conn,
-               struct bt_notification_iterator *iterator);
+               struct bt_self_component_port_input_notification_iterator *iterator);
+
+static inline
+struct bt_graph *bt_connection_borrow_graph(struct bt_connection *conn)
+{
+       BT_ASSERT(conn);
+       return (void *) conn->base.parent;
+}
 
-#endif /* BABELTRACE_COMPONENT_CONNECTION_INTERNAL_H */
+#endif /* BABELTRACE_GRAPH_CONNECTION_INTERNAL_H */
This page took 0.024241 seconds and 4 git commands to generate.