[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 06/14] QDict: Introduce qdict_get_try_bool()
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] [PATCH 06/14] QDict: Introduce qdict_get_try_bool() |
Date: |
Thu, 24 Jun 2010 18:33:32 -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.1.359.gd0b8d
- [Qemu-devel] [PATCH v3 00/14]: QMP: Replace client argument checker, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 01/14] QDict: Rename 'err_value', Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 02/14] QDict: Small terminology change, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 03/14] QDict: Introduce functions to retrieve QDictEntry values, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 04/14] QDict: Introduce new iteration API, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 05/14] check-qdict: Introduce test for the new iteration API, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 06/14] QDict: Introduce qdict_get_try_bool(),
Luiz Capitulino <=
- [Qemu-devel] [PATCH 07/14] Monitor: handle optional '-' arg as a bool, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 08/14] QMP: New argument checker (first part), Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 09/14] QMP: New argument checker (second part), Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 10/14] QMP: Drop old client argument checker, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 11/14] QError: Introduce QERR_QMP_EXTRA_MEMBER, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 13/14] QMP: Drop old input object checking, Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 12/14] QMP: Introduce qmp_check_input_obj(), Luiz Capitulino, 2010/06/24
- [Qemu-devel] [PATCH 14/14] QMP: handle_qmp_command(): Small cleanup, Luiz Capitulino, 2010/06/24
- Re: [Qemu-devel] [PATCH v3 00/14]: QMP: Replace client argument checker, Luiz Capitulino, 2010/06/24