[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 RFC 04/34] qom: add object_new_propv / object
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v1 RFC 04/34] qom: add object_new_propv / object_new_proplist constructors |
Date: |
Fri, 17 Apr 2015 16:16:15 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Fri, Apr 17, 2015 at 04:55:26PM +0200, Paolo Bonzini wrote:
>
>
> On 17/04/2015 16:22, Daniel P. Berrange wrote:
> > +
> > +Object *object_new_proplist(const char *typename,
> > + const char *id,
> > + Error **errp,
> > + va_list vargs)
> > +{
> > + Object *obj;
> > + const char *propname;
> > +
> > + obj = object_new(typename);
> > +
> > + if (object_class_is_abstract(object_get_class(obj))) {
> > + error_setg(errp, "object type '%s' is abstract", typename);
> > + goto error;
> > + }
> > +
> > + propname = va_arg(vargs, char *);
> > + while (propname != NULL) {
> > + const char *value = va_arg(vargs, char *);
> > +
> > + object_property_parse(obj, value, propname, errp);
> > + if (*errp) {
> > + goto error;
> > + }
> > + propname = va_arg(vargs, char *);
> > + }
> > +
> > + object_property_add_child(container_get(object_get_root(), "/objects"),
> > + id, obj, errp);
>
> I would pass the parent as an additional argument to
> object_new_proplist(). Otherwise looks good.
Yep, that does rather make sense for flexibility.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
- [Qemu-devel] [PATCH v1 RFC 00/34] Generic support for TLS protocol & I/O channels, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 01/34] ui: remove check for failure of qemu_acl_init(), Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 02/34] qom: document user creatable object types in help text, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 03/34] qom: create objects in two phases, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 04/34] qom: add object_new_propv / object_new_proplist constructors, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 05/34] qom: make enum string tables const-correct, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 07/34] qom: don't pass string table to object_get_enum method, Daniel P. Berrange, 2015/04/17
- [Qemu-devel] [PATCH v1 RFC 06/34] qom: add a object_property_add_enum helper method, Daniel P. Berrange, 2015/04/17