|
From: | Avi Kivity |
Subject: | [Qemu-devel] Re: [PATCH 04/29] Introduce QDict |
Date: | Thu, 20 Aug 2009 17:07:25 +0300 |
User-agent: | Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Lightning/1.0pre Thunderbird/3.0b3 |
On 08/20/2009 04:57 PM, Luiz Capitulino wrote:
On Thu, 20 Aug 2009 10:57:54 +0300 Avi Kivity<address@hidden> wrote:On 08/20/2009 02:07 AM, Luiz Capitulino wrote:QDict is a high-level dictionary data type that can be used to store a collection of QObjects. A unique key is associated with only one QObject. The following functions are available: - qdict_new() Create a new dictionary - qdict_add() Add a new 'key:object' pairqdict_put() is both symmetrical with qdict_get(), and also conveys the fact that you can replace an existing key/value.Would it be useful in the current Monitor code? If so, how?
The current code, no, but once we read qdicts from the monitor, you need to be able to handle { a: 1, a: 2 }.
+ */ +int qdict_get_int(const QDict *qdict, const char *key) +{ + QObject *obj = qdict_get_obj(qdict, key, QTYPE_QINT); + return qint_to_int(qobject_to_qint(obj)); +}This assumption does not hold if the dict came from a user.Then the user has to know what he or she is doing. :)
They don't, as a rule.
The problem with high-level functions that receive a QObject but return a plain int is: what do you return if QObject is not an QInt?
Pass a default value to return. -- error compiling committee.c: too many arguments to function
[Prev in Thread] | Current Thread | [Next in Thread] |