#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_ctf_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_ctf_clock_class_set_uuid(clock->clock_class, cc_uuid);
+ assert(ret == 0);
return clock;
error:
int is_absolute = -1;
if (clock) {
- is_absolute = bt_ctf_clock_class_get_is_absolute(
+ is_absolute = bt_ctf_clock_class_is_absolute(
clock->clock_class);
}