Remove Babeltrace 1 files and reorganize the tree
[babeltrace.git] / include / babeltrace / ctf-ir / stream-class-internal.h
index 94dc6206146d763eb728f222b084120a3cbe6658..b8366aaabd64a757d75384ccb533265b51a53996 100644 (file)
@@ -33,7 +33,8 @@
 #include <babeltrace/ctf-ir/trace.h>
 #include <babeltrace/object-internal.h>
 #include <babeltrace/babeltrace-internal.h>
-#include <babeltrace/ctf/types.h>
+#include <babeltrace/ctf-ir/trace-internal.h>
+#include <assert.h>
 #include <glib.h>
 
 struct bt_ctf_stream_class {
@@ -41,6 +42,8 @@ struct bt_ctf_stream_class {
        GString *name;
        struct bt_ctf_clock *clock;
        GPtrArray *event_classes; /* Array of pointers to bt_ctf_event_class */
+       /* event class id (int64_t) to event class */
+       GHashTable *event_classes_ht;
        int id_set;
        uint32_t id;
        uint32_t next_event_id;
@@ -50,6 +53,12 @@ struct bt_ctf_stream_class {
        struct bt_ctf_field_type *event_context_type;
        int frozen;
        int byte_order;
+
+       /*
+        * This flag indicates if the stream class is valid. A valid
+        * stream class is _always_ frozen.
+        */
+       int valid;
 };
 
 BT_HIDDEN
@@ -72,4 +81,12 @@ BT_HIDDEN
 int bt_ctf_stream_class_set_id_no_check(
                struct bt_ctf_stream_class *stream_class, uint32_t id);
 
+static inline
+struct bt_ctf_trace *bt_ctf_stream_class_borrow_trace(
+               struct bt_ctf_stream_class *stream_class)
+{
+       assert(stream_class);
+       return (void *) bt_object_borrow_parent(stream_class);
+}
+
 #endif /* BABELTRACE_CTF_IR_STREAM_CLASS_INTERNAL_H */
This page took 0.025493 seconds and 4 git commands to generate.