qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Luiz Capitulino <lcapitulino@redhat.com>
To: qemu-devel@nongnu.org
Cc: armbru@redhat.com
Subject: [Qemu-devel] [PATCH 03/14] QDict: Introduce functions to retrieve QDictEntry values
Date: Thu, 24 Jun 2010 18:33:29 -0300	[thread overview]
Message-ID: <1277415220-17810-4-git-send-email-lcapitulino@redhat.com> (raw)
In-Reply-To: <1277415220-17810-1-git-send-email-lcapitulino@redhat.com>

Next commit will introduce a new QDict iteration API which
returns QDictEntry entries, but we don't want users to directly
access its members since QDictEntry should be private to QDict.

In the near future this kind of data type will be turned into a
forward reference.

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
---
 qdict.c |   21 +++++++++++++++++++++
 qdict.h |    2 ++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/qdict.c b/qdict.c
index 71be2eb..c467763 100644
--- a/qdict.c
+++ b/qdict.c
@@ -83,6 +83,27 @@ static QDictEntry *alloc_entry(const char *key, QObject *value)
 }
 
 /**
+ * qdict_entry_value(): Return qdict entry value
+ *
+ * Return weak reference.
+ */
+QObject *qdict_entry_value(const QDictEntry *entry)
+{
+    return entry->value;
+}
+
+/**
+ * qdict_entry_key(): Return qdict entry key
+ *
+ * Return a *pointer* to the string, it has to be duplicated before being
+ * stored.
+ */
+const char *qdict_entry_key(const QDictEntry *entry)
+{
+    return entry->key;
+}
+
+/**
  * qdict_find(): List lookup function
  */
 static QDictEntry *qdict_find(const QDict *qdict,
diff --git a/qdict.h b/qdict.h
index dcd2b29..0c8de3c 100644
--- a/qdict.h
+++ b/qdict.h
@@ -34,6 +34,8 @@ typedef struct QDict {
 
 /* Object API */
 QDict *qdict_new(void);
+const char *qdict_entry_key(const QDictEntry *entry);
+QObject *qdict_entry_value(const QDictEntry *entry);
 size_t qdict_size(const QDict *qdict);
 void qdict_put_obj(QDict *qdict, const char *key, QObject *value);
 void qdict_del(QDict *qdict, const char *key);
-- 
1.7.1.359.gd0b8d

  parent reply	other threads:[~2010-06-24 21:33 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-24 21:33 [Qemu-devel] [PATCH v3 00/14]: QMP: Replace client argument checker Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 01/14] QDict: Rename 'err_value' Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 02/14] QDict: Small terminology change Luiz Capitulino
2010-06-24 21:33 ` Luiz Capitulino [this message]
2010-06-24 21:33 ` [Qemu-devel] [PATCH 04/14] QDict: Introduce new iteration API Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 05/14] check-qdict: Introduce test for the " Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 06/14] QDict: Introduce qdict_get_try_bool() Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 07/14] Monitor: handle optional '-' arg as a bool Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 08/14] QMP: New argument checker (first part) Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 09/14] QMP: New argument checker (second part) Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 10/14] QMP: Drop old client argument checker Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 11/14] QError: Introduce QERR_QMP_EXTRA_MEMBER Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 12/14] QMP: Introduce qmp_check_input_obj() Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 13/14] QMP: Drop old input object checking Luiz Capitulino
2010-06-24 21:33 ` [Qemu-devel] [PATCH 14/14] QMP: handle_qmp_command(): Small cleanup Luiz Capitulino
2010-06-24 21:48 ` [Qemu-devel] [PATCH v3 00/14]: QMP: Replace client argument checker Luiz Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1277415220-17810-4-git-send-email-lcapitulino@redhat.com \
    --to=lcapitulino@redhat.com \
    --cc=armbru@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).