Hi Eric, On Mon, Mar 12, 2018 at 01:35:59PM -0500, Eric Blake wrote: > From: Max Reitz <mre...@redhat.com> > > They are no longer needed now.
I'm doing some off-list development which use these functions. Unfortunately i'm not subscribed (yet) to qemu-devel so obviously missed this email. Is there any alternative to these functions? My code looks something like this: QObject *oid; unsigned long id; oid = qlist_pop(list); id = qnum_get_uint(qobject_to_qnum(oid)); Since objects in the list are QObject type. Yuval > > Signed-off-by: Max Reitz <mre...@redhat.com> > Reviewed-by: Alberto Garcia <be...@igalia.com> > Message-Id: <20180224154033.29559-5-mre...@redhat.com> > Reviewed-by: Eric Blake <ebl...@redhat.com> > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > include/qapi/qmp/qbool.h | 1 - > include/qapi/qmp/qdict.h | 1 - > include/qapi/qmp/qlist.h | 1 - > include/qapi/qmp/qnum.h | 1 - > include/qapi/qmp/qstring.h | 1 - > qobject/qbool.c | 11 ----------- > qobject/qdict.c | 11 ----------- > qobject/qlist.c | 11 ----------- > qobject/qnum.c | 11 ----------- > qobject/qstring.c | 11 ----------- > 10 files changed, 60 deletions(-) > > diff --git a/include/qapi/qmp/qbool.h b/include/qapi/qmp/qbool.h > index 629c508d34f..b9a44a1bfe0 100644 > --- a/include/qapi/qmp/qbool.h > +++ b/include/qapi/qmp/qbool.h > @@ -23,7 +23,6 @@ struct QBool { > > QBool *qbool_from_bool(bool value); > bool qbool_get_bool(const QBool *qb); > -QBool *qobject_to_qbool(const QObject *obj); > bool qbool_is_equal(const QObject *x, const QObject *y); > void qbool_destroy_obj(QObject *obj); > > diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h > index 7c6d8445495..2cc3e906f7b 100644 > --- a/include/qapi/qmp/qdict.h > +++ b/include/qapi/qmp/qdict.h > @@ -39,7 +39,6 @@ void qdict_put_obj(QDict *qdict, const char *key, QObject > *value); > void qdict_del(QDict *qdict, const char *key); > int qdict_haskey(const QDict *qdict, const char *key); > QObject *qdict_get(const QDict *qdict, const char *key); > -QDict *qobject_to_qdict(const QObject *obj); > bool qdict_is_equal(const QObject *x, const QObject *y); > void qdict_iter(const QDict *qdict, > void (*iter)(const char *key, QObject *obj, void *opaque), > diff --git a/include/qapi/qmp/qlist.h b/include/qapi/qmp/qlist.h > index 5fd976a3981..5c673acb060 100644 > --- a/include/qapi/qmp/qlist.h > +++ b/include/qapi/qmp/qlist.h > @@ -53,7 +53,6 @@ QObject *qlist_pop(QList *qlist); > QObject *qlist_peek(QList *qlist); > int qlist_empty(const QList *qlist); > size_t qlist_size(const QList *qlist); > -QList *qobject_to_qlist(const QObject *obj); > bool qlist_is_equal(const QObject *x, const QObject *y); > void qlist_destroy_obj(QObject *obj); > > diff --git a/include/qapi/qmp/qnum.h b/include/qapi/qmp/qnum.h > index 15e3971c7f1..3e47475b2cb 100644 > --- a/include/qapi/qmp/qnum.h > +++ b/include/qapi/qmp/qnum.h > @@ -68,7 +68,6 @@ double qnum_get_double(QNum *qn); > > char *qnum_to_string(QNum *qn); > > -QNum *qobject_to_qnum(const QObject *obj); > bool qnum_is_equal(const QObject *x, const QObject *y); > void qnum_destroy_obj(QObject *obj); > > diff --git a/include/qapi/qmp/qstring.h b/include/qapi/qmp/qstring.h > index 98070ef3d6a..b72843fc1b0 100644 > --- a/include/qapi/qmp/qstring.h > +++ b/include/qapi/qmp/qstring.h > @@ -30,7 +30,6 @@ const char *qstring_get_str(const QString *qstring); > void qstring_append_int(QString *qstring, int64_t value); > void qstring_append(QString *qstring, const char *str); > void qstring_append_chr(QString *qstring, int c); > -QString *qobject_to_qstring(const QObject *obj); > bool qstring_is_equal(const QObject *x, const QObject *y); > void qstring_destroy_obj(QObject *obj); > > diff --git a/qobject/qbool.c b/qobject/qbool.c > index 5be6277cca8..b58249925c2 100644 > --- a/qobject/qbool.c > +++ b/qobject/qbool.c > @@ -39,17 +39,6 @@ bool qbool_get_bool(const QBool *qb) > return qb->value; > } > > -/** > - * qobject_to_qbool(): Convert a QObject into a QBool > - */ > -QBool *qobject_to_qbool(const QObject *obj) > -{ > - if (!obj || qobject_type(obj) != QTYPE_QBOOL) { > - return NULL; > - } > - return container_of(obj, QBool, base); > -} > - > /** > * qbool_is_equal(): Test whether the two QBools are equal > */ > diff --git a/qobject/qdict.c b/qobject/qdict.c > index 1e588123d00..45c8b53361f 100644 > --- a/qobject/qdict.c > +++ b/qobject/qdict.c > @@ -37,17 +37,6 @@ QDict *qdict_new(void) > return qdict; > } > > -/** > - * qobject_to_qdict(): Convert a QObject into a QDict > - */ > -QDict *qobject_to_qdict(const QObject *obj) > -{ > - if (!obj || qobject_type(obj) != QTYPE_QDICT) { > - return NULL; > - } > - return container_of(obj, QDict, base); > -} > - > /** > * tdb_hash(): based on the hash agorithm from gdbm, via tdb > * (from module-init-tools) > diff --git a/qobject/qlist.c b/qobject/qlist.c > index 77f19ffda78..954fe983751 100644 > --- a/qobject/qlist.c > +++ b/qobject/qlist.c > @@ -151,17 +151,6 @@ size_t qlist_size(const QList *qlist) > 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 > * > diff --git a/qobject/qnum.c b/qobject/qnum.c > index ea091cfaa4b..1501c828323 100644 > --- a/qobject/qnum.c > +++ b/qobject/qnum.c > @@ -199,17 +199,6 @@ char *qnum_to_string(QNum *qn) > return NULL; > } > > -/** > - * qobject_to_qnum(): Convert a QObject into a QNum > - */ > -QNum *qobject_to_qnum(const QObject *obj) > -{ > - if (!obj || qobject_type(obj) != QTYPE_QNUM) { > - return NULL; > - } > - return container_of(obj, QNum, base); > -} > - > /** > * qnum_is_equal(): Test whether the two QNums are equal > * > diff --git a/qobject/qstring.c b/qobject/qstring.c > index 2b2153206df..8bae529ef79 100644 > --- a/qobject/qstring.c > +++ b/qobject/qstring.c > @@ -105,17 +105,6 @@ void qstring_append_chr(QString *qstring, int c) > qstring->string[qstring->length] = 0; > } > > -/** > - * qobject_to_qstring(): Convert a QObject to a QString > - */ > -QString *qobject_to_qstring(const QObject *obj) > -{ > - if (!obj || qobject_type(obj) != QTYPE_QSTRING) { > - return NULL; > - } > - return container_of(obj, QString, base); > -} > - > /** > * qstring_get_str(): Return a pointer to the stored string > *