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#include "qobject-internal.h"
  17
  18/**
  19 * qbool_from_bool(): Create a new QBool from a bool
  20 *
  21 * Return strong reference.
  22 */
  23QBool *qbool_from_bool(bool value)
  24{
  25    QBool *qb;
  26
  27    qb = g_malloc(sizeof(*qb));
  28    qobject_init(QOBJECT(qb), QTYPE_QBOOL);
  29    qb->value = value;
  30
  31    return qb;
  32}
  33
  34/**
  35 * qbool_get_bool(): Get the stored bool
  36 */
  37bool qbool_get_bool(const QBool *qb)
  38{
  39    return qb->value;
  40}
  41
  42/**
  43 * qbool_is_equal(): Test whether the two QBools are equal
  44 */
  45bool qbool_is_equal(const QObject *x, const QObject *y)
  46{
  47    return qobject_to(QBool, x)->value == qobject_to(QBool, y)->value;
  48}
  49
  50/**
  51 * qbool_destroy_obj(): Free all memory allocated by a
  52 * QBool object
  53 */
  54void qbool_destroy_obj(QObject *obj)
  55{
  56    assert(obj != NULL);
  57    g_free(qobject_to(QBool, obj));
  58}
  59