X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fgraph%2Fiterator.c;h=799888bc4f772b1e1bd01267f2ebe7da9b9183b9;hb=5c5632787fc9cafa602c89a28966bcfd01ec0204;hp=61b5298bdcdc9c4bacac18760769de52f7c4b022;hpb=312c056ae3d374b253fa0cfe5ed576c0b0e5e569;p=babeltrace.git diff --git a/lib/graph/iterator.c b/lib/graph/iterator.c index 61b5298b..799888bc 100644 --- a/lib/graph/iterator.c +++ b/lib/graph/iterator.c @@ -347,6 +347,7 @@ enum bt_connection_status bt_private_connection_notification_iterator_create( iterator->upstream_component = upstream_comp; iterator->upstream_port = upstream_port; iterator->connection = connection; + iterator->graph = bt_component_borrow_graph(upstream_comp); iterator->state = BT_PRIVATE_CONNECTION_NOTIFICATION_ITERATOR_STATE_NON_INITIALIZED; BT_LOGD("Created notification iterator: " "upstream-comp-addr=%p, upstream-comp-name=\"%s\", " @@ -368,7 +369,7 @@ end: void *bt_private_connection_private_notification_iterator_get_user_data( struct bt_private_connection_private_notification_iterator *private_iterator) { - struct bt_notification_iterator_private_connection *iterator = + struct bt_notification_iterator_private_connection *iterator = (void *) bt_private_connection_notification_iterator_borrow_from_private(private_iterator); BT_ASSERT_PRE_NON_NULL(private_iterator, "Notification iterator"); @@ -380,7 +381,7 @@ bt_private_connection_private_notification_iterator_set_user_data( struct bt_private_connection_private_notification_iterator *private_iterator, void *data) { - struct bt_notification_iterator_private_connection *iterator = + struct bt_notification_iterator_private_connection *iterator = (void *) bt_private_connection_notification_iterator_borrow_from_private(private_iterator); BT_ASSERT_PRE_NON_NULL(iterator, "Notification iterator"); @@ -390,6 +391,17 @@ bt_private_connection_private_notification_iterator_set_user_data( return BT_NOTIFICATION_ITERATOR_STATUS_OK; } +struct bt_graph *bt_private_connection_private_notification_iterator_borrow_graph( + struct bt_private_connection_private_notification_iterator *private_iterator) +{ + struct bt_notification_iterator_private_connection *iterator = (void *) + bt_private_connection_notification_iterator_borrow_from_private( + private_iterator); + + BT_ASSERT_PRE_NON_NULL(iterator, "Notification iterator"); + return iterator->graph; +} + struct bt_notification *bt_notification_iterator_borrow_notification( struct bt_notification_iterator *iterator) { @@ -1004,10 +1016,8 @@ end: } struct bt_notification_iterator * -bt_private_connection_notification_iterator_from_private( +bt_private_connection_notification_iterator_borrow_from_private( struct bt_private_connection_private_notification_iterator *private_notification_iterator) { - return bt_get( - bt_private_connection_notification_iterator_borrow_from_private( - private_notification_iterator)); + return (void *) private_notification_iterator; }