2 * Copyright (C) 2024 Jérémie Galarneau <jeremie.galarneau@efficios.com>
4 * SPDX-License-Identifier: LGPL-2.1-only
8 #ifndef LTTNG_TEST_UTILS_BT2_PLUGIN_UTILS_HPP
9 #define LTTNG_TEST_UTILS_BT2_PLUGIN_UTILS_HPP
11 #include <common/make-unique-wrapper.hpp>
13 #include <babeltrace2/babeltrace.h>
18 static inline void bt_value_put_ref(bt_value *value)
20 bt_value_put_ref(static_cast<const bt_value *>(value));
22 } /* namespace internal */
24 using value_ref = std::unique_ptr<
26 lttng::memory::create_deleter_class<bt_value, internal::bt_value_put_ref>::deleter>;
28 using event_class_const_ref = std::unique_ptr<
30 lttng::memory::create_deleter_class<const bt_event_class, bt_event_class_put_ref>::deleter>;
32 static inline value_ref make_value_ref(bt_value *instance)
34 const memory::create_deleter_class<bt_value, internal::bt_value_put_ref> unique_deleter;
35 return unique_deleter(instance);
38 using message_const_ref = std::unique_ptr<
40 lttng::memory::create_deleter_class<const bt_message, bt_message_put_ref>::deleter>;
42 using message_iterator_ref =
43 std::unique_ptr<bt_message_iterator,
44 lttng::memory::create_deleter_class<const bt_message_iterator,
45 bt_message_iterator_put_ref>::deleter>;
47 } /* namespace lttng */
49 #endif /* LTTNG_TEST_UTILS_BT2_PLUGIN_UTILS_HPP */