aboutsummaryrefslogtreecommitdiff
path: root/include/qapi
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2015-01-19 21:22:45 +0100
committerKevin Wolf <kwolf@redhat.com>2015-06-12 16:58:06 +0200
commit7990d2c99c974ae8e3c3f719d8321ddc6eac93bc (patch)
tree2554b4c9eabe054aabefcc9448c8a0503f22a29d /include/qapi
parentbd50530a9f40f6560a03caeaaddd451e2ce90ed8 (diff)
downloadqemu-7990d2c99c974ae8e3c3f719d8321ddc6eac93bc.zip
qemu-7990d2c99c974ae8e3c3f719d8321ddc6eac93bc.tar.gz
qemu-7990d2c99c974ae8e3c3f719d8321ddc6eac93bc.tar.bz2
qdict: Add qdict_{set,copy}_default()
In the block layer functions that determine options for a child block device, it's a common pattern to either copy options from the parent's options or to set a default string if the option isn't explicitly set yet for the child. Provide convenience functions so that it becomes a one-liner for each option. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include/qapi')
-rw-r--r--include/qapi/qmp/qdict.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/qapi/qmp/qdict.h b/include/qapi/qmp/qdict.h
index d20db94..9fbf68e 100644
--- a/include/qapi/qmp/qdict.h
+++ b/include/qapi/qmp/qdict.h
@@ -65,6 +65,9 @@ int64_t qdict_get_try_int(const QDict *qdict, const char *key,
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);
+void qdict_copy_default(QDict *dst, QDict *src, const char *key);
+void qdict_set_default_str(QDict *dst, const char *key, const char *val);
+
QDict *qdict_clone_shallow(const QDict *src);
void qdict_flatten(QDict *qdict);