#include "qapi/qmp/qnum.h"
#include "qapi/qmp/qstring.h"
#include "qemu/queue.h"
-#include "qemu-common.h"
/**
* qlist_new(): Create a new QList
{
QList *dst = opaque;
- qobject_incref(obj);
+ qobject_ref(obj);
qlist_append_obj(dst, obj);
}
return count;
}
-/**
- * qobject_to_qlist(): Convert a QObject into a QList
- */
-QList *qobject_to_qlist(const QObject *obj)
-{
- if (!obj || qobject_type(obj) != QTYPE_QLIST) {
- return NULL;
- }
- return container_of(obj, QList, base);
-}
-
/**
* qlist_is_equal(): Test whether the two QLists are equal
*
*/
bool qlist_is_equal(const QObject *x, const QObject *y)
{
- const QList *list_x = qobject_to_qlist(x);
- const QList *list_y = qobject_to_qlist(y);
+ const QList *list_x = qobject_to(QList, x);
+ const QList *list_y = qobject_to(QList, y);
const QListEntry *entry_x, *entry_y;
entry_x = qlist_first(list_x);
QListEntry *entry, *next_entry;
assert(obj != NULL);
- qlist = qobject_to_qlist(obj);
+ qlist = qobject_to(QList, obj);
QTAILQ_FOREACH_SAFE(entry, &qlist->head, next, next_entry) {
QTAILQ_REMOVE(&qlist->head, entry, next);
- qobject_decref(entry->value);
+ qobject_unref(entry->value);
g_free(entry);
}