#include "qom/object_interfaces.h" #include "qemu/module.h" void user_creatable_complete(Object *obj, Error **errp) { UserCreatableClass *ucc; UserCreatable *uc = (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); if (!uc) { return; } ucc = USER_CREATABLE_GET_CLASS(uc); if (ucc->complete) { ucc->complete(uc, errp); } } static void register_types(void) { static const TypeInfo uc_interface_info = { .name = TYPE_USER_CREATABLE, .parent = TYPE_INTERFACE, .class_size = sizeof(UserCreatableClass), }; type_register_static(&uc_interface_info); } type_init(register_types)