Make bt_private_connection_create_notification_iterator() return a status code
[babeltrace.git] / include / babeltrace / graph / notification-iterator-internal.h
index 5903a586ecae7e3bb9fcba3f88737ecb90ca0711..b7aafe0160f0927a503b947c71cd5623ed0b66d4 100644 (file)
@@ -132,28 +132,13 @@ bt_private_notification_iterator_from_notification_iterator(
        return (void *) notification_iterator;
 }
 
-/**
- * Allocate a notification iterator.
- *
- * @param component            Component instance
- * @returns                    A notification iterator instance
- */
 BT_HIDDEN
-struct bt_notification_iterator *bt_notification_iterator_create(
-               struct bt_component *upstream_component,
+enum bt_connection_status bt_notification_iterator_create(
+               struct bt_component *upstream_comp,
                struct bt_port *upstream_port,
                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);
+               struct bt_connection *connection,
+               struct bt_notification_iterator **iterator);
 
 BT_HIDDEN
 void bt_notification_iterator_finalize(
@@ -164,4 +149,48 @@ void bt_notification_iterator_set_connection(
                struct bt_notification_iterator *iterator,
                struct bt_connection *connection);
 
+static inline
+const char *bt_notification_iterator_status_string(
+               enum bt_notification_iterator_status status)
+{
+       switch (status) {
+       case BT_NOTIFICATION_ITERATOR_STATUS_CANCELED:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_CANCELED";
+       case BT_NOTIFICATION_ITERATOR_STATUS_AGAIN:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_AGAIN";
+       case BT_NOTIFICATION_ITERATOR_STATUS_END:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_END";
+       case BT_NOTIFICATION_ITERATOR_STATUS_OK:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_OK";
+       case BT_NOTIFICATION_ITERATOR_STATUS_INVALID:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_INVALID";
+       case BT_NOTIFICATION_ITERATOR_STATUS_ERROR:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_ERROR";
+       case BT_NOTIFICATION_ITERATOR_STATUS_NOMEM:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_NOMEM";
+       case BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED:
+               return "BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED";
+       default:
+               return "(unknown)";
+       }
+};
+
+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.041105 seconds and 4 git commands to generate.