[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 14/23] QDict: Introduce qdict_get_try_bool()
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH 14/23] QDict: Introduce qdict_get_try_bool() |
Date: |
Thu, 1 Jul 2010 16:21:42 -0300 |
Signed-off-by: Luiz Capitulino <address@hidden>
---
qdict.c | 18 ++++++++++++++++++
qdict.h | 1 +
2 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/qdict.c b/qdict.c
index a28a0a9..dee0fb4 100644
--- a/qdict.c
+++ b/qdict.c
@@ -308,6 +308,24 @@ int64_t qdict_get_try_int(const QDict *qdict, const char
*key,
}
/**
+ * qdict_get_try_bool(): Try to get a bool mapped by 'key'
+ *
+ * Return bool mapped by 'key', if it is not present in the
+ * dictionary or if the stored object is not of QBool type
+ * 'def_value' will be returned.
+ */
+int qdict_get_try_bool(const QDict *qdict, const char *key, int def_value)
+{
+ QObject *obj;
+
+ obj = qdict_get(qdict, key);
+ if (!obj || qobject_type(obj) != QTYPE_QBOOL)
+ return def_value;
+
+ return qbool_get_int(qobject_to_qbool(obj));
+}
+
+/**
* qdict_get_try_str(): Try to get a pointer to the stored string
* mapped by 'key'
*
diff --git a/qdict.h b/qdict.h
index 0e7a43f..929d8d2 100644
--- a/qdict.h
+++ b/qdict.h
@@ -61,6 +61,7 @@ QDict *qdict_get_qdict(const QDict *qdict, const char *key);
const char *qdict_get_str(const QDict *qdict, const char *key);
int64_t qdict_get_try_int(const QDict *qdict, const char *key,
int64_t def_value);
+int qdict_get_try_bool(const QDict *qdict, const char *key, int def_value);
const char *qdict_get_try_str(const QDict *qdict, const char *key);
#endif /* QDICT_H */
--
1.7.2.rc0
- [Qemu-devel] [PATCH 03/23] monitor: Establish cmd flags and convert the async tag, (continued)
- [Qemu-devel] [PATCH 03/23] monitor: Establish cmd flags and convert the async tag, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 04/23] QMP: Teach basic capability negotiation to python example, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 05/23] QMP: Fix python helper /wrt long return strings, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 06/23] net: delete QemuOpts when net_client_init() fails., Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 07/23] QMP: Fix error reporting in the async API, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 09/23] QDict: Rename 'err_value', Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 08/23] QError: Enhance QERR_DEVICE_NOT_ACTIVE's user desc, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 11/23] QDict: Introduce functions to retrieve QDictEntry values, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 10/23] QDict: Small terminology change, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 13/23] check-qdict: Introduce test for the new iteration API, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 14/23] QDict: Introduce qdict_get_try_bool(),
Luiz Capitulino <=
- [Qemu-devel] [PATCH 12/23] QDict: Introduce new iteration API, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 15/23] Monitor: handle optional '-' arg as a bool, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 16/23] QMP: New argument checker (first part), Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 17/23] QMP: New argument checker (second part), Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 18/23] QMP: Drop old client argument checker, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 19/23] QError: Introduce QERR_QMP_EXTRA_MEMBER, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 20/23] QMP: Introduce qmp_check_input_obj(), Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 21/23] QMP: Drop old input object checking, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 22/23] QMP: handle_qmp_command(): Small cleanup, Luiz Capitulino, 2010/07/01
- [Qemu-devel] [PATCH 23/23] monitor: Allow to exclude commands from QMP, Luiz Capitulino, 2010/07/01