lib: add internal object pool API and use it; adapt plugins/tests
[babeltrace.git] / include / babeltrace / ctf-ir / clock-class-internal.h
index d68796e7d15cc82324b35488510add9b5ca4d068..9f4f23fe1e1ccc67d009d13bb01ed9e1a8de7a46 100644 (file)
  */
 
 #include <babeltrace/ctf-ir/clock-class.h>
-#include <babeltrace/ctf-ir/trace-internal.h>
 #include <babeltrace/object-internal.h>
 #include <babeltrace/babeltrace-internal.h>
+#include <babeltrace/object-pool-internal.h>
 #include <babeltrace/compat/uuid-internal.h>
 #include <babeltrace/types.h>
+#include <stdbool.h>
+#include <stdint.h>
 #include <glib.h>
 
-struct bt_ctf_clock_class {
+struct bt_clock_class {
        struct bt_object base;
        GString *name;
        GString *description;
@@ -43,7 +45,7 @@ struct bt_ctf_clock_class {
        uint64_t precision;
        int64_t offset_s;       /* Offset in seconds */
        int64_t offset;         /* Offset in ticks */
-       uuid_t uuid;
+       unsigned char uuid[BABELTRACE_UUID_LEN];
        int uuid_set;
        int absolute;
 
@@ -52,22 +54,19 @@ struct bt_ctf_clock_class {
         * class.
         */
        int frozen;
-};
 
-struct bt_ctf_clock_value {
-       struct bt_object base;
-       struct bt_ctf_clock_class *clock_class;
-       uint64_t value;
+       /* Pool of `struct bt_clock_value *` */
+       struct bt_object_pool cv_pool;
 };
 
 BT_HIDDEN
-void bt_ctf_clock_class_freeze(struct bt_ctf_clock_class *clock_class);
+void bt_clock_class_freeze(struct bt_clock_class *clock_class);
 
 BT_HIDDEN
-void bt_ctf_clock_class_serialize(struct bt_ctf_clock_class *clock_class,
-               struct metadata_context *context);
+bt_bool bt_clock_class_is_valid(struct bt_clock_class *clock_class);
 
 BT_HIDDEN
-bt_bool bt_ctf_clock_class_is_valid(struct bt_ctf_clock_class *clock_class);
+int bt_clock_class_compare(struct bt_clock_class *clock_class_a,
+               struct bt_clock_class *clock_class_b);
 
 #endif /* BABELTRACE_CTF_IR_CLOCK_CLASS_INTERNAL_H */
This page took 0.025465 seconds and 4 git commands to generate.