]>
Commit | Line | Data |
---|---|---|
269e09f3 IM |
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 | ||
d6edb155 LM |
21 | bool user_creatable_can_be_deleted(UserCreatable *uc, Error **errp) |
22 | { | |
23 | ||
24 | UserCreatableClass *ucc = USER_CREATABLE_GET_CLASS(uc); | |
25 | ||
26 | if (ucc->can_be_deleted) { | |
27 | return ucc->can_be_deleted(uc, errp); | |
28 | } else { | |
29 | return true; | |
30 | } | |
31 | } | |
32 | ||
269e09f3 IM |
33 | static void register_types(void) |
34 | { | |
35 | static const TypeInfo uc_interface_info = { | |
36 | .name = TYPE_USER_CREATABLE, | |
37 | .parent = TYPE_INTERFACE, | |
38 | .class_size = sizeof(UserCreatableClass), | |
39 | }; | |
40 | ||
41 | type_register_static(&uc_interface_info); | |
42 | } | |
43 | ||
44 | type_init(register_types) |