#define BABELTRACE_CTF_IR_EVENT_INTERNAL_H
/*
- * BabelTrace - CTF IR: Event internal
+ * Babeltrace - CTF IR: Event internal
*
* Copyright 2013, 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
*
#include <babeltrace/ctf/types.h>
#include <babeltrace/ctf-ir/stream-class.h>
#include <babeltrace/ctf-ir/stream.h>
+#include <babeltrace/ctf-ir/packet.h>
#include <babeltrace/object-internal.h>
#include <glib.h>
-#define BT_CTF_EVENT_CLASS_ATTR_ID_INDEX 0
-#define BT_CTF_EVENT_CLASS_ATTR_NAME_INDEX 1
-
-struct bt_ctf_event_class {
- struct bt_object base;
- struct bt_value *attributes;
- /* Structure type containing the event's context */
- struct bt_ctf_field_type *context;
- /* Structure type containing the event's fields */
- struct bt_ctf_field_type *fields;
- int frozen;
-
- /*
- * This flag indicates if the event class is valid. A valid
- * event class is _always_ frozen. However, an event class
- * may be frozen, but not valid yet. This is okay, as long as
- * no events are created out of this event class.
- */
- int valid;
-};
-
struct bt_ctf_event {
struct bt_object base;
struct bt_ctf_event_class *event_class;
+ struct bt_ctf_packet *packet;
struct bt_ctf_field *event_header;
+ struct bt_ctf_field *stream_event_context;
struct bt_ctf_field *context_payload;
struct bt_ctf_field *fields_payload;
+ /* Maps clock classes to bt_ctf_clock_value. */
+ GHashTable *clock_values;
+ int frozen;
};
-BT_HIDDEN
-void bt_ctf_event_class_freeze(struct bt_ctf_event_class *event_class);
-
-BT_HIDDEN
-int bt_ctf_event_class_serialize(struct bt_ctf_event_class *event_class,
- struct metadata_context *context);
-
-BT_HIDDEN
-void bt_ctf_event_class_set_native_byte_order(
- struct bt_ctf_event_class *event_class,
- int byte_order);
-
-BT_HIDDEN
-int bt_ctf_event_class_set_stream_id(struct bt_ctf_event_class *event_class,
- uint32_t stream_id);
-
BT_HIDDEN
int bt_ctf_event_validate(struct bt_ctf_event *event);
BT_HIDDEN
int bt_ctf_event_populate_event_header(struct bt_ctf_event *event);
+BT_HIDDEN
+void bt_ctf_event_freeze(struct bt_ctf_event *event);
+
#endif /* BABELTRACE_CTF_IR_EVENT_INTERNAL_H */