| 
									
										
										
										
											2009-11-11 10:37:39 -06: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 17:50:01 +00:00
										 |  |  | #include "qemu/osdep.h"
 | 
					
						
							| 
									
										
										
										
											2012-12-17 18:19:43 +01:00
										 |  |  | #include "qapi/qmp/qbool.h"
 | 
					
						
							|  |  |  | #include "qapi/qmp/qobject.h"
 | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  | #include "qemu-common.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2015-05-15 16:24:59 -06:00
										 |  |  |  * qbool_from_bool(): Create a new QBool from a bool | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Return strong reference. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-05-15 16:24:59 -06:00
										 |  |  | QBool *qbool_from_bool(bool value) | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  | { | 
					
						
							|  |  |  |     QBool *qb; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-08-20 22:09:37 -05:00
										 |  |  |     qb = g_malloc(sizeof(*qb)); | 
					
						
							| 
									
										
										
										
											2015-12-01 22:20:45 -07:00
										 |  |  |     qobject_init(QOBJECT(qb), QTYPE_QBOOL); | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  |     qb->value = value; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return qb; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							| 
									
										
										
										
											2015-05-15 16:24:59 -06:00
										 |  |  |  * qbool_get_bool(): Get the stored bool | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-05-15 16:24:59 -06:00
										 |  |  | bool qbool_get_bool(const QBool *qb) | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  | { | 
					
						
							|  |  |  |     return qb->value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * qobject_to_qbool(): Convert a QObject into a QBool | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | QBool *qobject_to_qbool(const QObject *obj) | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2015-10-15 16:15:33 +02:00
										 |  |  |     if (!obj || qobject_type(obj) != QTYPE_QBOOL) { | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  |         return NULL; | 
					
						
							| 
									
										
										
										
											2015-10-15 16:15:33 +02:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  |     return container_of(obj, QBool, base); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /**
 | 
					
						
							|  |  |  |  * qbool_destroy_obj(): Free all memory allocated by a | 
					
						
							|  |  |  |  * QBool object | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2015-12-01 22:20:45 -07:00
										 |  |  | void qbool_destroy_obj(QObject *obj) | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  | { | 
					
						
							|  |  |  |     assert(obj != NULL); | 
					
						
							| 
									
										
										
										
											2011-08-20 22:09:37 -05:00
										 |  |  |     g_free(qobject_to_qbool(obj)); | 
					
						
							| 
									
										
										
										
											2009-11-11 10:37:39 -06:00
										 |  |  | } |