1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- /*
- * QBool Module
- *
- * Copyright IBM, Corp. 2009
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
- *
- * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
- * See the COPYING.LIB file in the top-level directory.
- *
- */
- #include "qapi/qmp/qbool.h"
- #include "qapi/qmp/qobject.h"
- #include "qemu-common.h"
- static void qbool_destroy_obj(QObject *obj);
- static const QType qbool_type = {
- .code = QTYPE_QBOOL,
- .destroy = qbool_destroy_obj,
- };
- /**
- * qbool_from_int(): Create a new QBool from an int
- *
- * Return strong reference.
- */
- QBool *qbool_from_int(int value)
- {
- QBool *qb;
- qb = g_malloc(sizeof(*qb));
- qb->value = value;
- QOBJECT_INIT(qb, &qbool_type);
- return qb;
- }
- /**
- * qbool_get_int(): Get the stored int
- */
- int qbool_get_int(const QBool *qb)
- {
- return qb->value;
- }
- /**
- * qobject_to_qbool(): Convert a QObject into a QBool
- */
- QBool *qobject_to_qbool(const QObject *obj)
- {
- if (qobject_type(obj) != QTYPE_QBOOL)
- return NULL;
- return container_of(obj, QBool, base);
- }
- /**
- * qbool_destroy_obj(): Free all memory allocated by a
- * QBool object
- */
- static void qbool_destroy_obj(QObject *obj)
- {
- assert(obj != NULL);
- g_free(qobject_to_qbool(obj));
- }
|