struct bt_ctf_field;
struct bt_ctf_field_type;
struct bt_ctf_stream_class;
+struct bt_ctf_packet;
/*
* bt_ctf_event_create: instanciate an event.
struct bt_ctf_field *context);
/*
- * bt_ctf_event_copy: Deep-copy an event.
+ * bt_ctf_event_get_stream_event_context: Get an event's stream event context
*
- * Get an event's deep copy.
- *
- * On success, the returned copy has its reference count set to 1.
- *
- * @param event Event to copy.
+ * @param event_class Event class.
*
- * Returns the deep-copied event on success, NULL on error.
+ * Returns a field on success (a structure), NULL on error.
*/
-extern struct bt_ctf_event *bt_ctf_event_copy(struct bt_ctf_event *event);
+extern struct bt_ctf_field *bt_ctf_event_get_stream_event_context(
+ struct bt_ctf_event *event);
/*
- * bt_ctf_event_get and bt_ctf_event_put: increment and decrement
- * the event's reference count.
- *
- * You may also use bt_ctf_get() and bt_ctf_put() with event objects.
+ * bt_ctf_event_set_stream_event_context: Set an event's stream event context
*
- * These functions ensure that the event won't be destroyed while it
- * is in use. The same number of get and put (plus one extra put to
- * release the initial reference done at creation) have to be done to
- * destroy an event.
- *
- * When the event's reference count is decremented to 0 by a
- * bt_ctf_event_put, the event is freed.
+ * @param event Event.
+ * @param context Event stream context field (must match the stream class'
+ * stream event context type).
*
- * @param event Event instance.
+ * Returns 0 on success, a negative value on error.
*/
-extern void bt_ctf_event_get(struct bt_ctf_event *event);
-extern void bt_ctf_event_put(struct bt_ctf_event *event);
+extern int bt_ctf_event_set_stream_event_context(struct bt_ctf_event *event,
+ struct bt_ctf_field *context);
+
+extern int bt_ctf_event_set_packet(struct bt_ctf_event *event,
+ struct bt_ctf_packet *packet);
#ifdef __cplusplus
}