2009-11-11 19:37:39 +03:00
/*
* 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 .
*
*/
2016-01-29 20:50:01 +03:00
# include "qemu/osdep.h"
2012-12-17 21:19:43 +04:00
# include "qapi/qmp/qbool.h"
2020-12-11 20:11:40 +03:00
# include "qobject-internal.h"
2009-11-11 19:37:39 +03:00
/**
2015-05-16 01:24:59 +03:00
* qbool_from_bool ( ) : Create a new QBool from a bool
2009-11-11 19:37:39 +03:00
*
* Return strong reference .
*/
2015-05-16 01:24:59 +03:00
QBool * qbool_from_bool ( bool value )
2009-11-11 19:37:39 +03:00
{
QBool * qb ;
2011-08-21 07:09:37 +04:00
qb = g_malloc ( sizeof ( * qb ) ) ;
2015-12-02 08:20:45 +03:00
qobject_init ( QOBJECT ( qb ) , QTYPE_QBOOL ) ;
2009-11-11 19:37:39 +03:00
qb - > value = value ;
return qb ;
}
/**
2015-05-16 01:24:59 +03:00
* qbool_get_bool ( ) : Get the stored bool
2009-11-11 19:37:39 +03:00
*/
2015-05-16 01:24:59 +03:00
bool qbool_get_bool ( const QBool * qb )
2009-11-11 19:37:39 +03:00
{
return qb - > value ;
}
2017-11-14 21:01:25 +03:00
/**
* qbool_is_equal ( ) : Test whether the two QBools are equal
*/
bool qbool_is_equal ( const QObject * x , const QObject * y )
{
2018-02-24 18:40:29 +03:00
return qobject_to ( QBool , x ) - > value = = qobject_to ( QBool , y ) - > value ;
2017-11-14 21:01:25 +03:00
}
2009-11-11 19:37:39 +03:00
/**
* qbool_destroy_obj ( ) : Free all memory allocated by a
* QBool object
*/
2015-12-02 08:20:45 +03:00
void qbool_destroy_obj ( QObject * obj )
2009-11-11 19:37:39 +03:00
{
assert ( obj ! = NULL ) ;
2018-02-24 18:40:29 +03:00
g_free ( qobject_to ( QBool , obj ) ) ;
2009-11-11 19:37:39 +03:00
}
2022-03-23 18:57:20 +03:00
void qbool_unref ( QBool * q )
{
qobject_unref ( q ) ;
}