]>
Commit | Line | Data |
---|---|---|
9bbc853b | 1 | #include "qemu/osdep.h" |
269e09f3 IM |
2 | #include "qom/object_interfaces.h" |
3 | #include "qemu/module.h" | |
4 | ||
5 | void user_creatable_complete(Object *obj, Error **errp) | |
6 | { | |
7 | ||
8 | UserCreatableClass *ucc; | |
9 | UserCreatable *uc = | |
10 | (UserCreatable *)object_dynamic_cast(obj, TYPE_USER_CREATABLE); | |
11 | ||
12 | if (!uc) { | |
13 | return; | |
14 | } | |
15 | ||
16 | ucc = USER_CREATABLE_GET_CLASS(uc); | |
17 | if (ucc->complete) { | |
18 | ucc->complete(uc, errp); | |
19 | } | |
20 | } | |
21 | ||
d6edb155 LM |
22 | bool user_creatable_can_be_deleted(UserCreatable *uc, Error **errp) |
23 | { | |
24 | ||
25 | UserCreatableClass *ucc = USER_CREATABLE_GET_CLASS(uc); | |
26 | ||
27 | if (ucc->can_be_deleted) { | |
28 | return ucc->can_be_deleted(uc, errp); | |
29 | } else { | |
30 | return true; | |
31 | } | |
32 | } | |
33 | ||
269e09f3 IM |
34 | static void register_types(void) |
35 | { | |
36 | static const TypeInfo uc_interface_info = { | |
37 | .name = TYPE_USER_CREATABLE, | |
38 | .parent = TYPE_INTERFACE, | |
39 | .class_size = sizeof(UserCreatableClass), | |
40 | }; | |
41 | ||
42 | type_register_static(&uc_interface_info); | |
43 | } | |
44 | ||
45 | type_init(register_types) |