#include <babeltrace/ctf-ir/clock-class.h>
#include <babeltrace/ctf-ir/clock-class-internal.h>
#include <babeltrace/ctf-ir/utils.h>
+#include <babeltrace/compat/uuid-internal.h>
#include <babeltrace/ref.h>
#include <babeltrace/object-internal.h>
#include <babeltrace/compiler-internal.h>
struct bt_ctf_clock *bt_ctf_clock_create(const char *name)
{
+ int ret;
struct bt_ctf_clock *clock = NULL;
+ unsigned char cc_uuid[BABELTRACE_UUID_LEN];
if (!name) {
goto error;
bt_object_init(clock, bt_ctf_clock_destroy);
clock->value = 0;
- clock->clock_class = bt_ctf_clock_class_create(name);
+
+ /* Pre-2.0.0 backward compatibility: default frequency is 1 GHz */
+ clock->clock_class = bt_clock_class_create(name, 1000000000);
if (!clock->clock_class) {
goto error;
}
+
+ /* Automatically set clock class's UUID. */
+ ret = bt_uuid_generate(cc_uuid);
+ if (ret) {
+ goto error;
+ }
+
+ ret = bt_clock_class_set_uuid(clock->clock_class, cc_uuid);
+ assert(ret == 0);
return clock;
error:
const char *name = NULL;
if (clock) {
- name = bt_ctf_clock_class_get_name(clock->clock_class);
+ name = bt_clock_class_get_name(clock->clock_class);
}
return name;
const char *description = NULL;
if (clock) {
- description = bt_ctf_clock_class_get_description(
+ description = bt_clock_class_get_description(
clock->clock_class);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_description(clock->clock_class,
+ ret = bt_clock_class_set_description(clock->clock_class,
desc);
}
uint64_t freq = -1ULL;
if (clock) {
- freq = bt_ctf_clock_class_get_frequency(clock->clock_class);
+ freq = bt_clock_class_get_frequency(clock->clock_class);
}
return freq;
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_frequency(clock->clock_class,
+ ret = bt_clock_class_set_frequency(clock->clock_class,
freq);
}
uint64_t precision = -1ULL;
if (clock) {
- precision = bt_ctf_clock_class_get_precision(
+ precision = bt_clock_class_get_precision(
clock->clock_class);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_precision(clock->clock_class,
+ ret = bt_clock_class_set_precision(clock->clock_class,
precision);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_get_offset_s(clock->clock_class,
+ ret = bt_clock_class_get_offset_s(clock->clock_class,
offset_s);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_offset_s(clock->clock_class,
+ ret = bt_clock_class_set_offset_s(clock->clock_class,
offset_s);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_get_offset_cycles(clock->clock_class,
+ ret = bt_clock_class_get_offset_cycles(clock->clock_class,
offset);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_offset_cycles(clock->clock_class,
+ ret = bt_clock_class_set_offset_cycles(clock->clock_class,
offset);
}
int is_absolute = -1;
if (clock) {
- is_absolute = bt_ctf_clock_class_get_is_absolute(
+ is_absolute = bt_clock_class_is_absolute(
clock->clock_class);
}
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_is_absolute(clock->clock_class,
+ ret = bt_clock_class_set_is_absolute(clock->clock_class,
is_absolute);
}
const unsigned char *uuid = NULL;
if (clock) {
- uuid = bt_ctf_clock_class_get_uuid(clock->clock_class);
+ uuid = bt_clock_class_get_uuid(clock->clock_class);
}
return uuid;
int ret = -1;
if (clock) {
- ret = bt_ctf_clock_class_set_uuid(clock->clock_class, uuid);
+ ret = bt_clock_class_set_uuid(clock->clock_class, uuid);
}
return ret;