ir: make trace environment use bt_object
[babeltrace.git] / include / babeltrace / ctf-ir / trace-internal.h
index dc0b7069e196f39457049ac66031eea703f411dd..b32f7cabc3b9ecc299d7edbe1f1d7614c57cd3fe 100644 (file)
@@ -32,6 +32,7 @@
 #include <babeltrace/ctf-ir/event-types.h>
 #include <babeltrace/ctf-ir/event-fields.h>
 #include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/objects.h>
 #include <glib.h>
 #include <sys/types.h>
 #include <uuid/uuid.h>
@@ -50,8 +51,8 @@ struct bt_ctf_trace {
        struct bt_ctf_ref ref_count;
        int frozen;
        uuid_t uuid;
-       int byte_order;
-       GPtrArray *environment; /* Array of pointers to environment_variable */
+       int byte_order; /* A value defined in Babeltrace's "endian.h" */
+       struct bt_object *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 */
@@ -60,7 +61,12 @@ struct bt_ctf_trace {
 };
 
 struct environment_variable {
-       GString *name, *value;
+       GString *name;
+       enum bt_environment_field_type type;
+       union {
+               GString *string;
+               int64_t integer;
+       } value;
 };
 
 struct metadata_context {
@@ -69,10 +75,6 @@ struct metadata_context {
        unsigned int current_indentation_level;
 };
 
-/* Checks that the string does not contain a reserved keyword */
-BT_HIDDEN
-int validate_identifier(const char *string);
-
 BT_HIDDEN
 const char *get_byte_order_string(int byte_order);
 
This page took 0.022975 seconds and 4 git commands to generate.