mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2025-01-22 22:11:11 +00:00
qom: introduce type_register_static_array()
it will help to remove code duplication of registration static types in places that have open coded loop to perform batch type registering. Backports commit aa04c9d20704fa5b9ab239d5111adbcce5f49808 from qemu
This commit is contained in:
parent
0c06666800
commit
c97583fc42
|
@ -675,6 +675,16 @@ Type type_register_static(struct uc_struct *uc, const TypeInfo *info);
|
|||
*/
|
||||
Type type_register(struct uc_struct *uc, 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(struct uc_struct *uc, const TypeInfo *infos, int nr_infos);
|
||||
|
||||
/**
|
||||
* object_class_dynamic_cast_assert:
|
||||
* @klass: The #ObjectClass to attempt to cast.
|
||||
|
|
|
@ -145,6 +145,15 @@ TypeImpl *type_register_static(struct uc_struct *uc, const TypeInfo *info)
|
|||
return type_register(uc, info);
|
||||
}
|
||||
|
||||
void type_register_static_array(struct uc_struct *uc, const TypeInfo *infos, int nr_infos)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_infos; i++) {
|
||||
type_register_static(uc, &infos[i]);
|
||||
}
|
||||
}
|
||||
|
||||
static TypeImpl *type_get_by_name(struct uc_struct *uc, const char *name)
|
||||
{
|
||||
if (name == NULL) {
|
||||
|
|
Loading…
Reference in a new issue