1/* 2 * QBool Module 3 * 4 * Copyright IBM, Corp. 2009 5 * 6 * Authors: 7 * Anthony Liguori <aliguori@us.ibm.com> 8 * 9 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. 10 * See the COPYING.LIB file in the top-level directory. 11 * 12 */ 13 14#include "qemu/osdep.h" 15#include "qapi/qmp/qbool.h" 16 17/** 18 * qbool_from_bool(): Create a new QBool from a bool 19 * 20 * Return strong reference. 21 */ 22QBool *qbool_from_bool(bool value) 23{ 24 QBool *qb; 25 26 qb = g_malloc(sizeof(*qb)); 27 qobject_init(QOBJECT(qb), QTYPE_QBOOL); 28 qb->value = value; 29 30 return qb; 31} 32 33/** 34 * qbool_get_bool(): Get the stored bool 35 */ 36bool qbool_get_bool(const QBool *qb) 37{ 38 return qb->value; 39} 40 41/** 42 * qbool_is_equal(): Test whether the two QBools are equal 43 */ 44bool qbool_is_equal(const QObject *x, const QObject *y) 45{ 46 return qobject_to(QBool, x)->value == qobject_to(QBool, y)->value; 47} 48 49/** 50 * qbool_destroy_obj(): Free all memory allocated by a 51 * QBool object 52 */ 53void qbool_destroy_obj(QObject *obj) 54{ 55 assert(obj != NULL); 56 g_free(qobject_to(QBool, obj)); 57} 58