lib: make public reference count functions have strict types
[babeltrace.git] / include / babeltrace / trace-ir / trace-class-const.h
index 539e1f624d3702993cfc073dc6e2253c8368c2db..179d3ce6c8c553af85fcd28d55df3d5c6695b1d6 100644 (file)
@@ -75,6 +75,23 @@ bt_trace_class_borrow_stream_class_by_index_const(
 extern const struct bt_stream_class *bt_trace_class_borrow_stream_class_by_id_const(
                const struct bt_trace_class *trace_class, uint64_t id);
 
+extern void bt_trace_class_get_ref(const struct bt_trace_class *trace_class);
+
+extern void bt_trace_class_put_ref(const struct bt_trace_class *trace_class);
+
+#define BT_TRACE_CLASS_PUT_REF_AND_RESET(_var)         \
+       do {                                            \
+               bt_trace_class_put_ref(_var);           \
+               (_var) = NULL;                          \
+       } while (0)
+
+#define BT_TRACE_CLASS_MOVE_REF(_var_dst, _var_src)    \
+       do {                                            \
+               bt_trace_class_put_ref(_var_dst);       \
+               (_var_dst) = (_var_src);                \
+               (_var_src) = NULL;                      \
+       } while (0)
+
 #ifdef __cplusplus
 }
 #endif
This page took 0.024234 seconds and 4 git commands to generate.