Fix: add lib missing includes
[babeltrace.git] / lib / iterator.c
index 3a288a06e07ede3efe2893a0762bcac8bbbe67c2..2cb40cbc5b166a4e4884c58f4d52e817a7a7e8a0 100644 (file)
@@ -27,6 +27,7 @@
 #include <babeltrace/iterator-internal.h>
 #include <babeltrace/iterator.h>
 #include <babeltrace/prio_heap.h>
+#include <babeltrace/ctf/events.h>
 #include <inttypes.h>
 
 struct stream_saved_pos {
@@ -115,7 +116,8 @@ static int seek_file_stream_by_timestamp(struct ctf_file_stream *cfs,
                        continue;
 
                stream_pos->cur_index = i;
-               stream_pos->move_pos_slow(stream_pos, index->offset, SEEK_SET);
+               stream_pos->packet_seek(&stream_pos->parent,
+                       index->offset, SEEK_SET);
                while (cfs->parent.timestamp < timestamp) {
                        ret = stream_read_event(cfs);
                        if (ret < 0)
@@ -202,12 +204,12 @@ int bt_iter_set_pos(struct bt_iter *iter, const struct bt_iter_pos *iter_pos)
                                        saved_pos->cur_index);
 
                        stream_pos->cur_index = saved_pos->cur_index;
-                       stream_pos->move_pos_slow(stream_pos, index->offset,
-                                       SEEK_SET);
+                       stream_pos->packet_seek(&stream_pos->parent,
+                                       index->offset, SEEK_SET);
 
                        /*
                         * the timestamp needs to be restored after
-                        * move_pos_slow, because this function resets
+                        * packet_seek, because this function resets
                         * the timestamp to the beginning of the packet
                         */
                        stream->timestamp = saved_pos->current_timestamp;
@@ -385,7 +387,8 @@ static int babeltrace_filestream_seek(struct ctf_file_stream *file_stream,
                 */
                break;
        case BT_SEEK_BEGIN:
-               file_stream->pos.move_pos_slow(&file_stream->pos, 0, SEEK_SET);
+               file_stream->pos.packet_seek(&file_stream->pos.parent,
+                               0, SEEK_SET);
                ret = stream_read_event(file_stream);
                break;
        case BT_SEEK_TIME:
@@ -577,27 +580,27 @@ end:
        return ret;
 }
 
-int bt_iter_read_event(struct bt_iter *iter,
-               struct ctf_stream **stream,
-               struct ctf_stream_event **event)
+struct bt_ctf_event *bt_iter_read_ctf_event(struct bt_iter *iter)
 {
        struct ctf_file_stream *file_stream;
-       int ret = 0;
+       struct bt_ctf_event *ret = &iter->current_ctf_event;
 
        file_stream = heap_maximum(iter->stream_heap);
        if (!file_stream) {
                /* end of file for all streams */
-               ret = EOF;
-               goto end;
+               goto stop;
        }
-       *stream = &file_stream->parent;
-       *event = g_ptr_array_index((*stream)->events_by_id, (*stream)->event_id);
+       ret->stream = &file_stream->parent;
+       ret->event = g_ptr_array_index(ret->stream->events_by_id,
+                       ret->stream->event_id);
 
-       if ((*stream)->stream_id > iter->callbacks->len)
+       if (ret->stream->stream_id > iter->callbacks->len)
                goto end;
 
-       process_callbacks(iter, *stream);
+       process_callbacks(iter, ret->stream);
 
 end:
        return ret;
+stop:
+       return NULL;
 }
This page took 0.024059 seconds and 4 git commands to generate.