]> git.proxmox.com Git - qemu.git/commitdiff
QDict: Introduce qdict_get_qlist()
authorLuiz Capitulino <lcapitulino@redhat.com>
Thu, 10 Dec 2009 19:15:54 +0000 (17:15 -0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Sat, 12 Dec 2009 13:59:46 +0000 (07:59 -0600)
A helper function to get a QList from a QDict.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Makefile
qdict.c
qdict.h

index b4356ae521af23a29e79d2670996906556a1274e..f1b01310f363d1d7d90280c215e02b2a329b990d 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -246,7 +246,7 @@ qemu-img-cmds.h: $(SRC_PATH)/qemu-img-cmds.hx
 
 check-qint: check-qint.o qint.o qemu-malloc.o
 check-qstring: check-qstring.o qstring.o qemu-malloc.o
-check-qdict: check-qdict.o qdict.o qint.o qstring.o qbool.o qemu-malloc.o
+check-qdict: check-qdict.o qdict.o qint.o qstring.o qbool.o qemu-malloc.o qlist.o
 check-qlist: check-qlist.o qlist.o qint.o qemu-malloc.o
 check-qfloat: check-qfloat.o qfloat.o qemu-malloc.o
 check-qjson: check-qjson.o qfloat.o qint.o qdict.o qstring.o qlist.o qbool.o qjson.o json-streamer.o json-lexer.o json-parser.o qemu-malloc.o
diff --git a/qdict.c b/qdict.c
index 45e08bec98d43f6c1e840258d7198b0645616703..ef73265f49fc3074812fd1fbcdffadabd86156e2 100644 (file)
--- a/qdict.c
+++ b/qdict.c
@@ -203,6 +203,19 @@ int qdict_get_bool(const QDict *qdict, const char *key)
     return qbool_get_int(qobject_to_qbool(obj));
 }
 
+/**
+ * qdict_get_qlist(): Get the QList mapped by 'key'
+ *
+ * This function assumes that 'key' exists and it stores a
+ * QList object.
+ *
+ * Return QList mapped by 'key'.
+ */
+QList *qdict_get_qlist(const QDict *qdict, const char *key)
+{
+    return qobject_to_qlist(qdict_get_obj(qdict, key, QTYPE_QLIST));
+}
+
 /**
  * qdict_get_str(): Get a pointer to the stored string mapped
  * by 'key'
diff --git a/qdict.h b/qdict.h
index 1473c047fd1ae22f82e46aad9fbe0cf3ff97d8d8..5fef1ea4ea278e662b22b4c3945a41ebf816b209 100644 (file)
--- a/qdict.h
+++ b/qdict.h
@@ -2,6 +2,7 @@
 #define QDICT_H
 
 #include "qobject.h"
+#include "qlist.h"
 #include "qemu-queue.h"
 #include <stdint.h>
 
@@ -38,6 +39,7 @@ void qdict_iter(const QDict *qdict,
 /* High level helpers */
 int64_t qdict_get_int(const QDict *qdict, const char *key);
 int qdict_get_bool(const QDict *qdict, const char *key);
+QList *qdict_get_qlist(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 err_value);