qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 04/29] Introduce QDict


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' pair

qdict_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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]