* 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>
};
struct bt_ctf_trace {
- struct bt_ctf_ref ref_count;
+ struct bt_object base;
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_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;
-};
-struct environment_variable {
- GString *name, *value;
+ /*
+ * This flag indicates if the trace is valid. A valid
+ * trace is _always_ frozen.
+ */
+ int valid;
};
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);