#define BABELTRACE_GRAPH_NOTIFICATION_ITERATOR_H
/*
- * BabelTrace - Notification Iterator
- *
* Copyright 2015 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
* Author: Jérémie Galarneau <jeremie.galarneau@efficios.com>
* SOFTWARE.
*/
-#include <stdint.h>
-
#ifdef __cplusplus
extern "C" {
#endif
struct bt_notification;
struct bt_notification_iterator;
-/**
- * Status code. Errors are always negative.
- */
enum bt_notification_iterator_status {
- /** Canceled. */
- BT_NOTIFICATION_ITERATOR_STATUS_CANCELED = 125,
- /** No notifications available for now. Try again later. */
- BT_NOTIFICATION_ITERATOR_STATUS_AGAIN = 11,
- /** No more notifications to be delivered. */
- BT_NOTIFICATION_ITERATOR_STATUS_END = 1,
- /** No error, okay. */
BT_NOTIFICATION_ITERATOR_STATUS_OK = 0,
- /** Invalid arguments. */
- BT_NOTIFICATION_ITERATOR_STATUS_INVALID = -22,
- /** General error. */
+ BT_NOTIFICATION_ITERATOR_STATUS_END = 1,
+ BT_NOTIFICATION_ITERATOR_STATUS_AGAIN = 11,
+ BT_NOTIFICATION_ITERATOR_STATUS_CANCELED = 125,
BT_NOTIFICATION_ITERATOR_STATUS_ERROR = -1,
- /** Out of memory. */
BT_NOTIFICATION_ITERATOR_STATUS_NOMEM = -12,
- /** Unsupported iterator feature. */
- BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED = -2,
};
-/**
- * Get current notification at iterator's position.
- *
- * This functions will <b>not</b> advance the cursor's position.
- * The returned notification's reference count is already incremented.
- *
- * @param iterator Iterator instance
- * @returns Returns a bt_notification instance
- *
- * @see bt_put()
- */
-extern struct bt_notification *bt_notification_iterator_get_notification(
- struct bt_notification_iterator *iterator);
-
-/**
- * Advance the iterator's position forward.
- *
- * This function can be called repeatedly to iterate through the iterator's
- * associated trace.
- *
- * @param iterator Iterator instance
- * @returns Returns a bt_notification instance
- *
- * @see bt_notification_iterator_get_notification()
- */
-extern enum bt_notification_iterator_status
-bt_notification_iterator_next(struct bt_notification_iterator *iterator);
-
-extern struct bt_component *bt_notification_iterator_get_component(
- struct bt_notification_iterator *iterator);
-
#ifdef __cplusplus
}
#endif