1 #include "qom/object_interfaces.h" 2 #include "qemu/module.h" 3 4 void user_creatable_complete(Object *obj, Error **errp) 5 { 6 7 UserCreatableClass *ucc; 8 UserCreatable *uc = 9 (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); 10 11 if (!uc) { 12 return; 13 } 14 15 ucc = USER_CREATABLE_GET_CLASS(uc); 16 if (ucc->complete) { 17 ucc->complete(uc, errp); 18 } 19 } 20 21 static void register_types(void) 22 { 23 static const TypeInfo uc_interface_info = { 24 .name = TYPE_USER_CREATABLE, 25 .parent = TYPE_INTERFACE, 26 .class_size = sizeof(UserCreatableClass), 27 }; 28 29 type_register_static(&uc_interface_info); 30 } 31 32 type_init(register_types) 33