*/
#include <babeltrace/compiler.h>
+#include <babeltrace/ref.h>
#include <babeltrace/plugin/component.h>
#include <babeltrace/plugin/source-internal.h>
#include <babeltrace/plugin/notification/iterator.h>
#include <babeltrace/plugin/notification/iterator-internal.h>
static
-void bt_notification_iterator_destroy(struct bt_ctf_ref *ref)
+void bt_notification_iterator_destroy(struct bt_object *obj)
{
struct bt_notification_iterator *iterator;
- if (!ref) {
- return;
- }
-
- iterator = container_of(ref, struct bt_notification_iterator,
- ref_count);
+ assert(obj);
+ iterator = container_of(obj, struct bt_notification_iterator,
+ base);
assert(iterator->user_destroy || !iterator->user_data);
iterator->user_destroy(iterator);
g_free(iterator);
goto end;
}
- bt_ctf_ref_init(&iterator->ref_count);
+ bt_object_init(iterator, bt_notification_iterator_destroy);
end:
return iterator;
}
return ret;
}
-void bt_notification_iterator_get(struct bt_notification_iterator *iterator)
-{
- if (!iterator) {
- return;
- }
-
- bt_ctf_ref_get(&iterator->ref_count);
-}
-
-void bt_notification_iterator_put(struct bt_notification_iterator *iterator)
-{
- if (!iterator) {
- return;
- }
-
- bt_ctf_ref_put(&iterator->ref_count, bt_notification_iterator_destroy);
-}
-
enum bt_notification_iterator_status bt_notification_iterator_set_get_cb(
struct bt_notification_iterator *iterator,
bt_notification_iterator_get_cb get)