On Thu, Oct 05, 2017 at 06:24:29PM +0200, Igor Mammedov wrote: > it will help to remove code duplication of registration > static types in places that have open coded loop to > perform batch type registering. > > Signed-off-by: Igor Mammedov <imamm...@redhat.com> > Reviewed-by: Eduardo Habkost <ehabk...@redhat.com> > Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>
Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > --- > include/qom/object.h | 10 ++++++++++ > qom/object.c | 9 +++++++++ > 2 files changed, 19 insertions(+) > > diff --git a/include/qom/object.h b/include/qom/object.h > index a707b67..9a2369c 100644 > --- a/include/qom/object.h > +++ b/include/qom/object.h > @@ -789,6 +789,16 @@ Type type_register_static(const TypeInfo *info); > Type type_register(const TypeInfo *info); > > /** > + * type_register_static_array: > + * @infos: The array of the new type #TypeInfo structures. > + * @nr_infos: number of entries in @infos > + * > + * @infos and all of the strings it points to should exist for the life time > + * that the type is registered. > + */ > +void type_register_static_array(const TypeInfo *infos, int nr_infos); > + > +/** > * object_class_dynamic_cast_assert: > * @klass: The #ObjectClass to attempt to cast. > * @typename: The QOM typename of the class to cast to. > diff --git a/qom/object.c b/qom/object.c > index 6a7bd92..c58c52d 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -151,6 +151,15 @@ TypeImpl *type_register_static(const TypeInfo *info) > return type_register(info); > } > > +void type_register_static_array(const TypeInfo *infos, int nr_infos) > +{ > + int i; > + > + for (i = 0; i < nr_infos; i++) { > + type_register_static(&infos[i]); > + } > +} > + > static TypeImpl *type_get_by_name(const char *name) > { > if (name == NULL) { -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature