diff options
author | Eduardo Habkost <ehabkost@redhat.com> | 2015-08-20 14:54:36 -0700 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2015-09-19 16:39:28 +0200 |
commit | 98cec76a7076c4a38e16f1a9de170a7942b3be54 (patch) | |
tree | 22f0ef15c6c434a10033aeaf77717851e4fc3127 /hw/core | |
parent | dcb3d601115eed77aef543fe3a920adc17544e06 (diff) | |
download | hqemu-98cec76a7076c4a38e16f1a9de170a7942b3be54.zip hqemu-98cec76a7076c4a38e16f1a9de170a7942b3be54.tar.gz |
machine: Set MachineClass::name automatically
Now all TYPE_MACHINE subclasses use MACHINE_TYPE_NAME to generate the
class name. So instead of requiring each subclass to set
MachineClass::name manually, we can now set it automatically at the
TYPE_MACHINE class_base_init() function.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Marcel Apfelbaum <marcel@redhat.com>
[AF/ehabkost: Updated for s390-ccw machines]
[AF: Cleanup of intermediate virt and vexpress name handling]
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'hw/core')
-rw-r--r-- | hw/core/machine.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/core/machine.c b/hw/core/machine.c index 3c1f248..f4db340 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -319,8 +319,11 @@ static void machine_class_init(ObjectClass *oc, void *data) static void machine_class_base_init(ObjectClass *oc, void *data) { if (!object_class_is_abstract(oc)) { + MachineClass *mc = MACHINE_CLASS(oc); const char *cname = object_class_get_name(oc); assert(g_str_has_suffix(cname, TYPE_MACHINE_SUFFIX)); + mc->name = g_strndup(cname, + strlen(cname) - strlen(TYPE_MACHINE_SUFFIX)); } } |