xref: /openbmc/qemu/qobject/qobject-internal.h (revision 1f7c02797fa189ce4b34382020bbce63262a5758)
1*80d71121SMarkus Armbruster /*
2*80d71121SMarkus Armbruster  * QObject internals
3*80d71121SMarkus Armbruster  *
4*80d71121SMarkus Armbruster  * Copyright (C) 2015 Red Hat, Inc.
5*80d71121SMarkus Armbruster  *
6*80d71121SMarkus Armbruster  * This work is licensed under the terms of the GNU LGPL, version 2.1
7*80d71121SMarkus Armbruster  * or later.  See the COPYING.LIB file in the top-level directory.
8*80d71121SMarkus Armbruster  */
9*80d71121SMarkus Armbruster 
10*80d71121SMarkus Armbruster #ifndef QOBJECT_INTERNAL_H
11*80d71121SMarkus Armbruster #define QOBJECT_INTERNAL_H
12*80d71121SMarkus Armbruster 
13*80d71121SMarkus Armbruster #include "qapi/qmp/qobject.h"
14*80d71121SMarkus Armbruster 
qobject_init(QObject * obj,QType type)15*80d71121SMarkus Armbruster static inline void qobject_init(QObject *obj, QType type)
16*80d71121SMarkus Armbruster {
17*80d71121SMarkus Armbruster     assert(QTYPE_NONE < type && type < QTYPE__MAX);
18*80d71121SMarkus Armbruster     obj->base.refcnt = 1;
19*80d71121SMarkus Armbruster     obj->base.type = type;
20*80d71121SMarkus Armbruster }
21*80d71121SMarkus Armbruster 
22*80d71121SMarkus Armbruster void qbool_destroy_obj(QObject *obj);
23*80d71121SMarkus Armbruster bool qbool_is_equal(const QObject *x, const QObject *y);
24*80d71121SMarkus Armbruster 
25*80d71121SMarkus Armbruster void qdict_destroy_obj(QObject *obj);
26*80d71121SMarkus Armbruster bool qdict_is_equal(const QObject *x, const QObject *y);
27*80d71121SMarkus Armbruster 
28*80d71121SMarkus Armbruster void qlist_destroy_obj(QObject *obj);
29*80d71121SMarkus Armbruster bool qlist_is_equal(const QObject *x, const QObject *y);
30*80d71121SMarkus Armbruster 
31*80d71121SMarkus Armbruster bool qnull_is_equal(const QObject *x, const QObject *y);
32*80d71121SMarkus Armbruster 
33*80d71121SMarkus Armbruster void qnum_destroy_obj(QObject *obj);
34*80d71121SMarkus Armbruster bool qnum_is_equal(const QObject *x, const QObject *y);
35*80d71121SMarkus Armbruster 
36*80d71121SMarkus Armbruster void qstring_destroy_obj(QObject *obj);
37*80d71121SMarkus Armbruster bool qstring_is_equal(const QObject *x, const QObject *y);
38*80d71121SMarkus Armbruster 
39*80d71121SMarkus Armbruster #endif
40