diff --git a/qdict.c b/qdict.c index ba8eef09b7..c6a5a425e5 100644 --- a/qdict.c +++ b/qdict.c @@ -215,6 +215,19 @@ QList *qdict_get_qlist(const QDict *qdict, const char *key) return qobject_to_qlist(qdict_get_obj(qdict, key, QTYPE_QLIST)); } +/** + * qdict_get_qdict(): Get the QDict mapped by 'key' + * + * This function assumes that 'key' exists and it stores a + * QDict object. + * + * Return QDict mapped by 'key'. + */ +QDict *qdict_get_qdict(const QDict *qdict, const char *key) +{ + return qobject_to_qdict(qdict_get_obj(qdict, key, QTYPE_QDICT)); +} + /** * qdict_get_str(): Get a pointer to the stored string mapped * by 'key' diff --git a/qdict.h b/qdict.h index 5fef1ea4ea..2eaf6d54d3 100644 --- a/qdict.h +++ b/qdict.h @@ -40,6 +40,7 @@ void qdict_iter(const QDict *qdict, 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); +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 err_value);