All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 5/9] qom: add generic string parsing/printing
Date: Tue, 21 Feb 2012 21:47:06 +0100	[thread overview]
Message-ID: <4F4402CA.2080206@suse.de> (raw)
In-Reply-To: <1328797918-1316-6-git-send-email-pbonzini@redhat.com>

Am 09.02.2012 15:31, schrieb Paolo Bonzini:
> Add generic property accessors that take a string and parse it
> appropriately for the property type.  All the magic here is done
> by the new string-based visitors.
> 
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  include/qemu/object.h |   24 ++++++++++++++++++++++++
>  qom/object.c          |   24 ++++++++++++++++++++++++
>  2 files changed, 48 insertions(+), 0 deletions(-)
> 
> diff --git a/include/qemu/object.h b/include/qemu/object.h
> index 7d50da9..af071eb 100644
> --- a/include/qemu/object.h
> +++ b/include/qemu/object.h
> @@ -730,6 +730,30 @@ void object_property_set(Object *obj, struct Visitor *v, const char *name,
>                           struct Error **errp);
>  
>  /**
> + * object_property_parse:
> + * @obj: the object
> + * @string: the string that will be used to parse the property value.
> + * @name: the name of the property
> + * @errp: returns an error if this function fails
> + *
> + * Parses a string and writes the result into a property of an object.
> + */
> +void object_property_parse(Object *obj, const char *string,
> +                           const char *name, struct Error **errp);
> +
> +/**
> + * object_property_set:
> + * @obj: the object
> + * @name: the name of the property
> + * @errp: returns an error if this function fails
> + *
> + * Returns a string representation of the value of the property.  The

 * Returns: for gtk-doc.

> + * caller shall free the string.
> + */
> +char *object_property_print(Object *obj, const char *name,
> +                            struct Error **errp);
> +
> +/**
>   * @object_property_get_type:

(This non-PULL version will conflict here.)

>   * @obj: the object
>   * @name: the name of the property
> diff --git a/qom/object.c b/qom/object.c
> index 5e5b261..97d898f 100644
> --- a/qom/object.c
> +++ b/qom/object.c

> @@ -782,6 +784,28 @@ int64_t object_property_get_int(Object *obj, const char *name,
>      return retval;
>  }
>  
> +void object_property_parse(Object *obj, const char *string,
> +                           const char *name, Error **errp)
> +{
> +    StringInputVisitor *mi;

Curious: where does mi/mo come from?

> +    mi = string_input_visitor_new(string);
> +    object_property_set(obj, string_input_get_visitor(mi), name, errp);
> +
> +    string_input_visitor_cleanup(mi);
> +}
> +
> +char *object_property_print(Object *obj, const char *name,
> +                            Error **errp)
> +{
> +    StringOutputVisitor *mo;
> +    char *string;
> +
> +    mo = string_output_visitor_new();
> +    object_property_get(obj, string_output_get_visitor(mo), name, NULL);
> +    string = string_output_get_string(mo);
> +    string_output_visitor_cleanup(mo);
> +    return string;
> +}

Empty line please. Otherwise Liked-by: Andreas Färber <afaerber@suse.de>

>  const char *object_property_get_type(Object *obj, const char *name, Error **errp)
>  {
>      ObjectProperty *prop = object_property_find(obj, name);

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2012-02-21 20:47 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-09 14:31 [Qemu-devel] [PATCH 0/9] qdev deconstruction, command-line episode Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 1/9] qapi: allow sharing enum implementation across visitors Paolo Bonzini
2012-02-21 20:31   ` Andreas Färber
2012-02-22  7:30     ` Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 2/9] qapi: drop qmp_input_end_optional Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 3/9] qapi: add string-based visitors Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 4/9] qapi: add tests for " Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 5/9] qom: add generic string parsing/printing Paolo Bonzini
2012-02-21 20:47   ` Andreas Färber [this message]
2012-02-22  7:31     ` Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 6/9] qdev: accept both strings and integers for PCI addresses Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 7/9] qdev: accept hex properties only if prefixed by 0x Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 8/9] qdev: use built-in QOM string parser Paolo Bonzini
2012-02-09 14:31 ` [Qemu-devel] [PATCH 9/9] qdev: drop unnecessary parse/print methods Paolo Bonzini
2012-02-21 17:13 ` [Qemu-devel] [PULL v2 0/9] qdev deconstruction, command-line episode Paolo Bonzini
2012-02-22 14:44   ` Anthony Liguori

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=4F4402CA.2080206@suse.de \
    --to=afaerber@suse.de \
    --cc=aliguori@us.ibm.com \
    --cc=pbonzini@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.