Add trace moficiation notification handler interface
[babeltrace.git] / include / babeltrace / ctf-ir / trace-internal.h
index 2f738bd743e6cc67ba3e39c3c179d721f3c5c09e..c631b97d816f24dd75e29030aff023b29e896875 100644 (file)
  * SOFTWARE.
  */
 
-#include <babeltrace/ctf-writer/ref-internal.h>
 #include <babeltrace/ctf-ir/trace.h>
-#include <babeltrace/ctf-ir/event-types.h>
-#include <babeltrace/ctf-ir/event-fields.h>
+#include <babeltrace/ctf-ir/field-types.h>
+#include <babeltrace/ctf-ir/fields.h>
+#include <babeltrace/object-internal.h>
 #include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/values.h>
 #include <glib.h>
 #include <sys/types.h>
 #include <uuid/uuid.h>
@@ -47,25 +48,24 @@ enum field_type_alias {
 };
 
 struct bt_ctf_trace {
-       struct bt_ctf_ref ref_count;
+       struct bt_object base;
        int frozen;
        uuid_t uuid;
        int byte_order; /* A value defined in Babeltrace's "endian.h" */
-       GPtrArray *environment; /* Array of pointers to environment_variable */
+       struct bt_value *environment;
        GPtrArray *clocks; /* Array of pointers to bt_ctf_clock */
        GPtrArray *stream_classes; /* Array of ptrs to bt_ctf_stream_class */
        GPtrArray *streams; /* Array of ptrs to bt_ctf_stream */
        struct bt_ctf_field_type *packet_header_type;
        uint64_t next_stream_id;
-};
+       int is_created_by_writer;
 
-struct environment_variable {
-       GString *name;
-       enum bt_environment_field_type type;
-       union {
-               GString *string;
-               int64_t integer;
-       } value;
+       /*
+        * This flag indicates if the trace is valid. A valid
+        * trace is _always_ frozen.
+        */
+       int valid;
+       GPtrArray *notification_handlers; /* Array of notification_handler */
 };
 
 struct metadata_context {
This page took 0.029503 seconds and 4 git commands to generate.