X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=include%2Fbabeltrace%2Fctf-ir%2Fstream-internal.h;h=ca6a2eb3d966ad7b71bbe66bb9a3aa05dea0c157;hb=9f476966aa40bd0de2cd0654623ea03f8a3254eb;hp=afbb9ff51bea6ff68168f12fde1f7b3555e5d8fe;hpb=bc37ae52aa6face901440bf7eb2171104b5343d8;p=babeltrace.git diff --git a/include/babeltrace/ctf-ir/stream-internal.h b/include/babeltrace/ctf-ir/stream-internal.h index afbb9ff5..ca6a2eb3 100644 --- a/include/babeltrace/ctf-ir/stream-internal.h +++ b/include/babeltrace/ctf-ir/stream-internal.h @@ -36,32 +36,29 @@ #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; + /* Trace owning this stream. A stream does not own a trace. */ + struct bt_ctf_trace *trace; 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 */ + 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; }; 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);