X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=lib%2Fgraph%2Fnotification%2Fnotification.c;h=0bcfb7dfbdacf225ba6f6898b1d105f5aba6f8e3;hb=5c5632787fc9cafa602c89a28966bcfd01ec0204;hp=57da6c333c3ae95c80d24babd2eec2bcff210ccf;hpb=312c056ae3d374b253fa0cfe5ed576c0b0e5e569;p=babeltrace.git diff --git a/lib/graph/notification/notification.c b/lib/graph/notification/notification.c index 57da6c33..0bcfb7df 100644 --- a/lib/graph/notification/notification.c +++ b/lib/graph/notification/notification.c @@ -28,13 +28,14 @@ #include #include +#include #include #include BT_ASSERT_PRE_FUNC static inline void _init_seq_num(struct bt_notification *notification) { - notification->seq_num = -1ULL; + notification->seq_num = UINT64_C(-1); } #ifdef BT_DEV_MODE @@ -46,12 +47,18 @@ static inline void _init_seq_num(struct bt_notification *notification) BT_HIDDEN void bt_notification_init(struct bt_notification *notification, enum bt_notification_type type, - bt_object_release_func release) + bt_object_release_func release, + struct bt_graph *graph) { BT_ASSERT(type >= 0 && type < BT_NOTIFICATION_TYPE_NR); notification->type = type; init_seq_num(notification); bt_object_init(¬ification->base, release); + notification->graph = graph; + + if (graph) { + bt_graph_add_notification(graph, notification); + } } enum bt_notification_type bt_notification_get_type( @@ -60,3 +67,10 @@ enum bt_notification_type bt_notification_get_type( BT_ASSERT_PRE_NON_NULL(notification, "Notification"); return notification->type; } + +BT_HIDDEN +void bt_notification_unlink_graph(struct bt_notification *notif) +{ + BT_ASSERT(notif); + notif->graph = NULL; +}