Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
/**
* Notification iterator seek reference.
*/
/**
* Notification iterator seek reference.
*/
-enum bt_notification_iterator_seek_type {
+enum bt_notification_iterator_seek_origin {
/** Seek at a time relative to the beginning of the trace. */
/** Seek at a time relative to the beginning of the trace. */
- BT_NOTIFICATION_ITERATOR_SEEK_TYPE_BEGIN = 0,
+ BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_BEGIN = 0,
/** Seek at a time relative to the current position. */
/** Seek at a time relative to the current position. */
- BT_NOTIFICATION_ITERATOR_SEEK_TYPE_CURRENT = 1,
+ BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_CURRENT = 1,
/** Seek at a time relative to the end of the trace. */
/** Seek at a time relative to the end of the trace. */
- BT_NOTIFICATION_ITERATOR_SEEK_TYPE_END = 1,
+ BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_END = 2,
+
+ /** Seek at a time relative to EPOCH. */
+ BT_NOTIFICATION_ITERATOR_SEEK_ORIGIN_EPOCH = 3,
bt_notification_iterator_next(struct bt_notification_iterator *iterator);
/**
bt_notification_iterator_next(struct bt_notification_iterator *iterator);
/**
- * Seek iterator to position.
+ * Seek iterator to time.
*
* Sets the iterator's position for the trace associated with the iterator.
* The new position is computed by adding \p time to the position specified
*
* Sets the iterator's position for the trace associated with the iterator.
* The new position is computed by adding \p time to the position specified
+ * by \p seek_origin.
+ *
+ * time is expressed in nanoseconds.
*
* @param iterator Iterator instance
*
* @param iterator Iterator instance
- * @param whence One of #bt_notification_iterator_seek_type values.
+ * @param seek_origin One of #bt_notification_iterator_seek_type values.
* @returns One of #bt_notification_iterator_status values;
* if \iterator does not support seeking,
* #BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED is
* @returns One of #bt_notification_iterator_status values;
* if \iterator does not support seeking,
* #BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED is
*
* @see bt_notification_iterator_get_notification()
*/
*
* @see bt_notification_iterator_get_notification()
*/
-extern enum bt_notification_iterator_status *bt_notification_iterator_seek(
- struct bt_notification_iterator *iterator, int whence,
+extern enum bt_notification_iterator_status bt_notification_iterator_seek_time(
+ struct bt_notification_iterator *iterator,
+ enum bt_notification_iterator_seek_origin seek_origin,
int64_t time);
extern struct bt_component *bt_notification_iterator_get_component(
int64_t time);
extern struct bt_component *bt_notification_iterator_get_component(
return bt_get(iterator->component);
}
return bt_get(iterator->component);
}
+enum bt_notification_iterator_status bt_notification_iterator_seek_time(
+ struct bt_notification_iterator *iterator,
+ enum bt_notification_iterator_seek_origin seek_origin,
+ int64_t time)
+{
+ enum bt_notification_iterator_status ret = BT_NOTIFICATION_ITERATOR_STATUS_UNSUPPORTED;
+end:
+ return ret;
+}