On 10/04/2017 07:08 AM, 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: Philippe Mathieu-Daudé <f4...@amsat.org> > --- > 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 76a5e3a..ce25567 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 3e18537..f4c377a 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) { >