Add event header accessors and support for custom event headers
[babeltrace.git] / include / babeltrace / ctf-ir / stream-internal.h
index afbb9ff51bea6ff68168f12fde1f7b3555e5d8fe..ca6a2eb3d966ad7b71bbe66bb9a3aa05dea0c157 100644 (file)
 #include <babeltrace/ctf/types.h>
 #include <glib.h>
 
-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);
This page took 0.023713 seconds and 4 git commands to generate.