-#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>
*/
#include <babeltrace/graph/connection.h>
-#include <babeltrace/graph/private-connection.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;
* 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,
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 */