X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fstream-internal.h;h=f2ba5d362e90d737ea86ddf849ca3844b7950619;hb=e6a8e8e4744633807083a077ff9f101eb97d9801;hp=cc421d225f3e9d625ba44c1eb506cd13e7acbcc4;hpb=8bfa3f9cc64d97a164eb5fd2d9f9a31497d9e26d;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/stream-internal.h b/include/babeltrace/ctf-ir/stream-internal.h index cc421d22..f2ba5d36 100644 --- a/include/babeltrace/ctf-ir/stream-internal.h +++ b/include/babeltrace/ctf-ir/stream-internal.h @@ -28,7 +28,7 @@ */ #include -#include +#include #include #include #include @@ -36,35 +36,28 @@ #include #include -typedef void(*flush_func)(struct bt_ctf_stream *, void *); - -struct flush_callback { - flush_func func; - void *data; -}; - struct bt_ctf_stream { - struct bt_ctf_ref ref_count; + struct bt_object base; uint32_t id; struct bt_ctf_stream_class *stream_class; - struct flush_callback flush; /* Array of pointers to bt_ctf_event for the current packet */ GPtrArray *events; - /* Array of pointers to bt_ctf_field associated with each event*/ + /* Array of pointers to bt_ctf_field associated with each event */ + GPtrArray *event_headers; GPtrArray *event_contexts; struct ctf_stream_pos pos; unsigned int flushed_packet_count; + struct bt_ctf_field *packet_header; struct bt_ctf_field *packet_context; + struct bt_ctf_field *event_header; struct bt_ctf_field *event_context; }; +/* Stream class should be frozen by the caller after creating a stream */ BT_HIDDEN struct bt_ctf_stream *bt_ctf_stream_create( - struct bt_ctf_stream_class *stream_class); - -BT_HIDDEN -int bt_ctf_stream_set_flush_callback(struct bt_ctf_stream *stream, - flush_func callback, void *data); + struct bt_ctf_stream_class *stream_class, + struct bt_ctf_trace *trace); BT_HIDDEN int bt_ctf_stream_set_fd(struct bt_ctf_stream *stream, int fd);