qemu/qobject/qbool.c
<<
>>
Prefs
   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