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