Fix: do not allow a notif. iter. to call the user's "next" method once finalized
[babeltrace.git] / include / babeltrace / graph / notification-iterator-internal.h
index ebbd01fcbceb74c442a27cc54cb7eaacf09795c7..f54547442b805764d44c964b6651875869bcd868 100644 (file)
@@ -145,16 +145,6 @@ struct bt_notification_iterator *bt_notification_iterator_create(
                const enum bt_notification_type *notification_types,
                struct bt_connection *connection);
 
-/**
- * Validate a notification iterator.
- *
- * @param iterator             Notification iterator instance
- * @returns                    One of #bt_component_status values
- */
-BT_HIDDEN
-enum bt_notification_iterator_status bt_notification_iterator_validate(
-               struct bt_notification_iterator *iterator);
-
 BT_HIDDEN
 void bt_notification_iterator_finalize(
                struct bt_notification_iterator *iterator);
@@ -190,4 +180,22 @@ const char *bt_notification_iterator_status_string(
        }
 };
 
+static inline
+const char *bt_notification_iterator_state_string(
+               enum bt_notification_iterator_state state)
+{
+       switch (state) {
+       case BT_NOTIFICATION_ITERATOR_STATE_ACTIVE:
+               return "BT_NOTIFICATION_ITERATOR_STATE_ACTIVE";
+       case BT_NOTIFICATION_ITERATOR_STATE_ENDED:
+               return "BT_NOTIFICATION_ITERATOR_STATE_ENDED";
+       case BT_NOTIFICATION_ITERATOR_STATE_FINALIZED:
+               return "BT_NOTIFICATION_ITERATOR_STATE_FINALIZED";
+       case BT_NOTIFICATION_ITERATOR_STATE_FINALIZED_AND_ENDED:
+               return "BT_NOTIFICATION_ITERATOR_STATE_FINALIZED_AND_ENDED";
+       default:
+               return "(unknown)";
+       }
+};
+
 #endif /* BABELTRACE_COMPONENT_NOTIFICATION_ITERATOR_INTERNAL_H */
This page took 0.041586 seconds and 4 git commands to generate.