*/
#include <babeltrace/ctf-ir/stream.h>
-#include <babeltrace/ctf-writer/ref-internal.h>
+#include <babeltrace/ctf-ir/common-internal.h>
#include <babeltrace/ctf-writer/clock.h>
#include <babeltrace/ctf-writer/event-fields.h>
#include <babeltrace/ctf-writer/event-types.h>
#include <glib.h>
struct bt_ctf_stream {
- struct bt_ctf_ref ref_count;
+ struct bt_ctf_base base;
/* 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;
/* 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 locked by the caller after creating a stream */
BT_HIDDEN
struct bt_ctf_stream *bt_ctf_stream_create(
struct bt_ctf_stream_class *stream_class,