Add trace name attribute
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 15 Nov 2016 21:47:18 +0000 (16:47 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Sat, 27 May 2017 18:09:06 +0000 (14:09 -0400)
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
formats/ctf/ir/trace.c
include/babeltrace/ctf-ir/trace-internal.h
include/babeltrace/ctf-ir/trace.h

index 55967275a84d56fea4202c06b96caee745db697f..4cf2462b874f83a4f3403e1b8b53934fdc4c2bc4 100644 (file)
@@ -124,6 +124,38 @@ error:
        return trace;
 }
 
+const char *bt_ctf_trace_get_name(struct bt_ctf_trace *trace)
+{
+       const char *name = NULL;
+
+       if (!trace || !trace->name) {
+               goto end;
+       }
+
+       name = trace->name->str;
+end:
+       return name;
+}
+
+int bt_ctf_trace_set_name(struct bt_ctf_trace *trace, const char *name)
+{
+       int ret = 0;
+
+       if (!trace || !name || trace->frozen) {
+               ret = -1;
+               goto end;
+       }
+
+       trace->name = trace->name ? g_string_assign(trace->name, name) :
+                       g_string_new(name);
+       if (!trace->name) {
+               ret = -1;
+               goto end;
+       }
+end:
+       return ret;
+}
+
 void bt_ctf_trace_destroy(struct bt_object *obj)
 {
        struct bt_ctf_trace *trace;
@@ -133,6 +165,10 @@ void bt_ctf_trace_destroy(struct bt_object *obj)
                bt_ctf_attributes_destroy(trace->environment);
        }
 
+       if (trace->name) {
+               g_string_free(trace->name, TRUE);
+       }
+
        if (trace->clocks) {
                g_ptr_array_free(trace->clocks, TRUE);
        }
index db3d84f770c159a916c09d7e9e44f294afae27a4..a782d04c88e2b4295066eaf4b91e88988d33246e 100644 (file)
@@ -49,6 +49,7 @@ enum field_type_alias {
 
 struct bt_ctf_trace {
        struct bt_object base;
+       GString *name;
        int frozen;
        uuid_t uuid;
        int byte_order; /* A value defined in Babeltrace's "endian.h" */
index fae7832bd2a3dbda127d57892fdfcedcb4ffb104..e935dd1ff61e9b2e4b0fa67cd3626b773d67d403 100644 (file)
@@ -71,6 +71,10 @@ typedef void (*bt_ctf_listener_cb)(
  */
 extern struct bt_ctf_trace *bt_ctf_trace_create(void);
 
+extern const char *bt_ctf_trace_get_name(struct bt_ctf_trace *trace);
+
+extern int bt_ctf_trace_set_name(struct bt_ctf_trace *trace, const char *name);
+
 /*
  * bt_ctf_trace_set_environment_field: sets an environment field to the
  *     trace.
This page took 0.02668 seconds and 4 git commands to generate.